atheros: rework and cleanup board initialization
authorJohn Crispin <john@openwrt.org>
Fri, 12 Sep 2014 06:52:26 +0000 (06:52 +0000)
committerJohn Crispin <john@openwrt.org>
Fri, 12 Sep 2014 06:52:26 +0000 (06:52 +0000)
- remove odd flags and branching
  - add __init mark
  - make shorter variables names
  - returns true or false from boolean functions
  - unwrap short function declarations
  - unwrap quoted string
  - rename macroses with names in CamelCase

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 42495

target/linux/atheros/patches-3.14/100-board.patch

index 57831fa9add79d6bdf5b414a8723eafa9518ca4a..24533574bc8e24a32127c12ca1ffc7bff0dca64a 100644 (file)
@@ -84,7 +84,7 @@
 +obj-$(CONFIG_ATHEROS_AR2315) += ar2315.o
 --- /dev/null
 +++ b/arch/mips/ar231x/board.c
-@@ -0,0 +1,260 @@
+@@ -0,0 +1,229 @@
 +/*
 + * This file is subject to the terms and conditions of the GNU General Public
 + * License.  See the file "COPYING" in the main directory of this archive
 +
 +void (*ar231x_irq_dispatch)(void);
 +
-+static inline bool
-+check_radio_magic(u8 *addr)
++static inline bool check_radio_magic(u8 *addr)
 +{
 +      addr += 0x7a; /* offset for flash magic */
-+      if ((addr[0] == 0x5a) && (addr[1] == 0xa5))
-+              return 1;
++      return (addr[0] == 0x5a) && (addr[1] == 0xa5);
++}
 +
-+      return 0;
++static inline bool check_notempty(u8 *addr)
++{
++      return *(u32 *)addr != 0xffffffff;
 +}
 +
-+static inline bool
-+check_board_data(u8 *flash_limit, u8 *addr, bool broken)
++static inline bool check_board_data(u8 *flash_limit, u8 *addr, bool broken)
 +{
 +      /* config magic found */
 +      if (*((u32 *)addr) == AR231X_BD_MAGIC)
-+              return 1;
++              return true;
 +
 +      if (!broken)
-+              return 0;
++              return false;
 +
 +      if (check_radio_magic(addr + 0xf8))
 +              ar231x_board.radio = addr + 0xf8;
 +      if ((addr < flash_limit + 0x10000) &&
-+           check_radio_magic(addr + 0x10000))
++          check_radio_magic(addr + 0x10000))
 +              ar231x_board.radio = addr + 0x10000;
 +
 +      if (ar231x_board.radio) {
 +              /* broken board data detected, use radio data to find the
 +               * offset, user will fix this */
-+              return 1;
++              return true;
 +      }
-+      return 0;
++
++      return false;
 +}
 +
-+static u8 *
-+find_board_config(u8 *flash_limit, bool broken)
++static u8 * __init find_board_config(u8 *flash_limit, bool broken)
 +{
 +      u8 *addr;
-+      int found = 0;
++      u8 *begin = flash_limit - 0x1000;
++      u8 *end = flash_limit - 0x30000;
 +
-+      for (addr = flash_limit - 0x1000;
-+              addr >= flash_limit - 0x30000;
-+              addr -= 0x1000) {
++      for (addr = begin; addr >= end; addr -= 0x1000)
++              if (check_board_data(flash_limit, addr, broken))
++                      return addr;
 +
-+              if (check_board_data(flash_limit, addr, broken)) {
-+                      found = 1;
-+                      break;
-+              }
-+      }
-+
-+      if (!found)
-+              addr = NULL;
-+
-+      return addr;
++      return NULL;
 +}
 +
-+static u8 *
-+find_radio_config(u8 *flash_limit, u8 *board_config)
++static u8 * __init find_radio_config(u8 *flash_limit, u8 *bcfg)
 +{
-+      int found;
-+      u8 *radio_config;
++      u8 *rcfg, *begin, *end;
 +
 +      /*
 +       * Now find the start of Radio Configuration data, using heuristics:
 +       * Search forward from Board Configuration data by 0x1000 bytes
 +       * at a time until we find non-0xffffffff.
 +       */
-+      found = 0;
-+      for (radio_config = board_config + 0x1000;
-+           (radio_config < flash_limit);
-+           radio_config += 0x1000) {
-+              if ((*(u32 *)radio_config != 0xffffffff) &&
-+                  check_radio_magic(radio_config)) {
-+                      found = 1;
-+                      break;
-+              }
-+      }
++      begin = bcfg + 0x1000;
++      end = flash_limit;
++      for (rcfg = begin; rcfg < end; rcfg += 0x1000)
++              if (check_notempty(rcfg) && check_radio_magic(rcfg))
++                      return rcfg;
 +
 +      /* AR2316 relocates radio config to new location */
-+      if (!found) {
-+              for (radio_config = board_config + 0xf8;
-+                   (radio_config < flash_limit - 0x1000 + 0xf8);
-+                   radio_config += 0x1000) {
-+                      if ((*(u32 *)radio_config != 0xffffffff) &&
-+                          check_radio_magic(radio_config)) {
-+                              found = 1;
-+                              break;
-+                      }
-+              }
-+      }
++      begin = bcfg + 0xf8;
++      end = flash_limit - 0x1000 + 0xf8;
++      for (rcfg = begin; rcfg < end; rcfg += 0x1000)
++              if (check_notempty(rcfg) && check_radio_magic(rcfg))
++                      return rcfg;
 +
-+      if (!found) {
-+              pr_warn("WARNING: Could not find Radio Configuration data\n");
-+              radio_config = NULL;
-+      }
++      pr_warn("WARNING: Could not find Radio Configuration data\n");
 +
-+      return radio_config;
++      return NULL;
 +}
 +
