Search Linux Wireless

Re: [RFC][PATCH] bcma: support alternative (BCM4706) ChipCommon core id

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

 



Hi Rafał,

Could you add some info why you haven't replaced all places where
BCMA_CORE_CHIPCOMMON was used with this functions in the commit message.

By the way, why is bcma_find_core() beeing called in bcma_bus_resume()?
The code should better check for bus->drv_cc.core and not for core.

On 07/09/2012 10:14 PM, Rafał Miłecki wrote:
> ---
>  drivers/bcma/main.c |   14 +++++++++++---
>  1 files changed, 11 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/bcma/main.c b/drivers/bcma/main.c
> index 173a0b4..61ac6cf 100644
> --- a/drivers/bcma/main.c
> +++ b/drivers/bcma/main.c
> @@ -61,6 +61,13 @@ static struct bus_type bcma_bus_type = {
>  	.dev_attrs	= bcma_device_attrs,
>  };
>  
> +static u16 bcma_cc_core_id(struct bcma_bus *bus)
> +{
> +	if (bus->chipinfo.id == BCMA_CHIP_ID_BCM4706)
> +		return BCMA_CORE_4706_CHIPCOMMON;
> +	return BCMA_CORE_CHIPCOMMON;
> +}
> +
>  struct bcma_device *bcma_find_core(struct bcma_bus *bus, u16 coreid)
>  {
>  	struct bcma_device *core;
> @@ -91,6 +98,7 @@ static int bcma_register_cores(struct bcma_bus *bus)
>  	list_for_each_entry(core, &bus->cores, list) {
>  		/* We support that cores ourself */
>  		switch (core->id.id) {
> +		case BCMA_CORE_4706_CHIPCOMMON:
>  		case BCMA_CORE_CHIPCOMMON:
>  		case BCMA_CORE_PCI:
>  		case BCMA_CORE_PCIE:
> @@ -157,7 +165,7 @@ int __devinit bcma_bus_register(struct bcma_bus *bus)
>  	}
>  
>  	/* Init CC core */
> -	core = bcma_find_core(bus, BCMA_CORE_CHIPCOMMON);
> +	core = bcma_find_core(bus, bcma_cc_core_id(bus));
>  	if (core) {
>  		bus->drv_cc.core = core;
>  		bcma_core_chipcommon_init(&bus->drv_cc);
> @@ -215,7 +223,7 @@ int __init bcma_bus_early_register(struct bcma_bus *bus,
>  	bcma_init_bus(bus);
>  
>  	match.manuf = BCMA_MANUF_BCM;
> -	match.id = BCMA_CORE_CHIPCOMMON;
> +	match.id = bcma_cc_core_id(bus);
>  	match.class = BCMA_CL_SIM;
>  	match.rev = BCMA_ANY_REV;
>  
> @@ -239,7 +247,7 @@ int __init bcma_bus_early_register(struct bcma_bus *bus,
>  	}
>  
>  	/* Init CC core */
> -	core = bcma_find_core(bus, BCMA_CORE_CHIPCOMMON);
> +	core = bcma_find_core(bus, bcma_cc_core_id(bus));
>  	if (core) {
>  		bus->drv_cc.core = core;
>  		bcma_core_chipcommon_init(&bus->drv_cc);
> 


--
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 Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux