1. 30 Jul, 2019 1 commit
    • Gustavo A. R. Silva's avatar
      MIPS: OProfile: Mark expected switch fall-throughs · 2d291e6c
      Gustavo A. R. Silva authored
      Mark switch cases where we are expecting to fall through.
      
      This patch fixes the following warning (Building: mips):
      
      arch/mips/oprofile/op_model_mipsxx.c: In function ‘mipsxx_cpu_stop’:
      arch/mips/oprofile/op_model_mipsxx.c:217:3: warning: this statement may fall through [-Wimplicit-fallthrough=]
         w_c0_perfctrl3(0);
         ^~~~~~~~~~~~~~~~~
      arch/mips/oprofile/op_model_mipsxx.c:218:2: note: here
        case 3:
        ^~~~
      arch/mips/oprofile/op_model_mipsxx.c:219:3: warning: this statement may fall through [-Wimplicit-fallthrough=]
         w_c0_perfctrl2(0);
         ^~~~~~~~~~~~~~~~~
      arch/mips/oprofile/op_model_mipsxx.c:220:2: note: here
        case 2:
        ^~~~
      arch/mips/oprofile/op_model_mipsxx.c:221:3: warning: this statement may fall through [-Wimplicit-fallthrough=]
         w_c0_perfctrl1(0);
         ^~~~~~~~~~~~~~~~~
      arch/mips/oprofile/op_model_mipsxx.c:222:2: note: here
        case 1:
        ^~~~
      arch/mips/oprofile/op_model_mipsxx.c: In function ‘mipsxx_cpu_start’:
      arch/mips/oprofile/op_model_mipsxx.c:197:3: warning: this statement may fall through [-Wimplicit-fallthrough=]
         w_c0_perfctrl3(WHAT | reg.control[3]);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      arch/mips/oprofile/op_model_mipsxx.c:198:2: note: here
        case 3:
        ^~~~
      arch/mips/oprofile/op_model_mipsxx.c:199:3: warning: this statement may fall through [-Wimplicit-fallthrough=]
         w_c0_perfctrl2(WHAT | reg.control[2]);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      arch/mips/oprofile/op_model_mipsxx.c:200:2: note: here
        case 2:
        ^~~~
      arch/mips/oprofile/op_model_mipsxx.c:201:3: warning: this statement may fall through [-Wimplicit-fallthrough=]
         w_c0_perfctrl1(WHAT | reg.control[1]);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      arch/mips/oprofile/op_model_mipsxx.c:202:2: note: here
        case 1:
        ^~~~
      arch/mips/oprofile/op_model_mipsxx.c: In function ‘reset_counters’:
      arch/mips/oprofile/op_model_mipsxx.c:299:3: warning: this statement may fall through [-Wimplicit-fallthrough=]
         w_c0_perfcntr3(0);
         ^~~~~~~~~~~~~~~~~
      arch/mips/oprofile/op_model_mipsxx.c:300:2: note: here
        case 3:
        ^~~~
      arch/mips/oprofile/op_model_mipsxx.c:302:3: warning: this statement may fall through [-Wimplicit-fallthrough=]
         w_c0_perfcntr2(0);
         ^~~~~~~~~~~~~~~~~
      arch/mips/oprofile/op_model_mipsxx.c:303:2: note: here
        case 2:
        ^~~~
      arch/mips/oprofile/op_model_mipsxx.c:305:3: warning: this statement may fall through [-Wimplicit-fallthrough=]
         w_c0_perfcntr1(0);
         ^~~~~~~~~~~~~~~~~
      arch/mips/oprofile/op_model_mipsxx.c:306:2: note: here
        case 1:
        ^~~~
      arch/mips/oprofile/op_model_mipsxx.c: In function ‘mipsxx_perfcount_handler’:
      arch/mips/oprofile/op_model_mipsxx.c:242:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
         if ((control & MIPS_PERFCTRL_IE) &&   \
            ^
      arch/mips/oprofile/op_model_mipsxx.c:248:2: note: in expansion of macro ‘HANDLE_COUNTER’
        HANDLE_COUNTER(3)
        ^~~~~~~~~~~~~~
      arch/mips/oprofile/op_model_mipsxx.c:239:2: note: here
        case n + 1:       \
        ^
      arch/mips/oprofile/op_model_mipsxx.c:249:2: note: in expansion of macro ‘HANDLE_COUNTER’
        HANDLE_COUNTER(2)
        ^~~~~~~~~~~~~~
      arch/mips/oprofile/op_model_mipsxx.c:242:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
         if ((control & MIPS_PERFCTRL_IE) &&   \
            ^
      arch/mips/oprofile/op_model_mipsxx.c:249:2: note: in expansion of macro ‘HANDLE_COUNTER’
        HANDLE_COUNTER(2)
        ^~~~~~~~~~~~~~
      arch/mips/oprofile/op_model_mipsxx.c:239:2: note: here
        case n + 1:       \
        ^
      arch/mips/oprofile/op_model_mipsxx.c:250:2: note: in expansion of macro ‘HANDLE_COUNTER’
        HANDLE_COUNTER(1)
        ^~~~~~~~~~~~~~
      arch/mips/oprofile/op_model_mipsxx.c:242:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
         if ((control & MIPS_PERFCTRL_IE) &&   \
            ^
      arch/mips/oprofile/op_model_mipsxx.c:250:2: note: in expansion of macro ‘HANDLE_COUNTER’
        HANDLE_COUNTER(1)
        ^~~~~~~~~~~~~~
      arch/mips/oprofile/op_model_mipsxx.c:239:2: note: here
        case n + 1:       \
        ^
      arch/mips/oprofile/op_model_mipsxx.c:251:2: note: in expansion of macro ‘HANDLE_COUNTER’
        HANDLE_COUNTER(0)
        ^~~~~~~~~~~~~~
        CC      usr/include/linux/pmu.h.s
      arch/mips/oprofile/op_model_mipsxx.c: In function ‘mipsxx_cpu_setup’:
      arch/mips/oprofile/op_model_mipsxx.c:174:3: warning: this statement may fall through [-Wimplicit-fallthrough=]
         w_c0_perfcntr3(reg.counter[3]);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      arch/mips/oprofile/op_model_mipsxx.c:175:2: note: here
        case 3:
        ^~~~
      arch/mips/oprofile/op_model_mipsxx.c:177:3: warning: this statement may fall through [-Wimplicit-fallthrough=]
         w_c0_perfcntr2(reg.counter[2]);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      arch/mips/oprofile/op_model_mipsxx.c:178:2: note: here
        case 2:
        ^~~~
      arch/mips/oprofile/op_model_mipsxx.c:180:3: warning: this statement may fall through [-Wimplicit-fallthrough=]
         w_c0_perfcntr1(reg.counter[1]);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      arch/mips/oprofile/op_model_mipsxx.c:181:2: note: here
        case 1:
        ^~~~
      Signed-off-by: default avatarGustavo A. R. Silva <gustavo@embeddedor.com>
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      Cc: Robert Richter <rric@kernel.org>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: James Hogan <jhogan@kernel.org>
      Cc: oprofile-list@lists.sf.net
      Cc: linux-mips@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Cc: Kees Cook <keescook@chromium.org>
      2d291e6c
  2. 18 Jul, 2019 4 commits
  3. 16 Jul, 2019 1 commit
    • Stephen Rothwell's avatar
      MIPS: fix some more fall through errors in arch/mips · e5793cd1
      Stephen Rothwell authored
      Fix these errors:
      
       arch/mips/cavium-octeon/executive/cvmx-pko.c:489:7: error: this statement may fall through [-Werror=implicit-fallthrough=]
       arch/mips/bcm63xx/dev-flash.c:89:3: error: this statement may fall through [-Werror=implicit-fallthrough=]
       arch/mips/ath79/setup.c:155:17: error: this statement may fall through [-Werror=implicit-fallthrough=]
       arch/mips/ar7/setup.c:50:3: error: this statement may fall through [-Werror=implicit-fallthrough=]
      
      Cc: Florian Fainelli <f.fainelli@gmail.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: John Crispin <john@phrozen.org>
      Cc: Matthias Schiffer <mschiffer@universe-factory.net>
      Cc: "Petr Štetiar" <ynezz@true.cz>
      Signed-off-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      e5793cd1
  4. 15 Jul, 2019 1 commit
    • Stephen Rothwell's avatar
      MIPS: perf events: handle switch statement falling through warnings · 03bcba73
      Stephen Rothwell authored
      Now that we build with -Wimplicit-fallthrough=3, some warnings are
      produced in the arch/mips perf events code that are promoted to errors:
      
       arch/mips/kernel/perf_event_mipsxx.c:792:3: error: this statement may fall through [-Werror=implicit-fallthrough=]
       arch/mips/kernel/perf_event_mipsxx.c:795:3: error: this statement may fall through [-Werror=implicit-fallthrough=]
       arch/mips/kernel/perf_event_mipsxx.c:798:3: error: this statement may fall through [-Werror=implicit-fallthrough=]
       arch/mips/kernel/perf_event_mipsxx.c:1407:6: error: this statement may fall through [-Werror=implicit-fallthrough=]
      
      Assume the fall throughs are deliberate amd annotate/eliminate them.
      
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Gustavo A. R. Silva <gustavo@embeddedor.com>
      Cc: Kees Cook <keescook@chromium.org>
      Signed-off-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      [paul.burton@mips.com:
        - Make n signed to fix the loop condition.
        - Simplify the initialization of n, which should never have a value
          greater than 4.
        - Invert conditions in the loop to decrease indentation.]
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      03bcba73
  5. 03 Jul, 2019 1 commit
    • Anshuman Khandual's avatar
      mips/kprobes: Export kprobe_fault_handler() · c9093486
      Anshuman Khandual authored
      Generic kprobe_page_fault() calls into kprobe_fault_handler() which must be
      available with and without CONFIG_KPROBES. There is one stub implementation
      for !CONFIG_KPROBES. For CONFIG_KPROBES all subscribing archs must provide
      a kprobe_fault_handler() definition. Currently mips has an implementation
      which is defined as 'static inline'. Make it available for generic kprobes
      to comply with the above new requirement.
      
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Paul Burton <paul.burton@mips.com>
      Cc: James Hogan <jhogan@kernel.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: linux-mips@vger.kernel.org
      Cc: linux-mm@kvack.org
      Reported-by: default avatarkbuild test robot <lkp@intel.com>
      Signed-off-by: default avatarAnshuman Khandual <anshuman.khandual@arm.com>
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      Fixes: 773734b44557 ("mm, kprobes: generalize and rename notify_page_fault() as kprobe_page_fault()")
      Cc: linux-kernel@vger.kernel.org
      c9093486
  6. 24 Jun, 2019 16 commits
    • Paul Cercueil's avatar
      MAINTAINERS: Add myself as Ingenic SoCs maintainer · a4e5914a
      Paul Cercueil authored
      Add myself as the maintainer of the arch code, devicetree files and
      drivers related to the JZ47xx family of SoCs from Ingenic.
      Signed-off-by: default avatarPaul Cercueil <paul@crapouillou.net>
      [paul.burton@mips.com: Keep list sorted; move after JZ4780 NAND.]
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-mips@vger.kernel.org
      a4e5914a
    • Stefan Roese's avatar
      MIPS: ralink: mt7628a.dtsi: Add watchdog controller DT node · 1bca2eac
      Stefan Roese authored
      This patch adds the watchdog controller description to the MT7628A dtsi
      file.
      Signed-off-by: default avatarStefan Roese <sr@denx.de>
      Cc: Paul Burton <paul.burton@mips.com>
      Cc: Harvey Hunt <harveyhuntnexus@gmail.com>
      Cc: John Crispin <john@phrozen.org>
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      Cc: linux-mips@vger.kernel.org
      1bca2eac
    • Stefan Roese's avatar
      MIPS: ralink: mt7628a.dtsi: Add SPI controller DT node · 4e41b745
      Stefan Roese authored
      This patch adds the SPI controller description to the MT7628A dtsi file.
      Signed-off-by: default avatarStefan Roese <sr@denx.de>
      Cc: Paul Burton <paul.burton@mips.com>
      Cc: Harvey Hunt <harveyhuntnexus@gmail.com>
      Cc: John Crispin <john@phrozen.org>
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      Cc: linux-mips@vger.kernel.org
      4e41b745
    • Stefan Roese's avatar
      MIPS: ralink: mt7628a.dtsi: Add GPIO controller DT node · e456a3bd
      Stefan Roese authored
      This patch adds the GPIO controller description to the MT7628A dtsi file.
      Signed-off-by: default avatarStefan Roese <sr@denx.de>
      Cc: Paul Burton <paul.burton@mips.com>
      Cc: Harvey Hunt <harveyhuntnexus@gmail.com>
      Cc: John Crispin <john@phrozen.org>
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      Cc: linux-mips@vger.kernel.org
      e456a3bd
    • Stefan Roese's avatar
      MIPS: ralink: mt7628a.dtsi: Add pinctrl DT properties to the UART nodes · 6394de39
      Stefan Roese authored
      Now that pinmux is available, let's use it for the UART DT nodes.
      Signed-off-by: default avatarStefan Roese <sr@denx.de>
      Cc: Paul Burton <paul.burton@mips.com>
      Cc: Harvey Hunt <harveyhuntnexus@gmail.com>
      Cc: John Crispin <john@phrozen.org>
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      Cc: linux-mips@vger.kernel.org
      6394de39
    • Stefan Roese's avatar
      MIPS: ralink: mt7628a.dtsi: Add pinmux DT node · 380f072c
      Stefan Roese authored
      This patch adds the pinmux DT node using the generic "pinctrl-single"
      pinmux driver. For this the system-controller register area needs to be
      changed to not overlap with the pinmux registers.
      
      This patch is based on work done by John Crispin.
      Signed-off-by: default avatarStefan Roese <sr@denx.de>
      Cc: Paul Burton <paul.burton@mips.com>
      Cc: Harvey Hunt <harveyhuntnexus@gmail.com>
      Cc: John Crispin <john@phrozen.org>
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      Cc: linux-mips@vger.kernel.org
      380f072c
    • Stefan Roese's avatar
      MIPS: ralink: mt7628a.dtsi: Add SPDX GPL-2.0 license identifier · 9ea34af7
      Stefan Roese authored
      As done in commit b2441318 ("License cleanup: add SPDX GPL-2.0
      license identifier to files with no license"), this patch adds the SPDX
      license identifier to mt7628a.dtsi, which is currently still missing
      this identifier.
      Signed-off-by: default avatarStefan Roese <sr@denx.de>
      Cc: Paul Burton <paul.burton@mips.com>
      Cc: Harvey Hunt <harveyhuntnexus@gmail.com>
      Cc: John Crispin <john@phrozen.org>
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      Cc: linux-mips@vger.kernel.org
      9ea34af7
    • Petr Cvek's avatar
      MIPS: lantiq: Add SMP support for lantiq interrupt controller · 85cf2c37
      Petr Cvek authored
      Some lantiq devices have two ICU controllers. The IRQ signal is routed
      to both of them and user can chose which ICU will resend the IRQ to their
      respective VPE. The patch adds the support for the second ICU.
      
      The patch changes a register definition of the driver. Instead of an
      individual IM, the whole ICU is defined. This will only affects openwrt
      patched kernel (vanilla doesn't have additional .dts files).
      
      Also spinlocks has been added, both cores can RMW different bitfields
      in the same register. Added affinity set function. The new VPE cpumask
      will take into the action at the irq enable.
      
      The functionality was tested on 4.14 openwrt kernel and TP-W9980B modem.
      Signed-off-by: default avatarPetr Cvek <petrcvekcz@gmail.com>
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      Cc: hauke@hauke-m.de
      Cc: john@phrozen.org
      Cc: linux-mips@vger.kernel.org
      Cc: openwrt-devel@lists.openwrt.org
      Cc: pakahmar@hotmail.com
      85cf2c37
    • Petr Cvek's avatar
      MIPS: lantiq: Shorten register names, remove unused macros · f0dd3001
      Petr Cvek authored
      The macros LTQ_ICU_IM1_ISR and LTQ_ICU_OFFSET seems to be unused, remove
      them. Allong with that, remove _IM0 substring from the macro names. The
      IM (interrupt module) is already defined in IOMEM access and IM0 would be
      misleading.
      Signed-off-by: default avatarPetr Cvek <petrcvekcz@gmail.com>
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      Cc: hauke@hauke-m.de
      Cc: john@phrozen.org
      Cc: linux-mips@vger.kernel.org
      Cc: openwrt-devel@lists.openwrt.org
      Cc: pakahmar@hotmail.com
      f0dd3001
    • Petr Cvek's avatar
      MIPS: lantiq: Fix bitfield masking · ba1bc0fc
      Petr Cvek authored
      The modification of EXIN register doesn't clean the bitfield before
      the writing of a new value. After a few modifications the bitfield would
      accumulate only '1's.
      Signed-off-by: default avatarPetr Cvek <petrcvekcz@gmail.com>
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      Cc: hauke@hauke-m.de
      Cc: john@phrozen.org
      Cc: linux-mips@vger.kernel.org
      Cc: openwrt-devel@lists.openwrt.org
      Cc: pakahmar@hotmail.com
      ba1bc0fc
    • Petr Cvek's avatar
      MIPS: lantiq: Remove unused macros · 7c6747bc
      Petr Cvek authored
      The last use of both macros was in 4.11.
      Signed-off-by: default avatarPetr Cvek <petrcvekcz@gmail.com>
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      Cc: hauke@hauke-m.de
      Cc: john@phrozen.org
      Cc: linux-mips@vger.kernel.org
      Cc: openwrt-devel@lists.openwrt.org
      Cc: pakahmar@hotmail.com
      7c6747bc
    • Petr Cvek's avatar
      MIPS: lantiq: Fix attributes of of_device_id structure · 64a95283
      Petr Cvek authored
      According to the checkpatch the driver structure of_device_id requires
      to be const and with attribute __initconst. Change it accordingly.
      Signed-off-by: default avatarPetr Cvek <petrcvekcz@gmail.com>
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      Cc: hauke@hauke-m.de
      Cc: john@phrozen.org
      Cc: linux-mips@vger.kernel.org
      Cc: openwrt-devel@lists.openwrt.org
      Cc: pakahmar@hotmail.com
      64a95283
    • Petr Cvek's avatar
      MIPS: lantiq: Change variables to the same type as the source · 39588164
      Petr Cvek authored
      A structure irq_data, irq_desc_get_irq() and irq_linear_revmap() use
      a different type than defined in the lantiq ICU driver, which is using
      signed integers. The substracted result should never be negative nor is
      tested for that situation. Change it to unsigned.
      Signed-off-by: default avatarPetr Cvek <petrcvekcz@gmail.com>
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      Cc: hauke@hauke-m.de
      Cc: john@phrozen.org
      Cc: linux-mips@vger.kernel.org
      Cc: openwrt-devel@lists.openwrt.org
      Cc: pakahmar@hotmail.com
      39588164
    • Petr Cvek's avatar
      MIPS: lantiq: Move macro directly to iomem function · aa0f58b4
      Petr Cvek authored
      Using the variable as a temporary holder for the macro of the register
      offset value is not necessary. Move it directly to the IOMEM read/write
      call.
      Signed-off-by: default avatarPetr Cvek <petrcvekcz@gmail.com>
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      Cc: hauke@hauke-m.de
      Cc: john@phrozen.org
      Cc: linux-mips@vger.kernel.org
      Cc: openwrt-devel@lists.openwrt.org
      Cc: pakahmar@hotmail.com
      aa0f58b4
    • Serge Semin's avatar
      mips: Remove q-accessors from non-64bit platforms · 1e279144
      Serge Semin authored
      There are some generic drivers in the kernel, which make use of the
      q-accessors or their derivatives. While at current asm/io.h the accessors
      are defined, their implementation is only applicable either for 64bit
      systems, or for systems with cpu_has_64bits flag set. Obviously there
      are MIPS systems which are neither of these, but still need to have
      those drivers supported. In this case the solution is to define some
      generic versions of the q-accessors, but with a limitation to be
      non-atomic. Such accessors are defined in the
      io-64-nonatomic-{hi-lo,lo-hi}.h file. The drivers which utilize the
      q-suffixed IO-methods are supposed to include the header file, so
      in case if these accessors aren't defined for the platform, the generic
      non-atomic versions are utilized. Currently the MIPS-specific asm/io.h
      file provides the q-accessors for any MIPS system even for ones, which
      in fact don't support them and raise BUG() in case if any of them is
      called. Due to this the generic versions of the accessors are never
      used while an attempt to call the IO-methods causes the kernel BUG().
      In order to fix this we need to define the q-accessors only for
      the MIPS systems, which actually support them, and don't define them
      otherwise, so to let the corresponding drivers to use the non-atomic
      q-suffixed accessors.
      Signed-off-by: default avatarSerge Semin <fancer.lancer@gmail.com>
      Suggested-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Vadim V. Vlasov <vadim.vlasov@t-platforms.ru>
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: James Hogan <jhogan@kernel.org>
      Cc: Serge Semin <Sergey.Semin@t-platforms.ru>
      Cc: linux-mips@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      1e279144
    • Paul Burton's avatar
      FDDI: defza: Include linux/io-64-nonatomic-lo-hi.h · 262e4c38
      Paul Burton authored
      Currently arch/mips/include/asm/io.h provides 64b memory accessor
      functions such as readq & writeq even on MIPS32 platforms where those
      accessors cannot actually perform a 64b memory access. They instead
      BUG(). This is unfortunate for drivers which either #ifdef on the
      presence of these accessors, or can function with non-atomic
      implementations of them found in either linux/io-64-nonatomic-lo-hi.h or
      linux/io-64-nonatomic-hi-lo.h. As such we're preparing to remove the
      definitions of these 64b accessor functions for MIPS32 kernels.
      
      In preparation for this, include linux/io-64-nonatomic-lo-hi.h in
      defza.c in order to provide a non-atomic implementation of the
      readq_relaxed & writeq_relaxed functions that are used by this code. In
      practice this will have no runtime effect, since use of the 64b accessor
      functions is conditional upon sizeof(unsigned long) == 8, ie. upon
      CONFIG_64BIT=y. This means the calls to these non-atomic readq & writeq
      implementations will be optimized out anyway, but we need their
      definitions to keep the compiler happy.
      
      For 64bit kernels using this code this change should also have no effect
      because asm/io.h will continue to provide the definitions of
      readq_relaxed & writeq_relaxed, which linux/io-64-nonatomic-lo-hi.h
      checks for before defining itself.
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      Acked-by: default avatarMaciej W. Rozycki <macro@linux-mips.org>
      Acked-by: default avatarDavid S. Miller <davem@davemloft.net>
      Cc: Serge Semin <Sergey.Semin@t-platforms.ru>
      Cc: netdev@vger.kernel.org
      Cc: linux-mips@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      262e4c38
  7. 11 Jun, 2019 10 commits
  8. 29 May, 2019 1 commit
  9. 26 May, 2019 5 commits