static struct smc91x_platdata smc91x_info = {
        .flags = SMC91X_USE_16BIT,
-       .irq_flags = IRQF_TRIGGER_HIGH,
 };
 
 static struct resource smc91x_eth_resources[] = {
        },
        [1] = {
                .start  = 32, /* IRQ0 */
-               .flags  = IORESOURCE_IRQ,
+               .flags  = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
        },
 };
 
 
        struct net_device *ndev;
        struct resource *res, *ires;
        unsigned int __iomem *addr;
+       unsigned long irq_flags = SMC_IRQ_FLAGS;
        int ret;
 
        res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "smc91x-regs");
         */
 
        lp = netdev_priv(ndev);
-       lp->cfg.irq_flags = SMC_IRQ_FLAGS;
 
 #ifdef SMC_DYNAMIC_BUS_CONFIG
        if (pd)
        }
 
        ndev->irq = ires->start;
-       if (SMC_IRQ_FLAGS == -1)
-               lp->cfg.irq_flags = ires->flags & IRQF_TRIGGER_MASK;
+
+       if (ires->flags & IRQF_TRIGGER_MASK)
+               irq_flags = ires->flags & IRQF_TRIGGER_MASK;
 
        ret = smc_request_attrib(pdev);
        if (ret)
        }
 #endif
 
-       ret = smc_probe(ndev, addr, lp->cfg.irq_flags);
+       ret = smc_probe(ndev, addr, irq_flags);
        if (ret != 0)
                goto out_iounmap;