pcmcia: convert some internal-only ioaddr_t to unsigned int
Convert the io_req_t members to unsigned int, to allow use on machines with more than 16 bits worth of IO ports (i.e. secondary busses on ppc64, etc). There was only a couple of places in drivers where a change was needed. I left printk formats alone (there are lots of %04x-style formats in there), mostly to not change the format on the platforms that only have 16-bit io addresses, but also because the padding doesn't really add all that much value most of the time. I found only one sprintf of an address, and upsized the string accordingly (I doubt anyone will have anywhere near INT_MAX as irq value, but at least there's room for it now). Signed-off-by: Olof Johansson <olof@lixom.net> Cc: Christoph Hellwig <hch@lst.de> Cc: Matthew Wilcox <matthew@wil.cx> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: Dominik Brodowski <linux@dominikbrodowski.net> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
7852375bbb
Коммит
ecb8a8472f
|
@ -308,7 +308,8 @@ static unsigned int calc_baudv(unsigned char fidi)
|
|||
return (wcrcf / wbrcf);
|
||||
}
|
||||
|
||||
static unsigned short io_read_num_rec_bytes(ioaddr_t iobase, unsigned short *s)
|
||||
static unsigned short io_read_num_rec_bytes(unsigned int iobase,
|
||||
unsigned short *s)
|
||||
{
|
||||
unsigned short tmp;
|
||||
|
||||
|
@ -426,7 +427,7 @@ static struct card_fixup card_fixups[] = {
|
|||
static void set_cardparameter(struct cm4000_dev *dev)
|
||||
{
|
||||
int i;
|
||||
ioaddr_t iobase = dev->p_dev->io.BasePort1;
|
||||
unsigned int iobase = dev->p_dev->io.BasePort1;
|
||||
u_int8_t stopbits = 0x02; /* ISO default */
|
||||
|
||||
DEBUGP(3, dev, "-> set_cardparameter\n");
|
||||
|
@ -459,7 +460,7 @@ static int set_protocol(struct cm4000_dev *dev, struct ptsreq *ptsreq)
|
|||
unsigned short num_bytes_read;
|
||||
unsigned char pts_reply[4];
|
||||
ssize_t rc;
|
||||
ioaddr_t iobase = dev->p_dev->io.BasePort1;
|
||||
unsigned int iobase = dev->p_dev->io.BasePort1;
|
||||
|
||||
rc = 0;
|
||||
|
||||
|
@ -610,7 +611,7 @@ exit_setprotocol:
|
|||
return rc;
|
||||
}
|
||||
|
||||
static int io_detect_cm4000(ioaddr_t iobase, struct cm4000_dev *dev)
|
||||
static int io_detect_cm4000(unsigned int iobase, struct cm4000_dev *dev)
|
||||
{
|
||||
|
||||
/* note: statemachine is assumed to be reset */
|
||||
|
@ -671,7 +672,7 @@ static void terminate_monitor(struct cm4000_dev *dev)
|
|||
static void monitor_card(unsigned long p)
|
||||
{
|
||||
struct cm4000_dev *dev = (struct cm4000_dev *) p;
|
||||
ioaddr_t iobase = dev->p_dev->io.BasePort1;
|
||||
unsigned int iobase = dev->p_dev->io.BasePort1;
|
||||
unsigned short s;
|
||||
struct ptsreq ptsreq;
|
||||
int i, atrc;
|
||||
|
@ -933,7 +934,7 @@ static ssize_t cmm_read(struct file *filp, __user char *buf, size_t count,
|
|||
loff_t *ppos)
|
||||
{
|
||||
struct cm4000_dev *dev = filp->private_data;
|
||||
ioaddr_t iobase = dev->p_dev->io.BasePort1;
|
||||
unsigned int iobase = dev->p_dev->io.BasePort1;
|
||||
ssize_t rc;
|
||||
int i, j, k;
|
||||
|
||||
|
@ -1054,7 +1055,7 @@ static ssize_t cmm_write(struct file *filp, const char __user *buf,
|
|||
size_t count, loff_t *ppos)
|
||||
{
|
||||
struct cm4000_dev *dev = (struct cm4000_dev *) filp->private_data;
|
||||
ioaddr_t iobase = dev->p_dev->io.BasePort1;
|
||||
unsigned int iobase = dev->p_dev->io.BasePort1;
|
||||
unsigned short s;
|
||||
unsigned char tmp;
|
||||
unsigned char infolen;
|
||||
|
@ -1408,7 +1409,7 @@ static int cmm_ioctl(struct inode *inode, struct file *filp, unsigned int cmd,
|
|||
unsigned long arg)
|
||||
{
|
||||
struct cm4000_dev *dev = filp->private_data;
|
||||
ioaddr_t iobase = dev->p_dev->io.BasePort1;
|
||||
unsigned int iobase = dev->p_dev->io.BasePort1;
|
||||
struct pcmcia_device *link;
|
||||
int size;
|
||||
int rc;
|
||||
|
|
|
@ -65,23 +65,23 @@ extern int ds_pc_debug;
|
|||
* Special stuff for managing IO windows, because they are scarce
|
||||
*/
|
||||
|
||||
static int alloc_io_space(struct pcmcia_socket *s, u_int attr, ioaddr_t *base,
|
||||
ioaddr_t num, u_int lines)
|
||||
static int alloc_io_space(struct pcmcia_socket *s, u_int attr,
|
||||
unsigned int *base, unsigned int num, u_int lines)
|
||||
{
|
||||
int i;
|
||||
kio_addr_t try, align;
|
||||
unsigned int try, align;
|
||||
|
||||
align = (*base) ? (lines ? 1<<lines : 0) : 1;
|
||||
if (align && (align < num)) {
|
||||
if (*base) {
|
||||
ds_dbg(s, 0, "odd IO request: num %#x align %#lx\n",
|
||||
ds_dbg(s, 0, "odd IO request: num %#x align %#x\n",
|
||||
num, align);
|
||||
align = 0;
|
||||
} else
|
||||
while (align && (align < num)) align <<= 1;
|
||||
}
|
||||
if (*base & ~(align-1)) {
|
||||
ds_dbg(s, 0, "odd IO request: base %#x align %#lx\n",
|
||||
ds_dbg(s, 0, "odd IO request: base %#x align %#x\n",
|
||||
*base, align);
|
||||
align = 0;
|
||||
}
|
||||
|
@ -132,8 +132,8 @@ static int alloc_io_space(struct pcmcia_socket *s, u_int attr, ioaddr_t *base,
|
|||
} /* alloc_io_space */
|
||||
|
||||
|
||||
static void release_io_space(struct pcmcia_socket *s, ioaddr_t base,
|
||||
ioaddr_t num)
|
||||
static void release_io_space(struct pcmcia_socket *s, unsigned int base,
|
||||
unsigned int num)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
|
|
@ -130,7 +130,7 @@ static int fdomain_config(struct pcmcia_device *link)
|
|||
cisparse_t parse;
|
||||
int i, last_ret, last_fn;
|
||||
u_char tuple_data[64];
|
||||
char str[16];
|
||||
char str[22];
|
||||
struct Scsi_Host *host;
|
||||
|
||||
DEBUG(0, "fdomain_config(0x%p)\n", link);
|
||||
|
|
|
@ -147,11 +147,11 @@ typedef struct config_req_t {
|
|||
|
||||
/* For RequestIO and ReleaseIO */
|
||||
typedef struct io_req_t {
|
||||
ioaddr_t BasePort1;
|
||||
ioaddr_t NumPorts1;
|
||||
u_int BasePort1;
|
||||
u_int NumPorts1;
|
||||
u_int Attributes1;
|
||||
ioaddr_t BasePort2;
|
||||
ioaddr_t NumPorts2;
|
||||
u_int BasePort2;
|
||||
u_int NumPorts2;
|
||||
u_int Attributes2;
|
||||
u_int IOAddrLines;
|
||||
} io_req_t;
|
||||
|
|
Загрузка…
Ссылка в новой задаче