Skip to content

Commit

Permalink
MIPS: ath79: Separate AR913x SoC specific WMAC setup code
Browse files Browse the repository at this point in the history
The device registration code can be shared between the different SoCs, but
the required setup code varies Move AR913x specific setup code into a
separate function in order to make adding support for another SoCs easier.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Cc: Imre Kaloz <kaloz@openwrt.org>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/3029/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
  • Loading branch information
Gabor Juhos authored and Ralf Baechle committed Dec 7, 2011
1 parent 67b0f0f commit 6903bb4
Showing 1 changed file with 17 additions and 7 deletions.
24 changes: 17 additions & 7 deletions arch/mips/ath79/dev-ar913x-wmac.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,7 @@ static struct ath9k_platform_data ath79_wmac_data;

static struct resource ath79_wmac_resources[] = {
{
.start = AR913X_WMAC_BASE,
.end = AR913X_WMAC_BASE + AR913X_WMAC_SIZE - 1,
/* .start and .end fields are filled dynamically */
.flags = IORESOURCE_MEM,
}, {
.start = ATH79_CPU_IRQ_IP2,
Expand All @@ -43,18 +42,29 @@ static struct platform_device ath79_wmac_device = {
},
};

void __init ath79_register_wmac(u8 *cal_data)
static void __init ar913x_wmac_setup(void)
{
if (cal_data)
memcpy(ath79_wmac_data.eeprom_data, cal_data,
sizeof(ath79_wmac_data.eeprom_data));

/* reset the WMAC */
ath79_device_reset_set(AR913X_RESET_AMBA2WMAC);
mdelay(10);

ath79_device_reset_clear(AR913X_RESET_AMBA2WMAC);
mdelay(10);

ath79_wmac_resources[0].start = AR913X_WMAC_BASE;
ath79_wmac_resources[0].end = AR913X_WMAC_BASE + AR913X_WMAC_SIZE - 1;
}

void __init ath79_register_wmac(u8 *cal_data)
{
if (soc_is_ar913x())
ar913x_wmac_setup();
else
BUG();

if (cal_data)
memcpy(ath79_wmac_data.eeprom_data, cal_data,
sizeof(ath79_wmac_data.eeprom_data));

platform_device_register(&ath79_wmac_device);
}

0 comments on commit 6903bb4

Please sign in to comment.