10 May, 2017

1 commit

  • Pull ARM SoC driver updates from Olof Johansson:
    "Driver updates for ARM SoCs:

    Reset subsystem, merged through arm-soc by tradition:
    - Make bool drivers explicitly non-modular
    - New support for i.MX7 and Arria10 reset controllers

    PATA driver for Palmchip BK371 (acked by Tejun)

    Power domain drivers for i.MX (GPC, GPCv2)
    - Moved out of mach-imx for GPC
    - Bunch of tweaks, fixes, etc

    PMC support for Tegra186

    SoC detection support for Renesas RZ/G1H and RZ/G1N

    Move Tegra flow controller driver from mach directory to drivers/soc
    - (Power management / CPU power driver)

    Misc smaller tweaks for other platforms"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (60 commits)
    soc: pm-domain: Fix the mangled urls
    soc: renesas: rcar-sysc: Add support for R-Car H3 ES2.0
    soc: renesas: rcar-sysc: Add support for fixing up power area tables
    soc: renesas: Register SoC device early
    soc: imx: gpc: add workaround for i.MX6QP to the GPC PD driver
    dt-bindings: imx-gpc: add i.MX6 QuadPlus compatible
    soc: imx: gpc: add defines for domain index
    soc: imx: Add GPCv2 power gating driver
    dt-bindings: Add GPCv2 power gating driver
    ARM/clk: move the ICST library to drivers/clk
    ARM: plat-versatile: remove stale clock header
    ARM: keystone: Drop PM domain support for k2g
    soc: ti: Add ti_sci_pm_domains driver
    dt-bindings: Add TI SCI PM Domains
    PM / Domains: Do not check if simple providers have phandle cells
    PM / Domains: Add generic data pointer to genpd data struct
    soc/tegra: Add initial flowctrl support for Tegra132/210
    soc/tegra: flowctrl: Add basic platform driver
    soc/tegra: Move Tegra flowctrl driver
    ARM: tegra: Remove unnecessary inclusion of flowctrl header
    ...

    Linus Torvalds
     

04 Apr, 2017

1 commit

  • Rename the internal __reset_control_get/put functions to
    __reset_control_get/put_internal and add an exported
    __reset_control_get equivalent to __of_reset_control_get
    that takes a struct device parameter.
    This avoids the confusing call to __of_reset_control_get in
    the non-DT case and fixes the devm_reset_control_get_optional
    function to return NULL if RESET_CONTROLLER is enabled but
    dev->of_node == NULL.

    Fixes: bb475230b8e5 ("reset: make optional functions really optional")
    Reported-by: Andy Shevchenko
    Tested-by: Andy Shevchenko
    Cc: Ramiro Oliveira
    Signed-off-by: Philipp Zabel

    Philipp Zabel
     

29 Mar, 2017

1 commit


15 Mar, 2017

3 commits

  • The Allwinner reset controller has 32-bit registers, so translating
    the reset cell number into a register and bit offset should not use
    any architecture dependent data size. Otherwise this breaks for 64-bit
    architectures like arm64.
    Fix this by making it clear that it's the hardware register width which
    matters here in the calculation.

    Signed-off-by: Andre Przywara
    Acked-by: Chen-Yu Tsai
    Signed-off-by: Philipp Zabel

    Andre Przywara
     
  • This patch adds the reset controller functionality for
    Peripheral PHYs to the Arria10 System Resource Chip.

    Signed-off-by: Thor Thayer
    Signed-off-by: Philipp Zabel

    Thor Thayer
     
  • Add reset controller driver exposing various reset faculties,
    implemented by System Reset Controller IP block.

    Cc: Lucas Stach
    Cc: Mark Rutland
    Cc: devicetree@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-arm-kernel@lists.infradead.org
    Signed-off-by: Andrey Smirnov
    Acked-by: Rob Herring
    Signed-off-by: Philipp Zabel

    Andrey Smirnov
     

08 Mar, 2017