-+int __init
-+ar231x_find_config(u8 *flash_limit)
++int __init ar231x_find_config(u8 *flash_limit)
 +{
 +      struct ar231x_boarddata *config;
 +      unsigned int rcfg_size;
 +      return 0;
 +}
 +
-+static void
-+ar231x_halt(void)
++static void ar231x_halt(void)
 +{
 +      local_irq_disable();
 +      while (1)
 +              ;
 +}
 +
-+void __init
-+plat_mem_setup(void)
++void __init plat_mem_setup(void)
 +{
 +      _machine_halt = ar231x_halt;
 +      pm_power_off = ar231x_halt;
 +      write_c0_watchlo0(0);
 +}
 +
-+asmlinkage void
-+plat_irq_dispatch(void)
++asmlinkage void plat_irq_dispatch(void)
 +{
 +      ar231x_irq_dispatch();
 +}
 +
-+void __init
-+plat_time_init(void)
++void __init plat_time_init(void)
 +{
 +      ar5312_time_init();
 +      ar2315_time_init();
 +}
 +
-+unsigned int __cpuinit
-+get_c0_compare_int(void)
++unsigned int __cpuinit get_c0_compare_int(void)
 +{
 +      return CP0_LEGACY_COMPARE_IRQ;
 +}
 +
-+void __init
-+arch_init_irq(void)
++void __init arch_init_irq(void)
 +{
 +      clear_c0_status(ST0_IM);
 +      mips_cpu_irq_init();
 +#endif /* __ASM_MACH_AR231X_CPU_FEATURE_OVERRIDES_H */
 --- /dev/null
 +++ b/arch/mips/include/asm/mach-ar231x/dma-coherence.h
-@@ -0,0 +1,78 @@
+@@ -0,0 +1,77 @@
 +/*
 + * This file is subject to the terms and conditions of the GNU General Public
 + * License.  See the file "COPYING" in the main directory of this archive
 +
 +      if (dev && dev->bus == &pci_bus_type)
 +              return PCI_DMA_OFFSET;
-+      else
 +#endif
-+              return 0;
++      return 0;
 +}
 +
 +static inline dma_addr_t
 +#define FLASHCTL_WP     0x04000000      /* Write protect */
 +#define FLASHCTL_BM     0x08000000      /* Burst mode */
 +#define FLASHCTL_MW     0x30000000      /* Memory width */
-+#define FLASHCTL_MWx8   0x00000000      /* Memory width x8 */
-+#define FLASHCTL_MWx16  0x10000000      /* Memory width x16 */
-+#define FLASHCTL_MWx32  0x20000000      /* Memory width x32 (not supported) */
++#define FLASHCTL_MW   0x00000000      /* Memory width x8 */
++#define FLASHCTL_MW16   0x10000000      /* Memory width x16 */
++#define FLASHCTL_MW32   0x20000000      /* Memory width x32 (not supported) */
 +#define FLASHCTL_ATNR   0x00000000      /* Access type == no retry */
 +#define FLASHCTL_ATR    0x80000000      /* Access type == retry every */
 +#define FLASHCTL_ATR4   0xc0000000      /* Access type == retry every 4 */
 +
 --- /dev/null
 +++ b/arch/mips/ar231x/ar5312.c
-@@ -0,0 +1,542 @@
+@@ -0,0 +1,541 @@
 +/*
 + * This file is subject to the terms and conditions of the GNU General Public
 + * License.  See the file "COPYING" in the main directory of this archive
 +      u32 dma1 = ar231x_read_reg(AR5312_DMA1);
 +      u32 dma_addr = ar231x_read_reg(AR5312_DMAADDR);   /* clears error */
 +
-+      pr_emerg("AHB interrupt: PROCADDR=0x%8.8x  PROC1=0x%8.8x  "
-+               "DMAADDR=0x%8.8x  DMA1=0x%8.8x\n", proc_addr, proc1, dma_addr,
-+               dma1);
++      pr_emerg("AHB interrupt: PROCADDR=0x%8.8x PROC1=0x%8.8x DMAADDR=0x%8.8x DMA1=0x%8.8x\n",
++               proc_addr, proc1, dma_addr, dma1);
 +
 +      machine_restart("AHB error"); /* Catastrophic failure */
 +      return IRQ_HANDLED;
 +      /* fixup flash width */
 +      fctl = ar231x_read_reg(AR5312_FLASHCTL) & FLASHCTL_MW;
 +      switch (fctl) {
-+      case FLASHCTL_MWx16:
++      case FLASHCTL_MW16:
 +              ar5312_flash_data.width = 2;
 +              break;
-+      case FLASHCTL_MWx8:
++      case FLASHCTL_MW8:
 +      default:
 +              ar5312_flash_data.width = 1;
 +              break;