Эх сурвалжийг харах

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>
Dominik Brodowski 16 жил өмнө
parent
commit
d39bd56452

+ 1 - 1
drivers/pcmcia/au1000_generic.c

@@ -292,7 +292,7 @@ au1x00_pcmcia_set_io_map(struct pcmcia_socket *sock, struct pccard_io_map *map)
 		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;
 	return 0;
 

+ 1 - 1
drivers/pcmcia/au1000_generic.h

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

+ 2 - 1
drivers/usb/host/sl811_cs.c

@@ -112,7 +112,8 @@ static struct platform_device platform_dev = {
 	.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)
 		return -EBUSY;

+ 0 - 8
include/pcmcia/cs_types.h

@@ -21,14 +21,6 @@
 #include <sys/types.h>
 #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_int	event_t;
 typedef u_char	cisdata_t;

+ 8 - 0
include/pcmcia/ds.h

@@ -171,6 +171,14 @@ const char *pcmcia_error_ret(int ret);
 
 #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 */
 typedef struct adjust_t {
 	u_int			Action;