diff options
Diffstat (limited to 'drivers/char')
-rw-r--r-- | drivers/char/Kconfig | 6 | ||||
-rw-r--r-- | drivers/char/ipmi/ipmi_si_intf.c | 32 | ||||
-rw-r--r-- | drivers/char/ipmi/ipmi_si_sm.h | 2 | ||||
-rw-r--r-- | drivers/char/mbcs.c | 4 | ||||
-rw-r--r-- | drivers/char/mbcs.h | 4 | ||||
-rw-r--r-- | drivers/char/sonypi.c | 6 |
6 files changed, 27 insertions, 27 deletions
diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig index e162dab64ffd..5ed6515ae01f 100644 --- a/drivers/char/Kconfig +++ b/drivers/char/Kconfig | |||
@@ -153,7 +153,7 @@ config DIGIEPCA | |||
153 | 153 | ||
154 | config ESPSERIAL | 154 | config ESPSERIAL |
155 | tristate "Hayes ESP serial port support" | 155 | tristate "Hayes ESP serial port support" |
156 | depends on SERIAL_NONSTANDARD && ISA && BROKEN_ON_SMP | 156 | depends on SERIAL_NONSTANDARD && ISA && BROKEN_ON_SMP && ISA_DMA_API |
157 | help | 157 | help |
158 | This is a driver which supports Hayes ESP serial ports. Both single | 158 | This is a driver which supports Hayes ESP serial ports. Both single |
159 | port cards and multiport cards are supported. Make sure to read | 159 | port cards and multiport cards are supported. Make sure to read |
@@ -195,7 +195,7 @@ config ISI | |||
195 | 195 | ||
196 | config SYNCLINK | 196 | config SYNCLINK |
197 | tristate "Microgate SyncLink card support" | 197 | tristate "Microgate SyncLink card support" |
198 | depends on SERIAL_NONSTANDARD && PCI | 198 | depends on SERIAL_NONSTANDARD && PCI && ISA_DMA_API |
199 | help | 199 | help |
200 | Provides support for the SyncLink ISA and PCI multiprotocol serial | 200 | Provides support for the SyncLink ISA and PCI multiprotocol serial |
201 | adapters. These adapters support asynchronous and HDLC bit | 201 | adapters. These adapters support asynchronous and HDLC bit |
@@ -408,7 +408,7 @@ config SGI_TIOCX | |||
408 | 408 | ||
409 | config SGI_MBCS | 409 | config SGI_MBCS |
410 | tristate "SGI FPGA Core Services driver support" | 410 | tristate "SGI FPGA Core Services driver support" |
411 | depends on (IA64_SGI_SN2 || IA64_GENERIC) | 411 | depends on SGI_TIOCX |
412 | help | 412 | help |
413 | If you have an SGI Altix with an attached SABrick | 413 | If you have an SGI Altix with an attached SABrick |
414 | say Y or M here, otherwise say N. | 414 | say Y or M here, otherwise say N. |
diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c index 5419440087fd..298574e16061 100644 --- a/drivers/char/ipmi/ipmi_si_intf.c +++ b/drivers/char/ipmi/ipmi_si_intf.c | |||
@@ -1617,15 +1617,15 @@ typedef struct dmi_header | |||
1617 | u16 handle; | 1617 | u16 handle; |
1618 | } dmi_header_t; | 1618 | } dmi_header_t; |
1619 | 1619 | ||
1620 | static int decode_dmi(dmi_header_t *dm, int intf_num) | 1620 | static int decode_dmi(dmi_header_t __iomem *dm, int intf_num) |
1621 | { | 1621 | { |
1622 | u8 *data = (u8 *)dm; | 1622 | u8 __iomem *data = (u8 __iomem *)dm; |
1623 | unsigned long base_addr; | 1623 | unsigned long base_addr; |
1624 | u8 reg_spacing; | 1624 | u8 reg_spacing; |
1625 | u8 len = dm->length; | 1625 | u8 len = readb(&dm->length); |
1626 | dmi_ipmi_data_t *ipmi_data = dmi_data+intf_num; | 1626 | dmi_ipmi_data_t *ipmi_data = dmi_data+intf_num; |
1627 | 1627 | ||
1628 | ipmi_data->type = data[4]; | 1628 | ipmi_data->type = readb(&data[4]); |
1629 | 1629 | ||
1630 | memcpy(&base_addr, data+8, sizeof(unsigned long)); | 1630 | memcpy(&base_addr, data+8, sizeof(unsigned long)); |
1631 | if (len >= 0x11) { | 1631 | if (len >= 0x11) { |
@@ -1640,12 +1640,12 @@ static int decode_dmi(dmi_header_t *dm, int intf_num) | |||
1640 | } | 1640 | } |
1641 | /* If bit 4 of byte 0x10 is set, then the lsb for the address | 1641 | /* If bit 4 of byte 0x10 is set, then the lsb for the address |
1642 | is odd. */ | 1642 | is odd. */ |
1643 | ipmi_data->base_addr = base_addr | ((data[0x10] & 0x10) >> 4); | 1643 | ipmi_data->base_addr = base_addr | ((readb(&data[0x10]) & 0x10) >> 4); |
1644 | 1644 | ||
1645 | ipmi_data->irq = data[0x11]; | 1645 | ipmi_data->irq = readb(&data[0x11]); |
1646 | 1646 | ||
1647 | /* The top two bits of byte 0x10 hold the register spacing. */ | 1647 | /* The top two bits of byte 0x10 hold the register spacing. */ |
1648 | reg_spacing = (data[0x10] & 0xC0) >> 6; | 1648 | reg_spacing = (readb(&data[0x10]) & 0xC0) >> 6; |
1649 | switch(reg_spacing){ | 1649 | switch(reg_spacing){ |
1650 | case 0x00: /* Byte boundaries */ | 1650 | case 0x00: /* Byte boundaries */ |
1651 | ipmi_data->offset = 1; | 1651 | ipmi_data->offset = 1; |
@@ -1673,7 +1673,7 @@ static int decode_dmi(dmi_header_t *dm, int intf_num) | |||
1673 | ipmi_data->offset = 1; | 1673 | ipmi_data->offset = 1; |
1674 | } | 1674 | } |
1675 | 1675 | ||
1676 | ipmi_data->slave_addr = data[6]; | 1676 | ipmi_data->slave_addr = readb(&data[6]); |
1677 | 1677 | ||
1678 | if (is_new_interface(-1, ipmi_data->addr_space,ipmi_data->base_addr)) { | 1678 | if (is_new_interface(-1, ipmi_data->addr_space,ipmi_data->base_addr)) { |
1679 | dmi_data_entries++; | 1679 | dmi_data_entries++; |
@@ -1687,9 +1687,9 @@ static int decode_dmi(dmi_header_t *dm, int intf_num) | |||
1687 | 1687 | ||
1688 | static int dmi_table(u32 base, int len, int num) | 1688 | static int dmi_table(u32 base, int len, int num) |
1689 | { | 1689 | { |
1690 | u8 *buf; | 1690 | u8 __iomem *buf; |
1691 | struct dmi_header *dm; | 1691 | struct dmi_header __iomem *dm; |
1692 | u8 *data; | 1692 | u8 __iomem *data; |
1693 | int i=1; | 1693 | int i=1; |
1694 | int status=-1; | 1694 | int status=-1; |
1695 | int intf_num = 0; | 1695 | int intf_num = 0; |
@@ -1702,12 +1702,12 @@ static int dmi_table(u32 base, int len, int num) | |||
1702 | 1702 | ||
1703 | while(i<num && (data - buf) < len) | 1703 | while(i<num && (data - buf) < len) |
1704 | { | 1704 | { |
1705 | dm=(dmi_header_t *)data; | 1705 | dm=(dmi_header_t __iomem *)data; |
1706 | 1706 | ||
1707 | if((data-buf+dm->length) >= len) | 1707 | if((data-buf+readb(&dm->length)) >= len) |
1708 | break; | 1708 | break; |
1709 | 1709 | ||
1710 | if (dm->type == 38) { | 1710 | if (readb(&dm->type) == 38) { |
1711 | if (decode_dmi(dm, intf_num) == 0) { | 1711 | if (decode_dmi(dm, intf_num) == 0) { |
1712 | intf_num++; | 1712 | intf_num++; |
1713 | if (intf_num >= SI_MAX_DRIVERS) | 1713 | if (intf_num >= SI_MAX_DRIVERS) |
@@ -1715,8 +1715,8 @@ static int dmi_table(u32 base, int len, int num) | |||
1715 | } | 1715 | } |
1716 | } | 1716 | } |
1717 | 1717 | ||
1718 | data+=dm->length; | 1718 | data+=readb(&dm->length); |
1719 | while((data-buf) < len && (*data || data[1])) | 1719 | while((data-buf) < len && (readb(data)||readb(data+1))) |
1720 | data++; | 1720 | data++; |
1721 | data+=2; | 1721 | data+=2; |
1722 | i++; | 1722 | i++; |
diff --git a/drivers/char/ipmi/ipmi_si_sm.h b/drivers/char/ipmi/ipmi_si_sm.h index a0212b004016..62791dd42985 100644 --- a/drivers/char/ipmi/ipmi_si_sm.h +++ b/drivers/char/ipmi/ipmi_si_sm.h | |||
@@ -51,7 +51,7 @@ struct si_sm_io | |||
51 | /* Generic info used by the actual handling routines, the | 51 | /* Generic info used by the actual handling routines, the |
52 | state machine shouldn't touch these. */ | 52 | state machine shouldn't touch these. */ |
53 | void *info; | 53 | void *info; |
54 | void *addr; | 54 | void __iomem *addr; |
55 | int regspacing; | 55 | int regspacing; |
56 | int regsize; | 56 | int regsize; |
57 | int regshift; | 57 | int regshift; |
diff --git a/drivers/char/mbcs.c b/drivers/char/mbcs.c index ec7100556c50..ac9cfa9701ea 100644 --- a/drivers/char/mbcs.c +++ b/drivers/char/mbcs.c | |||
@@ -394,7 +394,7 @@ int mbcs_open(struct inode *ip, struct file *fp) | |||
394 | return -ENODEV; | 394 | return -ENODEV; |
395 | } | 395 | } |
396 | 396 | ||
397 | ssize_t mbcs_sram_read(struct file * fp, char *buf, size_t len, loff_t * off) | 397 | ssize_t mbcs_sram_read(struct file * fp, char __user *buf, size_t len, loff_t * off) |
398 | { | 398 | { |
399 | struct cx_dev *cx_dev = fp->private_data; | 399 | struct cx_dev *cx_dev = fp->private_data; |
400 | struct mbcs_soft *soft = cx_dev->soft; | 400 | struct mbcs_soft *soft = cx_dev->soft; |
@@ -419,7 +419,7 @@ ssize_t mbcs_sram_read(struct file * fp, char *buf, size_t len, loff_t * off) | |||
419 | } | 419 | } |
420 | 420 | ||
421 | ssize_t | 421 | ssize_t |
422 | mbcs_sram_write(struct file * fp, const char *buf, size_t len, loff_t * off) | 422 | mbcs_sram_write(struct file * fp, const char __user *buf, size_t len, loff_t * off) |
423 | { | 423 | { |
424 | struct cx_dev *cx_dev = fp->private_data; | 424 | struct cx_dev *cx_dev = fp->private_data; |
425 | struct mbcs_soft *soft = cx_dev->soft; | 425 | struct mbcs_soft *soft = cx_dev->soft; |
diff --git a/drivers/char/mbcs.h b/drivers/char/mbcs.h index 844644d201c5..e7fd47e43257 100644 --- a/drivers/char/mbcs.h +++ b/drivers/char/mbcs.h | |||
@@ -543,9 +543,9 @@ struct mbcs_soft { | |||
543 | }; | 543 | }; |
544 | 544 | ||
545 | extern int mbcs_open(struct inode *ip, struct file *fp); | 545 | extern int mbcs_open(struct inode *ip, struct file *fp); |
546 | extern ssize_t mbcs_sram_read(struct file *fp, char *buf, size_t len, | 546 | extern ssize_t mbcs_sram_read(struct file *fp, char __user *buf, size_t len, |
547 | loff_t * off); | 547 | loff_t * off); |
548 | extern ssize_t mbcs_sram_write(struct file *fp, const char *buf, size_t len, | 548 | extern ssize_t mbcs_sram_write(struct file *fp, const char __user *buf, size_t len, |
549 | loff_t * off); | 549 | loff_t * off); |
550 | extern loff_t mbcs_sram_llseek(struct file *filp, loff_t off, int whence); | 550 | extern loff_t mbcs_sram_llseek(struct file *filp, loff_t off, int whence); |
551 | extern int mbcs_gscr_mmap(struct file *fp, struct vm_area_struct *vma); | 551 | extern int mbcs_gscr_mmap(struct file *fp, struct vm_area_struct *vma); |
diff --git a/drivers/char/sonypi.c b/drivers/char/sonypi.c index c812191417c3..fd042060809a 100644 --- a/drivers/char/sonypi.c +++ b/drivers/char/sonypi.c | |||
@@ -1021,11 +1021,11 @@ static int sonypi_misc_ioctl(struct inode *ip, struct file *fp, | |||
1021 | ret = -EIO; | 1021 | ret = -EIO; |
1022 | break; | 1022 | break; |
1023 | } | 1023 | } |
1024 | if (copy_to_user((u8 *)arg, &val8, sizeof(val8))) | 1024 | if (copy_to_user(argp, &val8, sizeof(val8))) |
1025 | ret = -EFAULT; | 1025 | ret = -EFAULT; |
1026 | break; | 1026 | break; |
1027 | case SONYPI_IOCSFAN: | 1027 | case SONYPI_IOCSFAN: |
1028 | if (copy_from_user(&val8, (u8 *)arg, sizeof(val8))) { | 1028 | if (copy_from_user(&val8, argp, sizeof(val8))) { |
1029 | ret = -EFAULT; | 1029 | ret = -EFAULT; |
1030 | break; | 1030 | break; |
1031 | } | 1031 | } |
@@ -1038,7 +1038,7 @@ static int sonypi_misc_ioctl(struct inode *ip, struct file *fp, | |||
1038 | ret = -EIO; | 1038 | ret = -EIO; |
1039 | break; | 1039 | break; |
1040 | } | 1040 | } |
1041 | if (copy_to_user((u8 *)arg, &val8, sizeof(val8))) | 1041 | if (copy_to_user(argp, &val8, sizeof(val8))) |
1042 | ret = -EFAULT; | 1042 | ret = -EFAULT; |
1043 | break; | 1043 | break; |
1044 | default: | 1044 | default: |