6 commits

  • The SoC-FPGA reset controller driver defines NR_BANKS as 4 and uses that define
    for two unrelated purposes. It is used
    1. as an increment for reset line banks which are 32-bit registers with 4-byte
    aligned addresses.
    2. as the total number of reset line banks which together with the number of
    resets per bank (32) limits the total number of useable resets to 128 and the
    highest useable reset ID to 127.

    This is clearly wrong as there are resets with higher IDs than 127 defined in
    include/dt-bindings/reset/altr,rst-mgr.h and altr,rst-mgr-a10.h.

    The patch introduces a new define BANK_INCREMENT for calculating the register
    addresses as before and increases NR_BANKS to 8 for useable reset IDs up to 255.

    Signed-off-by: Rojhalat Ibrahim
    Signed-off-by: Philipp Zabel

    Rojhalat Ibrahim
     
  • Fixes the following sparse warnings:

    drivers/reset/reset-uniphier.c:68:34: warning:
    symbol 'uniphier_sld3_sys_reset_data' was not declared. Should it be static?
    drivers/reset/reset-uniphier.c:73:34: warning:
    symbol 'uniphier_pro4_sys_reset_data' was not declared. Should it be static?
    drivers/reset/reset-uniphier.c:81:34: warning:
    symbol 'uniphier_pro5_sys_reset_data' was not declared. Should it be static?
    drivers/reset/reset-uniphier.c:89:34: warning:
    symbol 'uniphier_pxs2_sys_reset_data' was not declared. Should it be static?
    drivers/reset/reset-uniphier.c:103:34: warning:
    symbol 'uniphier_ld11_sys_reset_data' was not declared. Should it be static?
    drivers/reset/reset-uniphier.c:108:34: warning:
    symbol 'uniphier_ld20_sys_reset_data' was not declared. Should it be static?
    drivers/reset/reset-uniphier.c:137:34: warning:
    symbol 'uniphier_sld3_mio_reset_data' was not declared. Should it be static?
    drivers/reset/reset-uniphier.c:157:34: warning:
    symbol 'uniphier_pro5_sd_reset_data' was not declared. Should it be static?
    drivers/reset/reset-uniphier.c:174:34: warning:
    symbol 'uniphier_ld4_peri_reset_data' was not declared. Should it be static?
    drivers/reset/reset-uniphier.c:187:34: warning:
    symbol 'uniphier_pro4_peri_reset_data' was not declared. Should it be static?

    Signed-off-by: Wei Yongjun
    Acked-by: Masahiro Yamada
    Signed-off-by: Philipp Zabel

    Wei Yongjun
     
  • The Kconfig currently controlling compilation of this code is:

    drivers/reset/Kconfig:config RESET_PISTACHIO
    drivers/reset/Kconfig: bool "Pistachio Reset Driver" if COMPILE_TEST

    ...meaning that it currently is not being built as a module by anyone.

    Lets remove the couple traces of modular infrastructure use, so that
    when reading the driver there is no doubt it is builtin-only.

    Since module_platform_driver() uses the same init level priority as
    builtin_platform_driver() the init ordering remains unchanged with
    this commit.

    Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.

    We also delete the MODULE_LICENSE tag etc. since all that information
    is already contained at the top of the file in the comments.

    Cc: Damien Horsley
    Signed-off-by: Paul Gortmaker
    Signed-off-by: Philipp Zabel

    Paul Gortmaker
     
  • The Kconfig currently controlling compilation of this code is:

    drivers/reset/Kconfig:config RESET_ATH79
    drivers/reset/Kconfig: bool "AR71xx Reset Driver" if COMPILE_TEST

    ...meaning that it currently is not being built as a module by anyone.

    Lets remove the modular code that is essentially orphaned, so that
    when reading the driver there is no doubt it is builtin-only.

    We explicitly disallow a driver unbind, since that doesn't have a
    sensible use case anyway, and it allows us to drop the ".remove"
    code for non-modular drivers.

    Since module_platform_driver() uses the same init level priority as
    builtin_platform_driver() the init ordering remains unchanged with
    this commit.

    Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.

    We also delete the MODULE_LICENSE tag etc. since all that information
    was (or is now) contained at the top of the file in the comments.

    Cc: Alban Bedel
    Signed-off-by: Paul Gortmaker
    Acked-by: Alban Bedel
    Signed-off-by: Philipp Zabel

    Paul Gortmaker
     
  • The Kconfig currently controlling compilation of this code is:

    drivers/reset/Kconfig:config RESET_OXNAS
    drivers/reset/Kconfig: bool

    ...meaning that it currently is not being built as a module by anyone.

    Lets remove the couple traces of modular infrastructure use, so that
    when reading the driver there is no doubt it is builtin-only.

    Since module_platform_driver() uses the same init level priority as
    builtin_platform_driver() the init ordering remains unchanged with
    this commit.

    Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.

    Cc: linux-oxnas@lists.tuxfamily.org
    Signed-off-by: Paul Gortmaker
    Acked-by: Neil Armstrong
    Signed-off-by: Philipp Zabel

    Paul Gortmaker
     
  • The Kconfig currently controlling compilation of this code is:

    arch/arm/mach-meson/Kconfig:menuconfig ARCH_MESON
    arch/arm/mach-meson/Kconfig: bool "Amlogic Meson SoCs"

    arch/arm64/Kconfig.platforms:config ARCH_MESON
    arch/arm64/Kconfig.platforms: bool "Amlogic Platforms"

    ...meaning that it currently is not being built as a module by anyone.

    Lets remove the modular code that is essentially orphaned, so that
    when reading the driver there is no doubt it is builtin-only.

    Since module_platform_driver() uses the same init level priority as
    builtin_platform_driver() the init ordering remains unchanged with
    this commit.

    Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.

    We also delete the MODULE_LICENSE tag etc. since all that information
    was (or is now) contained at the top of the file in the comments.

    Cc: Carlo Caione
    Cc: Kevin Hilman
    Cc: linux-amlogic@lists.infradead.org
    Signed-off-by: Paul Gortmaker
    Acked-by: Neil Armstrong
    Signed-off-by: Philipp Zabel

    Paul Gortmaker
     

