MIPS: BCM47xx: Extract all boardflags to new u32 fields
authorRafał Miłecki <zajec5@gmail.com>
Tue, 12 May 2015 09:31:02 +0000 (11:31 +0200)
committerRalf Baechle <ralf@linux-mips.org>
Sun, 21 Jun 2015 19:52:23 +0000 (21:52 +0200)
For years we planned to get rid of old u16 fields, let's start doing it
with MIPS code. This process will take some time, it requires doing the
same in ssb/bcma and then switching all drivers to new fields. This will
be handled in separated patches submitted to appropriate trees.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Cc: linux-mips@linux-mips.org
Cc: Hauke Mehrtens <hauke@hauke-m.de>
Patchwork: https://patchwork.linux-mips.org/patch/10026/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/bcm47xx/sprom.c
include/linux/ssb/ssb.h

index 68ebf2322f8bf3381d5f285afe55a73e708d29a2..404808388c038e9d1e3ae73f3b0ea7a7a078f114 100644 (file)
@@ -201,6 +201,9 @@ static void bcm47xx_sprom_fill_auto(struct ssb_sprom *sprom,
        bool fb = fallback;
 
        ENTRY(0xfffffffe, u16, pre, "boardrev", board_rev, 0, true);
+       ENTRY(0xfffffffe, u32, pre, "boardflags", boardflags, 0, fb);
+       ENTRY(0xfffffff0, u32, pre, "boardflags2", boardflags2, 0, fb);
+       ENTRY(0xfffff800, u32, pre, "boardflags3", boardflags3, 0, fb);
        ENTRY(0x00000002, u16, pre, "boardflags", boardflags_lo, 0, fb);
        ENTRY(0xfffffffc, u16, pre, "boardtype", board_type, 0, true);
        ENTRY(0xfffffffe, u16, pre, "boardnum", board_num, 0, fb);
index 4568a5cc9ab851c5c53e536cfbcd5e62003d6a47..ee90e32a0607bf7a5e92bcd8f2da54496cbdfd24 100644 (file)
@@ -88,11 +88,14 @@ struct ssb_sprom {
        u32 ofdm5glpo;          /* 5.2GHz OFDM power offset */
        u32 ofdm5gpo;           /* 5.3GHz OFDM power offset */
        u32 ofdm5ghpo;          /* 5.8GHz OFDM power offset */
+       u32 boardflags;
+       u32 boardflags2;
+       u32 boardflags3;
+       /* TODO: Switch all drivers to new u32 fields and drop below ones */
        u16 boardflags_lo;      /* Board flags (bits 0-15) */
        u16 boardflags_hi;      /* Board flags (bits 16-31) */
        u16 boardflags2_lo;     /* Board flags (bits 32-47) */
        u16 boardflags2_hi;     /* Board flags (bits 48-63) */
-       /* TODO store board flags in a single u64 */
 
        struct ssb_sprom_core_pwr_info core_pwr_info[4];