diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/ata/pata_pdc2027x.c | 6 | ||||
-rw-r--r-- | drivers/char/rtc.c | 5 | ||||
-rw-r--r-- | drivers/media/video/videodev.c | 2 | ||||
-rw-r--r-- | drivers/net/qla3xxx.c | 49 | ||||
-rw-r--r-- | drivers/net/qla3xxx.h | 2 | ||||
-rw-r--r-- | drivers/net/sunlance.c | 10 | ||||
-rw-r--r-- | drivers/scsi/aic94xx/aic94xx.h | 2 | ||||
-rw-r--r-- | drivers/scsi/aic94xx/aic94xx_hwi.c | 8 | ||||
-rw-r--r-- | drivers/scsi/aic94xx/aic94xx_hwi.h | 6 | ||||
-rw-r--r-- | drivers/scsi/aic94xx/aic94xx_seq.c | 2 | ||||
-rw-r--r-- | drivers/scsi/aic94xx/aic94xx_task.c | 10 | ||||
-rw-r--r-- | drivers/scsi/libsas/sas_scsi_host.c | 2 | ||||
-rw-r--r-- | drivers/scsi/scsi.c | 16 | ||||
-rw-r--r-- | drivers/video/fbsysfs.c | 12 |
14 files changed, 74 insertions, 58 deletions
diff --git a/drivers/ata/pata_pdc2027x.c b/drivers/ata/pata_pdc2027x.c index 56b8c1ee293..31ab9c88620 100644 --- a/drivers/ata/pata_pdc2027x.c +++ b/drivers/ata/pata_pdc2027x.c @@ -242,7 +242,7 @@ MODULE_DEVICE_TABLE(pci, pdc2027x_pci_tbl); * @ap: Port * @offset: offset from mmio base */ -static inline void* port_mmio(struct ata_port *ap, unsigned int offset) +static inline void __iomem *port_mmio(struct ata_port *ap, unsigned int offset) { return ap->host->mmio_base + ap->port_no * 0x100 + offset; } @@ -253,7 +253,7 @@ static inline void* port_mmio(struct ata_port *ap, unsigned int offset) * @adev: device * @offset: offset from mmio base */ -static inline void* dev_mmio(struct ata_port *ap, struct ata_device *adev, unsigned int offset) +static inline void __iomem *dev_mmio(struct ata_port *ap, struct ata_device *adev, unsigned int offset) { u8 adj = (adev->devno) ? 0x08 : 0x00; return port_mmio(ap, offset) + adj; @@ -758,7 +758,7 @@ static int __devinit pdc2027x_init_one(struct pci_dev *pdev, const struct pci_de struct ata_probe_ent *probe_ent = NULL; unsigned long base; - void *mmio_base; + void __iomem *mmio_base; int rc; if (!printed_version++) diff --git a/drivers/char/rtc.c b/drivers/char/rtc.c index 6e6a7c7a7ef..ab6429b4a84 100644 --- a/drivers/char/rtc.c +++ b/drivers/char/rtc.c @@ -209,11 +209,12 @@ static const unsigned char days_in_mo[] = */ static inline unsigned char rtc_is_updating(void) { + unsigned long flags; unsigned char uip; - spin_lock_irq(&rtc_lock); + spin_lock_irqsave(&rtc_lock, flags); uip = (CMOS_READ(RTC_FREQ_SELECT) & RTC_UIP); - spin_unlock_irq(&rtc_lock); + spin_unlock_irqrestore(&rtc_lock, flags); return uip; } diff --git a/drivers/media/video/videodev.c b/drivers/media/video/videodev.c index 88bf2af2a0e..edd7b83c346 100644 --- a/drivers/media/video/videodev.c +++ b/drivers/media/video/videodev.c @@ -836,7 +836,7 @@ static int __video_do_ioctl(struct inode *inode, struct file *file, break; } - if (index<=0 || index >= vfd->tvnormsize) { + if (index < 0 || index >= vfd->tvnormsize) { ret=-EINVAL; break; } diff --git a/drivers/net/qla3xxx.c b/drivers/net/qla3xxx.c index 09a481a7183..15747184634 100644 --- a/drivers/net/qla3xxx.c +++ b/drivers/net/qla3xxx.c @@ -189,31 +189,31 @@ static u32 ql_read_page0_reg(struct ql3_adapter *qdev, u32 __iomem *reg) } static void ql_write_common_reg_l(struct ql3_adapter *qdev, - u32 * reg, u32 value) + u32 __iomem *reg, u32 value) { unsigned long hw_flags; spin_lock_irqsave(&qdev->hw_lock, hw_flags); - writel(value, (u32 *) reg); + writel(value, reg); readl(reg); spin_unlock_irqrestore(&qdev->hw_lock, hw_flags); return; } static void ql_write_common_reg(struct ql3_adapter *qdev, - u32 * reg, u32 value) + u32 __iomem *reg, u32 value) { - writel(value, (u32 *) reg); + writel(value, reg); readl(reg); return; } static void ql_write_page0_reg(struct ql3_adapter *qdev, - u32 * reg, u32 value) + u32 __iomem *reg, u32 value) { if (qdev->current_page != 0) ql_set_register_page(qdev,0); - writel(value, (u32 *) reg); + writel(value, reg); readl(reg); return; } @@ -222,11 +222,11 @@ static void ql_write_page0_reg(struct ql3_adapter *qdev, * Caller holds hw_lock. Only called during init. */ static void ql_write_page1_reg(struct ql3_adapter *qdev, - u32 * reg, u32 value) + u32 __iomem *reg, u32 value) { if (qdev->current_page != 1) ql_set_register_page(qdev,1); - writel(value, (u32 *) reg); + writel(value, reg); readl(reg); return; } @@ -235,11 +235,11 @@ static void ql_write_page1_reg(struct ql3_adapter *qdev, * Caller holds hw_lock. Only called during init. */ static void ql_write_page2_reg(struct ql3_adapter *qdev, - u32 * reg, u32 value) + u32 __iomem *reg, u32 value) { if (qdev->current_page != 2) ql_set_register_page(qdev,2); - writel(value, (u32 *) reg); + writel(value, reg); readl(reg); return; } @@ -1687,7 +1687,7 @@ static void ql_update_lrg_bufq_prod_index(struct ql3_adapter *qdev) qdev->lrg_buf_next_free = lrg_buf_q_ele; ql_write_common_reg(qdev, - (u32 *) & port_regs->CommonRegs. + &port_regs->CommonRegs. rxLargeQProducerIndex, qdev->lrg_buf_q_producer_index); } @@ -1924,13 +1924,13 @@ static int ql_tx_rx_clean(struct ql3_adapter *qdev, } ql_write_common_reg(qdev, - (u32 *) & port_regs->CommonRegs. + &port_regs->CommonRegs. rxSmallQProducerIndex, qdev->small_buf_q_producer_index); } ql_write_common_reg(qdev, - (u32 *) & port_regs->CommonRegs.rspQConsumerIndex, + &port_regs->CommonRegs.rspQConsumerIndex, qdev->rsp_consumer_index); spin_unlock_irqrestore(&qdev->hw_lock, hw_flags); @@ -2057,7 +2057,7 @@ static int ql3xxx_send(struct sk_buff *skb, struct net_device *ndev) qdev->req_producer_index = 0; wmb(); ql_write_common_reg_l(qdev, - (u32 *) & port_regs->CommonRegs.reqQProducerIndex, + &port_regs->CommonRegs.reqQProducerIndex, qdev->req_producer_index); ndev->trans_start = jiffies; @@ -2474,8 +2474,8 @@ static void ql_free_mem_resources(struct ql3_adapter *qdev) static int ql_init_misc_registers(struct ql3_adapter *qdev) { - struct ql3xxx_local_ram_registers *local_ram = - (struct ql3xxx_local_ram_registers *)qdev->mem_map_registers; + struct ql3xxx_local_ram_registers __iomem *local_ram = + (void __iomem *)qdev->mem_map_registers; if(ql_sem_spinlock(qdev, QL_DDR_RAM_SEM_MASK, (QL_RESOURCE_BITS_BASE_CODE | (qdev->mac_index) * @@ -2535,7 +2535,7 @@ static int ql_adapter_initialize(struct ql3_adapter *qdev) u32 value; struct ql3xxx_port_registers __iomem *port_regs = qdev->mem_map_registers; struct ql3xxx_host_memory_registers __iomem *hmem_regs = - (struct ql3xxx_host_memory_registers *)port_regs; + (void __iomem *)port_regs; u32 delay = 10; int status = 0; @@ -2640,11 +2640,11 @@ static int ql_adapter_initialize(struct ql3_adapter *qdev) qdev->lrg_buf_free_tail = NULL; ql_write_common_reg(qdev, - (u32 *) & port_regs->CommonRegs. + &port_regs->CommonRegs. rxSmallQProducerIndex, qdev->small_buf_q_producer_index); ql_write_common_reg(qdev, - (u32 *) & port_regs->CommonRegs. + &port_regs->CommonRegs. rxLargeQProducerIndex, qdev->lrg_buf_q_producer_index); @@ -2787,7 +2787,7 @@ static int ql_adapter_reset(struct ql3_adapter *qdev) "%s: Issue soft reset to chip.\n", qdev->ndev->name); ql_write_common_reg(qdev, - (u32 *) & port_regs->CommonRegs.ispControlStatus, + &port_regs->CommonRegs.ispControlStatus, ((ISP_CONTROL_SR << 16) | ISP_CONTROL_SR)); /* Wait 3 seconds for reset to complete. */ @@ -2817,7 +2817,7 @@ static int ql_adapter_reset(struct ql3_adapter *qdev) printk(KERN_DEBUG PFX "ql_adapter_reset: clearing RI after reset.\n"); ql_write_common_reg(qdev, - (u32 *) & port_regs->CommonRegs. + &port_regs->CommonRegs. ispControlStatus, ((ISP_CONTROL_RI << 16) | ISP_CONTROL_RI)); } @@ -2825,7 +2825,7 @@ static int ql_adapter_reset(struct ql3_adapter *qdev) if (max_wait_time == 0) { /* Issue Force Soft Reset */ ql_write_common_reg(qdev, - (u32 *) & port_regs->CommonRegs. + &port_regs->CommonRegs. ispControlStatus, ((ISP_CONTROL_FSR << 16) | ISP_CONTROL_FSR)); @@ -3243,8 +3243,7 @@ static void ql_reset_work(struct ql3_adapter *qdev) "%s: clearing NRI after reset.\n", qdev->ndev->name); ql_write_common_reg(qdev, - (u32 *) & - port_regs-> + &port_regs-> CommonRegs. ispControlStatus, ((ISP_CONTROL_RI << @@ -3509,7 +3508,7 @@ static void __devexit ql3xxx_remove(struct pci_dev *pdev) qdev->workqueue = NULL; } - iounmap((void *)qdev->mmap_virt_base); + iounmap(qdev->mem_map_registers); pci_release_regions(pdev); pci_set_drvdata(pdev, NULL); free_netdev(ndev); diff --git a/drivers/net/qla3xxx.h b/drivers/net/qla3xxx.h index 9492cee6b08..65da2c0bfda 100644 --- a/drivers/net/qla3xxx.h +++ b/drivers/net/qla3xxx.h @@ -1093,7 +1093,7 @@ struct ql3_adapter { spinlock_t hw_lock; /* PCI Bus Relative Register Addresses */ - u8 *mmap_virt_base; /* stores return value from ioremap() */ + u8 __iomem *mmap_virt_base; /* stores return value from ioremap() */ struct ql3xxx_port_registers __iomem *mem_map_registers; u32 current_page; /* tracks current register page */ diff --git a/drivers/net/sunlance.c b/drivers/net/sunlance.c index 77670741e10..feb42db10ee 100644 --- a/drivers/net/sunlance.c +++ b/drivers/net/sunlance.c @@ -1323,9 +1323,9 @@ static const struct ethtool_ops sparc_lance_ethtool_ops = { .get_link = sparc_lance_get_link, }; -static int __init sparc_lance_probe_one(struct sbus_dev *sdev, - struct sbus_dma *ledma, - struct sbus_dev *lebuffer) +static int __devinit sparc_lance_probe_one(struct sbus_dev *sdev, + struct sbus_dma *ledma, + struct sbus_dev *lebuffer) { static unsigned version_printed; struct net_device *dev; @@ -1515,7 +1515,7 @@ fail: } /* On 4m, find the associated dma for the lance chip */ -static inline struct sbus_dma *find_ledma(struct sbus_dev *sdev) +static struct sbus_dma * __devinit find_ledma(struct sbus_dev *sdev) { struct sbus_dma *p; @@ -1533,7 +1533,7 @@ static inline struct sbus_dma *find_ledma(struct sbus_dev *sdev) /* Find all the lance cards on the system and initialize them */ static struct sbus_dev sun4_sdev; -static int __init sparc_lance_init(void) +static int __devinit sparc_lance_init(void) { if ((idprom->id_machtype == (SM_SUN4|SM_4_330)) || (idprom->id_machtype == (SM_SUN4|SM_4_470))) { diff --git a/drivers/scsi/aic94xx/aic94xx.h b/drivers/scsi/aic94xx/aic94xx.h index 1bd5b4ecf3d..71a031df7a3 100644 --- a/drivers/scsi/aic94xx/aic94xx.h +++ b/drivers/scsi/aic94xx/aic94xx.h @@ -94,7 +94,7 @@ void asd_dev_gone(struct domain_device *dev); void asd_invalidate_edb(struct asd_ascb *ascb, int edb_id); -int asd_execute_task(struct sas_task *, int num, unsigned long gfp_flags); +int asd_execute_task(struct sas_task *, int num, gfp_t gfp_flags); /* ---------- TMFs ---------- */ int asd_abort_task(struct sas_task *); diff --git a/drivers/scsi/aic94xx/aic94xx_hwi.c b/drivers/scsi/aic94xx/aic94xx_hwi.c index a2420135110..1d8c5e5f442 100644 --- a/drivers/scsi/aic94xx/aic94xx_hwi.c +++ b/drivers/scsi/aic94xx/aic94xx_hwi.c @@ -267,7 +267,7 @@ static int asd_init_dl(struct asd_ha_struct *asd_ha) /* ---------- EDB and ESCB init ---------- */ -static int asd_alloc_edbs(struct asd_ha_struct *asd_ha, unsigned int gfp_flags) +static int asd_alloc_edbs(struct asd_ha_struct *asd_ha, gfp_t gfp_flags) { struct asd_seq_data *seq = &asd_ha->seq; int i; @@ -298,7 +298,7 @@ Err_unroll: } static int asd_alloc_escbs(struct asd_ha_struct *asd_ha, - unsigned int gfp_flags) + gfp_t gfp_flags) { struct asd_seq_data *seq = &asd_ha->seq; struct asd_ascb *escb; @@ -1028,7 +1028,7 @@ irqreturn_t asd_hw_isr(int irq, void *dev_id, struct pt_regs *regs) /* ---------- SCB handling ---------- */ static inline struct asd_ascb *asd_ascb_alloc(struct asd_ha_struct *asd_ha, - unsigned int gfp_flags) + gfp_t gfp_flags) { extern kmem_cache_t *asd_ascb_cache; struct asd_seq_data *seq = &asd_ha->seq; @@ -1086,7 +1086,7 @@ undo: */ struct asd_ascb *asd_ascb_alloc_list(struct asd_ha_struct *asd_ha, int *num, - unsigned int gfp_flags) + gfp_t gfp_flags) { struct asd_ascb *first = NULL; diff --git a/drivers/scsi/aic94xx/aic94xx_hwi.h b/drivers/scsi/aic94xx/aic94xx_hwi.h index c7d505388fe..8498144aa5e 100644 --- a/drivers/scsi/aic94xx/aic94xx_hwi.h +++ b/drivers/scsi/aic94xx/aic94xx_hwi.h @@ -242,7 +242,7 @@ struct asd_ha_struct { /* ---------- DMA allocs ---------- */ -static inline struct asd_dma_tok *asd_dmatok_alloc(unsigned int flags) +static inline struct asd_dma_tok *asd_dmatok_alloc(gfp_t flags) { return kmem_cache_alloc(asd_dma_token_cache, flags); } @@ -254,7 +254,7 @@ static inline void asd_dmatok_free(struct asd_dma_tok *token) static inline struct asd_dma_tok *asd_alloc_coherent(struct asd_ha_struct * asd_ha, size_t size, - unsigned int flags) + gfp_t flags) { struct asd_dma_tok *token = asd_dmatok_alloc(flags); if (token) { @@ -376,7 +376,7 @@ irqreturn_t asd_hw_isr(int irq, void *dev_id, struct pt_regs *regs); struct asd_ascb *asd_ascb_alloc_list(struct asd_ha_struct *asd_ha, int *num, - unsigned int gfp_mask); + gfp_t gfp_mask); int asd_post_ascb_list(struct asd_ha_struct *asd_ha, struct asd_ascb *ascb, int num); diff --git a/drivers/scsi/aic94xx/aic94xx_seq.c b/drivers/scsi/aic94xx/aic94xx_seq.c index d9b6da5fd06..56e4b3ba6a0 100644 --- a/drivers/scsi/aic94xx/aic94xx_seq.c +++ b/drivers/scsi/aic94xx/aic94xx_seq.c @@ -764,7 +764,7 @@ static void asd_init_lseq_mdp(struct asd_ha_struct *asd_ha, int lseq) asd_write_reg_word(asd_ha, LmSEQ_FIRST_INV_SCB_SITE(lseq), (u16)last_scb_site_no+1); asd_write_reg_word(asd_ha, LmSEQ_INTEN_SAVE(lseq), - (u16) LmM0INTEN_MASK & 0xFFFF0000 >> 16); + (u16) ((LmM0INTEN_MASK & 0xFFFF0000) >> 16)); asd_write_reg_word(asd_ha, LmSEQ_INTEN_SAVE(lseq) + 2, (u16) LmM0INTEN_MASK & 0xFFFF); asd_write_reg_byte(asd_ha, LmSEQ_LINK_RST_FRM_LEN(lseq), 0); diff --git a/drivers/scsi/aic94xx/aic94xx_task.c b/drivers/scsi/aic94xx/aic94xx_task.c index 285e70dae93..d202ed5a670 100644 --- a/drivers/scsi/aic94xx/aic94xx_task.c +++ b/drivers/scsi/aic94xx/aic94xx_task.c @@ -53,7 +53,7 @@ static const u8 data_dir_flags[] = { static inline int asd_map_scatterlist(struct sas_task *task, struct sg_el *sg_arr, - unsigned long gfp_flags) + gfp_t gfp_flags) { struct asd_ascb *ascb = task->lldd_task; struct asd_ha_struct *asd_ha = ascb->ha; @@ -368,7 +368,7 @@ Again: /* ---------- ATA ---------- */ static int asd_build_ata_ascb(struct asd_ascb *ascb, struct sas_task *task, - unsigned long gfp_flags) + gfp_t gfp_flags) { struct domain_device *dev = task->dev; struct scb *scb; @@ -437,7 +437,7 @@ static void asd_unbuild_ata_ascb(struct asd_ascb *a) /* ---------- SMP ---------- */ static int asd_build_smp_ascb(struct asd_ascb *ascb, struct sas_task *task, - unsigned long gfp_flags) + gfp_t gfp_flags) { struct asd_ha_struct *asd_ha = ascb->ha; struct domain_device *dev = task->dev; @@ -487,7 +487,7 @@ static void asd_unbuild_smp_ascb(struct asd_ascb *a) /* ---------- SSP ---------- */ static int asd_build_ssp_ascb(struct asd_ascb *ascb, struct sas_task *task, - unsigned long gfp_flags) + gfp_t gfp_flags) { struct domain_device *dev = task->dev; struct scb *scb; @@ -550,7 +550,7 @@ static inline int asd_can_queue(struct asd_ha_struct *asd_ha, int num) } int asd_execute_task(struct sas_task *task, const int num, - unsigned long gfp_flags) + gfp_t gfp_flags) { int res = 0; LIST_HEAD(alist); diff --git a/drivers/scsi/libsas/sas_scsi_host.c b/drivers/scsi/libsas/sas_scsi_host.c index 43e0e4e3693..7f9e89bcac7 100644 --- a/drivers/scsi/libsas/sas_scsi_host.c +++ b/drivers/scsi/libsas/sas_scsi_host.c @@ -134,7 +134,7 @@ static enum task_attribute sas_scsi_get_task_attr(struct scsi_cmnd *cmd) static struct sas_task *sas_create_task(struct scsi_cmnd *cmd, struct domain_device *dev, - unsigned long gfp_flags) + gfp_t gfp_flags) { struct sas_task *task = sas_alloc_task(gfp_flags); struct scsi_lun lun; diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c index c51b5769eac..7a054f9d1ee 100644 --- a/drivers/scsi/scsi.c +++ b/drivers/scsi/scsi.c @@ -96,22 +96,26 @@ unsigned int scsi_logging_level; EXPORT_SYMBOL(scsi_logging_level); #endif +/* NB: These are exposed through /proc/scsi/scsi and form part of the ABI. + * You may not alter any existing entry (although adding new ones is + * encouraged once assigned by ANSI/INCITS T10 + */ static const char *const scsi_device_types[] = { - "Direct access ", - "Sequential access", + "Direct-Access ", + "Sequential-Access", "Printer ", "Processor ", "WORM ", - "CD/DVD ", + "CD-ROM ", "Scanner ", - "Optical memory ", - "Media changer ", + "Optical Device ", + "Medium Changer ", "Communications ", "ASC IT8 ", "ASC IT8 ", "RAID ", "Enclosure ", - "Direct access RBC", + "Direct-Access-RBC", "Optical card ", "Bridge controller", "Object storage ", diff --git a/drivers/video/fbsysfs.c b/drivers/video/fbsysfs.c index 4f78f234473..c151dcf6878 100644 --- a/drivers/video/fbsysfs.c +++ b/drivers/video/fbsysfs.c @@ -397,6 +397,12 @@ static ssize_t store_bl_curve(struct class_device *class_device, u8 tmp_curve[FB_BACKLIGHT_LEVELS]; unsigned int i; + /* Some drivers don't use framebuffer_alloc(), but those also + * don't have backlights. + */ + if (!fb_info || !fb_info->bl_dev) + return -ENODEV; + if (count != (FB_BACKLIGHT_LEVELS / 8 * 24)) return -EINVAL; @@ -430,6 +436,12 @@ static ssize_t show_bl_curve(struct class_device *class_device, char *buf) ssize_t len = 0; unsigned int i; + /* Some drivers don't use framebuffer_alloc(), but those also + * don't have backlights. + */ + if (!fb_info || !fb_info->bl_dev) + return -ENODEV; + mutex_lock(&fb_info->bl_mutex); for (i = 0; i < FB_BACKLIGHT_LEVELS; i += 8) len += snprintf(&buf[len], PAGE_SIZE, |