Hi Luca, this is the re-factor I was talking to you about. Please have a look and give your comments. It probably won't work as is, I compile tested only, but it shows the idea. Felipe Balbi (13): net: wl12xx: sdio: id_tables should be __devinitconst net: wl12xx: sdio: add a context structure net: wl12xx: remove some unnecessary prints net: wl12xx: care for optional operations net: wl12xx: remove the nops net: wl12xx: remove unnecessary prints net: wl12xx: spi: add a context structure net: wl12xx: spi: add a platform_device net: wl12xx: sdio: add a platform_device net: wl12xx: main: add platform device net: wireless: wl12xx: re-factor all drivers net: wireless: wl12xx: mark some symbols static net: wl12xx: main: drop unneded plat_dev drivers/net/wireless/wl12xx/io.c | 10 +- drivers/net/wireless/wl12xx/io.h | 21 +-- drivers/net/wireless/wl12xx/main.c | 191 +++++++++++----- drivers/net/wireless/wl12xx/sdio.c | 220 +++++++----------- drivers/net/wireless/wl12xx/spi.c | 246 ++++++++------------ drivers/net/wireless/wl12xx/wl12xx.h | 16 +- drivers/net/wireless/wl12xx/wl12xx_platform_data.c | 4 +- include/linux/wl12xx.h | 4 +- 8 files changed, 336 insertions(+), 376 deletions(-) -- 1.7.4.1.343.ga91df -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html