24 Feb, 2017

1 commit

  • Pull ARM SoC driver updates from Arnd Bergmann:
    "Driver updates for ARM SoCs.

    A handful of driver changes this time around. The larger changes are:

    - Reset drivers for hi3660 and zx2967

    - AHCI driver for Davinci, acked by Tejun and brought in here due to
    platform dependencies

    - Cleanups of atmel-ebi (External Bus Interface)

    - Tweaks for Rockchip GRF (General Register File) usage (kitchensink
    misc register range on the SoCs)

    - PM domains changes for support of two new ZTE SoCs (zx296718 and
    zx2967)"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (53 commits)
    soc: samsung: pmu: Add register defines for pad retention control
    reset: make zx2967 explicitly non-modular
    reset: core: fix reset_control_put
    soc: samsung: pm_domains: Read domain name from the new label property
    soc: samsung: pm_domains: Remove message about failed memory allocation
    soc: samsung: pm_domains: Remove unused name field
    soc: samsung: pm_domains: Use full names in subdomains registration log
    sata: ahci-da850: un-hardcode the MPY bits
    sata: ahci-da850: add a workaround for controller instability
    sata: ahci: export ahci_do_hardreset() locally
    sata: ahci-da850: implement a workaround for the softreset quirk
    sata: ahci-da850: add device tree match table
    sata: ahci-da850: get the sata clock using a connection id
    soc: samsung: pmu: Remove duplicated define for ARM_L2_OPTION register
    memory: atmel-ebi: Enable the SMC clock if specified
    soc: samsung: pmu: Remove unused and duplicated defines
    memory: atmel-ebi: Properly handle multiple reference to the same CS
    memory: atmel-ebi: Fix the test to enable generic SMC logic
    soc: samsung: pm_domains: Add new Exynos5433 compatible
    soc: samsung: pmu: Add dummy support for Exynos5433 SoC
    ...

    Linus Torvalds
     

17 Feb, 2017

1 commit

  • For a shared reset, when the reset is successful, the triggered_count is
    incremented when trying to call the reset callback, so that another device
    sharing the same reset line won't trigger it again. If the reset has not
    been triggered successfully, the trigger_count should be decremented.

    The code does the opposite, and decrements the trigger_count on success.
    As a consequence, another device sharing the reset will be able to trigger
    it again.

    Fixed be removing negation in from of the error code of the reset function.

    Fixes: 7da33a37b48f ("reset: allow using reset_control_reset with shared reset")

    Signed-off-by: Jerome Brunet
    Acked-by: Martin Blumenstingl
    Signed-off-by: Philipp Zabel

    Jerome Brunet
     

02 Feb, 2017

