Search Linux Wireless

Re: SSB AI support code ([RFC3/11] SSB irqflag device op)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 02/09/2011 08:32 AM, George Kashperko wrote:
> From: George Kashperko <george@xxxxxxxxxxx>
> 
> SB- and AI-style buses read irq flags from different locations.
> SB-ones read them from TPSFLAG whereas AI-ones from core oob register.
> In order to support both SB- and AI-style buses transparently
> irq flag accessor is implemented as ssb device op.
> Signed-off-by: George Kashperko <george@xxxxxxxxxxx>
> ---
>  drivers/ssb/driver_mipscore.c       |    2 +-
>  drivers/ssb/main.c                  |    1 +
>  include/linux/ssb/ssb.h             |    5 +++++
>  include/linux/ssb/ssb_driver_mips.h |    1 +
>  4 files changed, 8 insertions(+), 1 deletion(-)
> --- linux-next-20110203.orig/drivers/ssb/driver_mipscore.c	2011-02-01 05:05:49.000000000 +0200
> +++ linux-next-20110203/drivers/ssb/driver_mipscore.c	2011-02-07 16:39:46.000000000 +0200
> @@ -47,7 +47,7 @@ static const u32 ipsflag_irq_shift[] = {
>  	SSB_IPSFLAG_IRQ4_SHIFT,
>  };
>  
> -static inline u32 ssb_irqflag(struct ssb_device *dev)
> +u32 ssb_irqflag_sb(struct ssb_device *dev)
>  {
>  	u32 tpsflag = ssb_read32(dev, SSB_TPSFLAG);
>  	if (tpsflag)
> --- linux-next-20110203.orig/drivers/ssb/main.c	2011-02-07 16:35:50.000000000 +0200
> +++ linux-next-20110203/drivers/ssb/main.c	2011-02-07 16:49:40.000000000 +0200
> @@ -1367,6 +1367,7 @@ static const struct ssb_bus_ops ssb_ssb_
>  	.device_disable		= ssb_device_disable_sb,
>  	.admatch_base		= ssb_admatch_base_sb,
>  	.admatch_size		= ssb_admatch_size_sb,
> +	.irqflag		= ssb_irqflag_sb,
>  };
>  
>  static int __init ssb_modinit(void)
> --- linux-next-20110203.orig/include/linux/ssb/ssb_driver_mips.h	2011-02-01 05:05:49.000000000 +0200
> +++ linux-next-20110203/include/linux/ssb/ssb_driver_mips.h	2011-02-07 16:39:10.000000000 +0200
> @@ -29,6 +29,7 @@ extern void ssb_mipscore_init(struct ssb
>  extern u32 ssb_cpu_clock(struct ssb_mipscore *mcore);
>  
>  extern unsigned int ssb_mips_irq(struct ssb_device *dev);
> +extern u32 ssb_irqflag_sb(struct ssb_device *dev);
>  
>  
>  #else /* CONFIG_SSB_DRIVER_MIPS */
> --- linux-next-20110203.orig/include/linux/ssb/ssb.h	2011-02-07 16:35:50.000000000 +0200
> +++ linux-next-20110203/include/linux/ssb/ssb.h	2011-02-07 16:38:34.000000000 +0200
> @@ -124,6 +124,7 @@ struct ssb_bus_ops {
>  	void (*device_disable)(struct ssb_device *dev, u32 core_specific_flags);
>  	u32 (*admatch_base)(struct ssb_device *dev, u32 adm);
>  	u32 (*admatch_size)(struct ssb_device *dev, u32 adm);
> +	u32 (*irqflag)(struct ssb_device *dev);
>  };
>  
>  
> @@ -485,6 +486,10 @@ static inline u32 ssb_admatch_size(struc
>  {
>  	return dev->ops->admatch_size(dev, adm);
>  }
> +static inline u32 ssb_irqflag(struct ssb_device *dev)
> +{
> +	return dev->ops->irqflag(dev);
> +}
>  
>  
>  /* The SSB DMA API. Use this API for any DMA operation on the device.
> 
> 
> 
> --

This one fails to compile with the following error:

drivers/ssb/main.c:1370:14: error: ‘ssb_irqflag_sb’ undeclared here (not in a
function)
make[1]: *** [drivers/ssb/main.o] Error 1
make: *** [drivers/ssb/] Error 2

Larry
--
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


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux