pcmcia: encapsulate ioaddr_t

By now, ioaddr_t should only be used by the deprecated ioctl, as it does not
correctly reflect the maximum ioport range at least on some architectures.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
This commit is contained in:
Dominik Brodowski 2008-08-28 01:05:34 +02:00
parent a58357862e
commit d39bd56452
5 changed files with 12 additions and 11 deletions

View file

@ -292,7 +292,7 @@ au1x00_pcmcia_set_io_map(struct pcmcia_socket *sock, struct pccard_io_map *map)
skt->spd_io[map->map] = speed; skt->spd_io[map->map] = speed;
} }
map->start=(ioaddr_t)(u32)skt->virt_io; map->start=(unsigned int)(u32)skt->virt_io;
map->stop=map->start+MAP_SIZE; map->stop=map->start+MAP_SIZE;
return 0; return 0;

View file

@ -116,7 +116,7 @@ struct au1000_pcmcia_socket {
struct resource res_attr; struct resource res_attr;
void * virt_io; void * virt_io;
ioaddr_t phys_io; unsigned int phys_io;
unsigned int phys_attr; unsigned int phys_attr;
unsigned int phys_mem; unsigned int phys_mem;
unsigned short speed_io, speed_attr, speed_mem; unsigned short speed_io, speed_attr, speed_mem;

View file

@ -112,7 +112,8 @@ static struct platform_device platform_dev = {
.num_resources = ARRAY_SIZE(resources), .num_resources = ARRAY_SIZE(resources),
}; };
static int sl811_hc_init(struct device *parent, ioaddr_t base_addr, int irq) static int sl811_hc_init(struct device *parent, resource_size_t base_addr,
int irq)
{ {
if (platform_dev.dev.parent) if (platform_dev.dev.parent)
return -EBUSY; return -EBUSY;

View file

@ -21,14 +21,6 @@
#include <sys/types.h> #include <sys/types.h>
#endif #endif
#if defined(__arm__) || defined(__mips__) || defined(__avr32__) || \
defined(__bfin__)
/* This (ioaddr_t) is exposed to userspace & hence cannot be changed. */
typedef u_int ioaddr_t;
#else
typedef u_short ioaddr_t;
#endif
typedef u_short socket_t; typedef u_short socket_t;
typedef u_int event_t; typedef u_int event_t;
typedef u_char cisdata_t; typedef u_char cisdata_t;

View file

@ -171,6 +171,14 @@ const char *pcmcia_error_ret(int ret);
#if defined(CONFIG_PCMCIA_IOCTL) || !defined(__KERNEL__) #if defined(CONFIG_PCMCIA_IOCTL) || !defined(__KERNEL__)
#if defined(__arm__) || defined(__mips__) || defined(__avr32__) || \
defined(__bfin__)
/* This (ioaddr_t) is exposed to userspace & hence cannot be changed. */
typedef u_int ioaddr_t;
#else
typedef u_short ioaddr_t;
#endif
/* for AdjustResourceInfo */ /* for AdjustResourceInfo */
typedef struct adjust_t { typedef struct adjust_t {
u_int Action; u_int Action;