1 commit

  • The Kconfig currently controlling compilation of this code is:

    config RESET_ZX2967
    bool "ZTE ZX2967 Reset Driver

    ...meaning that it currently is not being built as a module by anyone.

    Lets remove the couple traces of modular infrastructure use, so that
    when reading the driver there is no doubt it is builtin-only.

    Since builtin_platform_driver() was already in use, the init ordering
    remains unchanged with this commit.

    Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.

    We also delete the MODULE_LICENSE tag etc. since all that information
    is already contained at the top of the file in the comments.

    We don't replace module.h with init.h since the file does not appear
    to use __init prefix anywhere.

    Cc: Jun Nie
    Signed-off-by: Paul Gortmaker
    Reviewed-by: Baoyou Xie
    Signed-off-by: Philipp Zabel

    Paul Gortmaker
     

01 Feb, 2017

1 commit

  • Commit "reset: make optional functions really optional" missed to
    adjust one check in reset_control_put, causing a NULL pointer
    access for optional resets.

    Fixes: bb475230b8e5 "reset: make optional functions really optional"
    Signed-off-by: Heiner Kallweit
    Signed-off-by: Philipp Zabel

    Heiner Kallweit
     

20 Jan, 2017

4 commits


12 Jan, 2017

1 commit

  • Declare reset_control_ops structures as const as they are only stored
    in the ops field of a reset_controller_dev structure. This field is of
    type const struct reset_control_ops *, so reset_control_ops structures
    having this property can be declared as const.
    Done using Coccinelle:

    @r1 disable optional_qualifier@
    identifier i;
    position p;
    @@
    static struct reset_control_ops i@p={...};

    @ok1@
    identifier r1.i;
    position p;
    struct ti_syscon_reset_data data;
    @@
    data.rcdev.ops=&i@p;

    @bad@
    position p!={r1.p,ok1.p};
    identifier r1.i;
    @@
    i@p

    @depends on !bad disable optional_qualifier@
    identifier r1.i;
    @@
    +const
    struct reset_control_ops i;

    File size before: drivers/reset/reset-ti-syscon.o
    text data bss dec hex filename
    1329 240 0 1569 621 drivers/reset/reset-ti-syscon.o

    File size after: drivers/reset/reset-ti-syscon.o
    text data bss dec hex filename
    1377 192 0 1569 621 drivers/reset/reset-ti-syscon.o

    Signed-off-by: Bhumika Goyal
    Signed-off-by: Philipp Zabel

    Bhumika Goyal
     

09 Jan, 2017

2 commits

  • Add hi3660 reset driver
    Example of dts usage:
    iomcu_rst: iomcu_rst_controller {
    compatible = "hisilicon,hi3660-reset";
    hisi,rst-syscon = ;
    #reset-cells = ;
    };

    i2c0: i2c@..... {
    ...
    resets = ; /* offset: 0x20; bit: 3 */
    ...
    };

    Signed-off-by: Zhangfei Gao
    Signed-off-by: Philipp Zabel

    Zhangfei Gao
     
  • If STATUS_SET was not set, ti_syscon_reset_status would always return 0
    no matter whether the status_bit was set or not.

    Signed-off-by: Jiancheng Xue
    Fixes: cc7c2bb1493c ("reset: add TI SYSCON based reset driver")
    Signed-off-by: Philipp Zabel

    Jiancheng Xue
     

16 Dec, 2016

