Skip to content
  • Eric Miao's avatar
    [NET] smc91x: remove "irq_flags" from "struct smc91x_platdata" · d280eadc
    Eric Miao authored
    
    
    IRQ trigger type can be specified in the IRQ resource definition by
    IORESOURCE_IRQ_*, we need only one way to specify this.
    
    This also fixes the following small issue:
    
    To allow dynamic support for multiple platforms, when those relevant
    macros are not defined for one specific platform, the default case
    will be:
    
    	- SMC_DYNAMIC_BUS_CONFIG defined
    	- and SMC_IRQ_FLAGS = IRQF_TRIGGER_RISING
    
    While if "irq_flags" is missing when defining the smc91x_platdata,
    usually as follows:
    
      static struct smc91x_platdata xxxx_smc91x_data = {
    	.flags	= SMC91X_USE_XXBIT,
      };
    
    The lp->cfg.irq_flags will always be overriden by the above structure
    (due to a memcpy), thus rendering lp->cfg.irq_flags to be "0" always.
    (regardless of the default SMC_IRQ_FLAGS or IORESOURCE_IRQ_* flags)
    
    Fixes this by forcing to use IORESOURCE_IRQ_* flags if present, and
    make the only user of smc91x_platdata.irq_flags (renesas/migor) to
    use IORESOURCE_IRQ_*.
    
    Signed-off-by: default avatarEric Miao <eric.miao@marvell.com>
    Acked-by: default avatarNicolas Pitre <nico@cam.org>
    Acked-by: default avatarJeff Garzik <jgarzik@pobox.com>
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
    d280eadc