|
@@ -38,7 +38,7 @@
|
|
|
(MX21ADS_MMIO_BASE_ADDR + (offset))
|
|
|
|
|
|
#define MX21ADS_CS8900A_MMIO_SIZE 0x200000
|
|
|
-#define MX21ADS_CS8900A_IRQ IRQ_GPIOE(11)
|
|
|
+#define MX21ADS_CS8900A_IRQ_GPIO IMX_GPIO_NR(5, 11)
|
|
|
#define MX21ADS_ST16C255_IOBASE_REG MX21ADS_REG_ADDR(0x200000)
|
|
|
#define MX21ADS_VERSION_REG MX21ADS_REG_ADDR(0x400000)
|
|
|
#define MX21ADS_IO_REG MX21ADS_REG_ADDR(0x800000)
|
|
@@ -159,9 +159,10 @@ static struct platform_device mx21ads_nor_mtd_device = {
|
|
|
.resource = &mx21ads_flash_resource,
|
|
|
};
|
|
|
|
|
|
-static const struct resource mx21ads_cs8900_resources[] __initconst = {
|
|
|
+static struct resource mx21ads_cs8900_resources[] __initdata = {
|
|
|
DEFINE_RES_MEM(MX21_CS1_BASE_ADDR, MX21ADS_CS8900A_MMIO_SIZE),
|
|
|
- DEFINE_RES_IRQ(MX21ADS_CS8900A_IRQ),
|
|
|
+ /* irq number is run-time assigned */
|
|
|
+ DEFINE_RES_IRQ(-1),
|
|
|
};
|
|
|
|
|
|
static const struct platform_device_info mx21ads_cs8900_devinfo __initconst = {
|
|
@@ -241,13 +242,13 @@ static int mx21ads_sdhc_get_ro(struct device *dev)
|
|
|
static int mx21ads_sdhc_init(struct device *dev, irq_handler_t detect_irq,
|
|
|
void *data)
|
|
|
{
|
|
|
- return request_irq(IRQ_GPIOD(25), detect_irq,
|
|
|
+ return request_irq(gpio_to_irq(IMX_GPIO_NR(4, 25)), detect_irq,
|
|
|
IRQF_TRIGGER_FALLING, "mmc-detect", data);
|
|
|
}
|
|
|
|
|
|
static void mx21ads_sdhc_exit(struct device *dev, void *data)
|
|
|
{
|
|
|
- free_irq(IRQ_GPIOD(25), data);
|
|
|
+ free_irq(gpio_to_irq(IMX_GPIO_NR(4, 25)), data);
|
|
|
}
|
|
|
|
|
|
static const struct imxmmc_platform_data mx21ads_sdhc_pdata __initconst = {
|
|
@@ -304,6 +305,11 @@ static void __init mx21ads_board_init(void)
|
|
|
imx21_add_mxc_nand(&mx21ads_nand_board_info);
|
|
|
|
|
|
platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices));
|
|
|
+
|
|
|
+ mx21ads_cs8900_resources[1].start =
|
|
|
+ gpio_to_irq(MX21ADS_CS8900A_IRQ_GPIO);
|
|
|
+ mx21ads_cs8900_resources[1].end =
|
|
|
+ gpio_to_irq(MX21ADS_CS8900A_IRQ_GPIO);
|
|
|
platform_device_register_full(&mx21ads_cs8900_devinfo);
|
|
|
}
|
|
|
|