1 commit

  • Pull ARM SoC driver updates from Arnd Bergmann:
    "Driver updates for ARM SoCs, including a couple of newly added
    drivers:

    - A new driver for the power management controller on TI Keystone

    - Support for the prerelease "SCPI" firmware protocol that ended up
    being shipped by Amlogic in their GXBB SoC.

    - A soc_device can now be matched using a glob from inside the
    kernel, when another driver wants to know the specific chip it is
    running on and cannot find out from DT, firmware or hardware.

    - Renesas SoCs now support identification through the soc_device
    interface, both in user space and kernel.

    - Renesas r8a7743 and r8a7745 gain support for their system
    controller

    - A new checking module for the ARM "PSCI" (not to be confused with
    "SCPI" mentioned above) firmware interface.

    - A new driver for the Tegra GMI memory interface

    - Support for the Tegra firmware interfaces with their power
    management controllers

    As usual, the updates for the reset controller framework are merged
    here, as they tend to touch multiple SoCs as well, including a new
    driver for the Oxford (now Broadcom) OX820 chip and the Tegra bpmp
    interface.

    The existing drivers for Atmel, Qualcomm, NVIDIA, TI Davinci, and
    Rockchips SoCs see some further updates"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (76 commits)
    misc: sram: remove useless #ifdef
    drivers: psci: Allow PSCI node to be disabled
    drivers: psci: PSCI checker module
    soc: renesas: Identify SoC and register with the SoC bus
    firmware: qcom: scm: Return PTR_ERR when devm_clk_get fails
    firmware: qcom: scm: Remove core, iface and bus clocks dependency
    dt-bindings: firmware: scm: Add MSM8996 DT bindings
    memory: da8xx-ddrctl: drop the call to of_flat_dt_get_machine_name()
    bus: da8xx-mstpri: drop the call to of_flat_dt_get_machine_name()
    ARM: shmobile: Document DT bindings for Product Register
    soc: renesas: rcar-sysc: add R8A7745 support
    reset: Add Tegra BPMP reset driver
    dt-bindings: firmware: Allow child nodes inside the Tegra BPMP
    dt-bindings: Add power domains to Tegra BPMP firmware
    firmware: tegra: Add BPMP support
    firmware: tegra: Add IVC library
    dt-bindings: firmware: Add bindings for Tegra BPMP
    mailbox: tegra-hsp: Use after free in tegra_hsp_remove_doorbells()
    mailbox: Add Tegra HSP driver
    firmware: arm_scpi: add support for pre-v1.0 SCPI compatible
    ...

    Linus Torvalds
     

19 Nov, 2016

1 commit


18 Nov, 2016

1 commit


14 Nov, 2016

1 commit

  • Some SoCs (for example Amlogic GXBB) implement a reset controller which
    only supports a reset pulse (triggered via reset_control_reset). At the
    same time multiple devices (in case of the Amlogic GXBB SoC both USB
    PHYs) are sharing the same reset line.

    This patch allows using reset_control_reset also for shared resets.
    There are limitations though:
    reset_control_reset can only be used if reset_control_assert was not
    used yet.
    reset_control_assert can only be used if reset_control_reset was not
    used yet.
    For shared resets the reset is only triggered once for the lifetime of
    the reset_control instance (the reset can be triggered again if all
    consumers of that specific reset_control are gone, as the reset
    framework will free the reset_control instance in that case).

    Signed-off-by: Martin Blumenstingl
    Signed-off-by: Philipp Zabel

    Martin Blumenstingl
     

24 Oct, 2016

