201-ar913x_wmac_external_reset.patch 800 B

12345678910111213141516171819202122232425262728293031
  1. --- a/arch/mips/ath79/dev-wmac.c
  2. +++ b/arch/mips/ath79/dev-wmac.c
  3. @@ -44,7 +44,7 @@ static struct platform_device ath79_wmac
  4. },
  5. };
  6. -static void __init ar913x_wmac_setup(void)
  7. +static int ar913x_wmac_reset(void)
  8. {
  9. /* reset the WMAC */
  10. ath79_device_reset_set(AR913X_RESET_AMBA2WMAC);
  11. @@ -53,10 +53,19 @@ static void __init ar913x_wmac_setup(voi
  12. ath79_device_reset_clear(AR913X_RESET_AMBA2WMAC);
  13. mdelay(10);
  14. + return 0;
  15. +}
  16. +
  17. +static void __init ar913x_wmac_setup(void)
  18. +{
  19. + ar913x_wmac_reset();
  20. +
  21. ath79_wmac_resources[0].start = AR913X_WMAC_BASE;
  22. ath79_wmac_resources[0].end = AR913X_WMAC_BASE + AR913X_WMAC_SIZE - 1;
  23. ath79_wmac_resources[1].start = ATH79_CPU_IRQ(2);
  24. ath79_wmac_resources[1].end = ATH79_CPU_IRQ(2);
  25. +
  26. + ath79_wmac_data.external_reset = ar913x_wmac_reset;
  27. }