5 commits

  • The Kconfig currently controlling compilation of this code is:

    drivers/reset/Kconfig:config RESET_LPC18XX
    drivers/reset/Kconfig: bool "LPC18xx/43xx Reset Driver" if COMPILE_TEST
    drivers/reset/Kconfig: default ARCH_LPC18XX

    or

    arch/arm/Kconfig:config ARCH_LPC18XX
    arch/arm/Kconfig: bool "NXP LPC18xx/LPC43xx"

    ...meaning that it currently is not being built as a module by anyone.

    Lets remove the modular code that is essentially orphaned, so that
    when reading the driver there is no doubt it is builtin-only.

    We explicitly disallow a driver unbind, since that doesn't have a
    sensible use case anyway, and it allows us to drop the ".remove"
    code for non-modular drivers.

    Since module_platform_driver() uses the same init level priority as
    builtin_platform_driver() the init ordering remains unchanged with
    this commit.

    Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.

    We also delete the MODULE_LICENSE tag etc. since all that information
    is already contained at the top of the file in the comments.

    Cc: Joachim Eastwood
    Signed-off-by: Paul Gortmaker
    Signed-off-by: Philipp Zabel

    Paul Gortmaker
     
  • The Makefile/Kconfig currently controlling compilation of this code is:

    drivers/reset/Kconfig:config RESET_ZYNQ
    drivers/reset/Kconfig: bool "ZYNQ Reset Driver" if COMPILE_TEST
    drivers/reset/Kconfig: default ARCH_ZYNQ

    or

    drivers/reset/Makefile:obj-$(CONFIG_ARCH_ZYNQ) += reset-zynq.o
    arch/arm/mach-zynq/Kconfig:config ARCH_ZYNQ
    arch/arm/mach-zynq/Kconfig: bool "Xilinx Zynq ARM Cortex A9 Platform" if ARCH_MULTI_V7

    ...meaning that it currently is not being built as a module by anyone.

    Lets remove the few remaining traces of modular macro usage, so that
    when reading the driver there is no doubt it is builtin-only.

    Since module_platform_driver() uses the same init level priority as
    builtin_platform_driver() the init ordering remains unchanged with
    this commit.

    We also delete the MODULE_LICENSE tag etc. since all that information
    was (or is now) contained at the top of the file in the comments.

    Cc: "Sören Brinkmann"
    Signed-off-by: Paul Gortmaker
    Acked-by: Michal Simek
    Acked-by: Moritz Fischer
    Signed-off-by: Philipp Zabel

    Paul Gortmaker
     
  • The Kconfig currently controlling compilation of this code is:

    drivers/reset/Kconfig:config RESET_SUNXI
    drivers/reset/Kconfig: bool "Allwinner SoCs Reset Driver" if COMPILE_TEST && !ARCH_SUNXI
    drivers/reset/Kconfig: default ARCH_SUNXI

    or

    arch/arm/mach-sunxi/Kconfig:menuconfig ARCH_SUNXI
    arch/arm/mach-sunxi/Kconfig: bool "Allwinner SoCs" if ARCH_MULTI_V7

    ...meaning that it currently is not being built as a module by anyone.

    Lets remove the few remaining traces of modular macro usage, so that
    when reading the driver there is no doubt it is builtin-only.

    Since module_platform_driver() uses the same init level priority as
    builtin_platform_driver() the init ordering remains unchanged with
    this commit.

    Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.

    We also delete the MODULE_LICENSE tag etc. since all that information
    is already contained at the top of the file in the comments.

    Cc: Maxime Ripard
    Signed-off-by: Paul Gortmaker
    Signed-off-by: Philipp Zabel

    Paul Gortmaker
     
  • The Kconfig currently controlling compilation of this code is:

    drivers/reset/Kconfig:config RESET_SOCFPGA
    drivers/reset/Kconfig: bool "SoCFPGA Reset Driver" if COMPILE_TEST
    drivers/reset/Kconfig: default ARCH_SOCFPGA

    or

    arch/arm/mach-socfpga/Kconfig:menuconfig ARCH_SOCFPGA
    arch/arm/mach-socfpga/Kconfig: bool "Altera SOCFPGA family" if ARCH_MULTI_V7

    ...meaning that it currently is not being built as a module by anyone.

    Lets remove the small amount of modular evidence that remains, so that
    when reading the driver there is no doubt it is builtin-only.

    Since module_platform_driver() uses the same init level priority as
    builtin_platform_driver() the init ordering remains unchanged with
    this commit.

    We also delete the MODULE_LICENSE tag etc. since all that information
    was (or is now) contained at the top of the file in the comments.

    Cc: Steffen Trumtrar
    Cc: Masahiro Yamada
    Signed-off-by: Paul Gortmaker
    Signed-off-by: Philipp Zabel

    Paul Gortmaker
     
  • The Kconfig currently controlling compilation of this code is:

    drivers/reset/Kconfig:config RESET_BERLIN
    drivers/reset/Kconfig: bool "Berlin Reset Driver" if COMPILE_TEST
    drivers/reset/Kconfig: default ARCH_BERLIN

    or

    arch/arm/mach-berlin/Kconfig:menuconfig ARCH_BERLIN
    arch/arm/mach-berlin/Kconfig: bool "Marvell Berlin SoCs" if ARCH_MULTI_V7

    or

    arch/arm64/Kconfig.platforms:config ARCH_BERLIN
    arch/arm64/Kconfig.platforms: bool "Marvell Berlin SoC Family"

    ...meaning that it currently is not being built as a module by anyone.

    Lets remove the modular code that is essentially orphaned, so that
    when reading the driver there is no doubt it is builtin-only.

    Since module_platform_driver() uses the same init level priority as
    builtin_platform_driver() the init ordering remains unchanged with
    this commit.

    Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.

    We also delete the MODULE_LICENSE tag etc. since all that information
    was (or is now) contained at the top of the file in the comments.

    Cc: Antoine Tenart
    Cc: Sebastian Hesselbarth
    Signed-off-by: Paul Gortmaker
    Signed-off-by: Philipp Zabel

    Paul Gortmaker
     

22 Oct, 2016

1 commit


20 Oct, 2016

2 commits


30 Aug, 2016

5 commits