Commit Graph

44 Commits

Author SHA1 Message Date
Linus Torvalds
21a6ab2131 Modules updates for v5.12
Summary of modules changes for the 5.12 merge window:
 
 - Retire EXPORT_UNUSED_SYMBOL() and EXPORT_SYMBOL_GPL_FUTURE(). These export
   types were introduced between 2006 - 2008. All the of the unused symbols have
   been long removed and gpl future symbols were converted to gpl quite a long
   time ago, and I don't believe these export types have been used ever since.
   So, I think it should be safe to retire those export types now. (Christoph Hellwig)
 
 - Refactor and clean up some aged code cruft in the module loader (Christoph Hellwig)
 
 - Build {,module_}kallsyms_on_each_symbol only when livepatching is enabled, as
   it is the only caller (Christoph Hellwig)
 
 - Unexport find_module() and module_mutex and fix the last module
   callers to not rely on these anymore. Make module_mutex internal to
   the module loader. (Christoph Hellwig)
 
 - Harden ELF checks on module load and validate ELF structures before checking
   the module signature (Frank van der Linden)
 
 - Fix undefined symbol warning for clang (Fangrui Song)
 
 - Fix smatch warning (Dan Carpenter)
 
 Signed-off-by: Jessica Yu <jeyu@kernel.org>
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCAAuFiEEVrp26glSWYuDNrCUwEV+OM47wXIFAmA0/KMQHGpleXVAa2Vy
 bmVsLm9yZwAKCRDARX44zjvBcu0uD/4nmRp18EKAtdUZivsZHat0aEWGlkmrVueY
 5huYw6iwM8b/wIAl3xwLki1Iv0/l0a83WXZhLG4ekl0/Nj8kgllA+jtBrZWpoLMH
 CZusN5dS9YwwyD2vu3ak83ARcehcDEPeA9thvc3uRFGis6Hi4bt1rkzGdrzsgqR4
 tybfN4qaQx4ZAKFxA8bnS58l7QTFwUzTxJfM6WWzl1Q+mLZDr/WP+loJ/f1/oFFg
 ufN31KrqqFpdQY5UKq5P4H8FVq/eXE1Mwl8vo3HsnAj598fznyPUmA3D/j+N4GuR
 sTGBVZ9CSehUj7uZRs+Qgg6Bd+y3o44N29BrdZWA6K3ieTeQQpA+VgPUNrDBjGhP
 J/9Y4ms4PnuNEWWRaa73m9qsVqAsjh9+T2xp9PYn9uWLCM8BvQFtWcY7tw4/nB0/
 INmyiP/tIRpwWkkBl47u1TPR09FzBBGDZjBiSn3lm3VX+zCYtHoma5jWyejG11cf
 ybDrTsci9ANyHNP2zFQsUOQJkph78PIal0i3k4ODqGJvaC0iEIH3Xjv+0dmE14rq
 kGRrG/HN6HhMZPjashudVUktyTZ63+PJpfFlQbcUzdvjQQIkzW0vrCHMWx9vD1xl
 Na7vZLl4Nb03WSJp6saY6j2YSRKL0poGETzGqrsUAHEhpEOPHduaiCVlAr/EmeMk
 p6SrWv8+UQ==
 =T29Q
 -----END PGP SIGNATURE-----

Merge tag 'modules-for-v5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux

Pull module updates from Jessica Yu:

 - Retire EXPORT_UNUSED_SYMBOL() and EXPORT_SYMBOL_GPL_FUTURE(). These
   export types were introduced between 2006 - 2008. All the of the
   unused symbols have been long removed and gpl future symbols were
   converted to gpl quite a long time ago, and I don't believe these
   export types have been used ever since. So, I think it should be safe
   to retire those export types now (Christoph Hellwig)

 - Refactor and clean up some aged code cruft in the module loader
   (Christoph Hellwig)

 - Build {,module_}kallsyms_on_each_symbol only when livepatching is
   enabled, as it is the only caller (Christoph Hellwig)

 - Unexport find_module() and module_mutex and fix the last module
   callers to not rely on these anymore. Make module_mutex internal to
   the module loader (Christoph Hellwig)

 - Harden ELF checks on module load and validate ELF structures before
   checking the module signature (Frank van der Linden)

 - Fix undefined symbol warning for clang (Fangrui Song)

 - Fix smatch warning (Dan Carpenter)

* tag 'modules-for-v5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux:
  module: potential uninitialized return in module_kallsyms_on_each_symbol()
  module: remove EXPORT_UNUSED_SYMBOL*
  module: remove EXPORT_SYMBOL_GPL_FUTURE
  module: move struct symsearch to module.c
  module: pass struct find_symbol_args to find_symbol
  module: merge each_symbol_section into find_symbol
  module: remove each_symbol_in_section
  module: mark module_mutex static
  kallsyms: only build {,module_}kallsyms_on_each_symbol when required
  kallsyms: refactor {,module_}kallsyms_on_each_symbol
  module: use RCU to synchronize find_module
  module: unexport find_module and module_mutex
  drm: remove drm_fb_helper_modinit
  powerpc/powernv: remove get_cxl_module
  module: harden ELF info handling
  module: Ignore _GLOBAL_OFFSET_TABLE_ when warning for undefined symbols
2021-02-23 10:15:33 -08:00
Christoph Hellwig
367948220f module: remove EXPORT_UNUSED_SYMBOL*
EXPORT_UNUSED_SYMBOL* is not actually used anywhere.  Remove the
unused functionality as we generally just remove unused code anyway.

Reviewed-by: Miroslav Benes <mbenes@suse.cz>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jessica Yu <jeyu@kernel.org>
2021-02-08 12:28:07 +01:00
Viresh Kumar
d50b870b27 arch: arm: Remove CONFIG_OPROFILE support
The "oprofile" user-space tools don't use the kernel OPROFILE support
any more, and haven't in a long time. User-space has been converted to
the perf interfaces.

Remove the old oprofile's architecture specific support.

Suggested-by: Christoph Hellwig <hch@infradead.org>
Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Acked-by: Robert Richter <rric@kernel.org>
Acked-by: William Cohen <wcohen@redhat.com>
Acked-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
2021-01-22 12:11:54 +05:30
Florian Fainelli
35cdc3fa00 Enables fixed regulator in bcm2835_defconfig
-----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEErOkkGDHCg2EbPcGjlfZmHno8x/4FAl5+ZqgACgkQlfZmHno8
 x/7I3QgAmVsjpxrVc+Ck+XcnNzVT5N3zfzpqVTHt7cG6140s55YPuaZqYNbyJfrz
 4clcGA6zyZ7e1ITgot3iGV1nninoz7M9udUmBeXg+kQxadyumgMJTzteQeold9On
 wuQigqfIJP1TX+b8aVC4H0YwkJ9BO99eNFDeSlGyBqaqrRqkTaWGn+BoI8KAJqpC
 vUKTGfE+zhyJe6+wg4LbX2lm8sCipDc79i5pd8oBSQ7Trzz7/Ga4rkb+kNfSwvwE
 jO++2PIZ5jwc/WQw7uYGpYxsUDxN9TUXGrk0yNznplWa9fgbcXwgfJqqz2OdpuUF
 hcOp0U1iM1ERDc/E3ytpfAQ5fkPo6g==
 =c6HM
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAl6U7fQACgkQh9CWnEQH
 BwTlUw//RSI28PR3njyT6RhsF8NZl+pVNKTGLXgAJm7UT/yJHNfG3Vd6m5ts3ugc
 aJG6WfHB5vicUaqc5S8acmoc9fal8Dj+c7NQpwED+TSLPColBDiwg6WYiF71+uNH
 6CQB5Yy5YUDzudrm339WfoiBPC+4+PxPRsZvSeyGmT+V42YxtD+5OTv03xPlZwbM
 8pO5H/g8//wbifS0QmC4lHS5nvdZqDAiqGmE5enzdPxr+kANCAxCMQnWtNojJyVW
 cT3vRHuQLDTecw0EqGsmXpaooBK/MuuezQjkGjiH8tJh73BWmCoS08OZaa7nabjU
 6D68png6cyiUXOgVNuOx/M4SOP7V2VkNTQZYCTu8uAjLye6XD6Tz4h2z19/clz+I
 y5Qp/mKxG7hG+BGhdztRIv8QTtuEoLjF7eshQQOoiSs58arUCNvERG4PG4ynEgQK
 apLw2dskJUKVPhv4EKuaQKl1JFusEpPR5AljohLdsDNKrVaa3wrLtK9Yvfl3kq+f
 581P809otWeesnh2m+6MovvCx0/Xd4M8FKri4+GUNg+r1/KVAUT0xvXdfNF2BNzG
 ggqYaKMWP1YA+CGCvAsCo07lgZRs3Cpx8uCtnHe9EKLzC1TEcETkJJ3sAg399IUE
 hiqj62ikuohENL7ZghCjsR9Y1Csi/iIVDTWzsw+VOEl8+H5X6Vo=
 =iVbC
 -----END PGP SIGNATURE-----

Merge tag 'tags/bcm2835-defconfig-next-2020-03-27' into defconfig/next

Enables fixed regulator in bcm2835_defconfig

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2020-04-13 15:55:35 -07:00
Linus Torvalds
9b48c8f132 ARM: defconfig updates
As usual, tons of new drivers and other options got merged and
 are now enabled in the defconfig files, usually as loadable modules.
 
 Signed-off-by: Arnd Bergmann <arnd@arndb.de>
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAl6EaVcACgkQmmx57+YA
 GNmYTg/+OBcECrckvyq1LP5x1AnENle1QB4CTKH180TOKXu311IfkOvrDKw3sXlD
 VkWyjayTjhv3LRmESJsps03qjYSSHNIOyyspqkTFov/qHZaDBfpDVeqNpnuKstrb
 y7DWaNqkYNf1eV6vt2m4khplpnGP52OQLuNC2x8RTRdkDL1i5OfAs1UH3fGq6qsl
 dGvfLF6yXKq4Y84Z8jUYGOz4/s1IsKbHK6hvTjocrBCdwqPRJgvLJkwy3X43kWaq
 NDFerbLd+ZOYI5siVr5Rd95zt0JSOLkfGDJgpu/KAnotBJxzKmkF4VrKLh00i9NJ
 QwpV/ndqImALDLeEKHUe0fDkCk9tbzsC8ApqNuv+M5KJ7C3J7O9UWyZm1tbsZcSJ
 NNziz8jSTsp6tOEmLFeLPWdH/i+1j7WljVQaAkqvZuCAgGs24voqUuwvo+6Ulh5b
 VLrfoE45VCIBgSch4VACzTdBbxVufO9yZkZZV2mlQEKdXFj1h2KaKZU0Lg9n5LRI
 1UFgK+b8Dw2xVZWOxcivcav0GM3CMRd1ZW1ruHlrRcbPhM4JcUUqmmANKW+LmbLo
 0+Rh6ZXywH8FtQVDq9DMsVqZxpmPbJF5gPw3T145mgEb32ogwLi7M5fcNkqm8KZR
 KyZseaIg2iMnY25vTZmnQlafcyrTXix1OfD/gC06CaW9eMCueSM=
 =NkVs
 -----END PGP SIGNATURE-----

Merge tag 'arm-defconfig-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull ARM defconfig updates from Arnd Bergmann:
 "As usual, tons of new drivers and other options got merged and are now
  enabled in the defconfig files, usually as loadable modules"

* tag 'arm-defconfig-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (45 commits)
  ARM: omap2plus_defconfig: Update for moved and dropped options
  ARM: omap2plus_defconfig: Enable ina2xx_adc as a loadable module
  ARM: omap2plus_defconfig: Enable McPDM optional PMIC clock as modules
  ARM: omap2plus_defconfig: Enable more droid4 devices as loadable modules
  ARM: omap2plus_defconfig: Enable zram as loadable modules
  ARM: omap2plus_defconfig: Enable simple-pm-bus
  arm64: defconfig: Enable Qualcomm SDM845 audio configs
  arm64: defconfig: Enable e1000 device
  arm64: defconfig: Enable PHY devices used on QorIQ boards
  arm64: defconfig: Enable RTC devices for QorIQ boards
  arm64: defconfig: Enable flash device drivers for QorIQ boards
  arm64: defconfig: Enable ARM Mali display driver
  arm64: defconfig: Enable QorIQ GPIO driver
  arm64: defconfig: Enable QorIQ IFC NAND controller driver
  arm64: defconfig: Enable ARM SBSA watchdog driver
  arm64: defconfig: Enable QorIQ cpufreq driver
  arm64: defconfig: Enable NXP/FSL SPI controller drivers
  arm64: defconfig: Enable ENETC Ethernet controller and FELIX switch
  arm64: defconfig: Enable QorIQ DPAA2 drivers
  arm64: defconfig: Enable QorIQ DPAA1 drivers
  ...
2020-04-03 15:15:10 -07:00
Nicolas Saenz Julienne
f06f924a65 ARM: bcm2835_defconfig: Enable fixed-regulator
This regulator is now used to control the SD card's power supply on the
Raspberry Pi 4.

Suggested-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Link: https://lore.kernel.org/r/20200326134458.13992-1-nsaenzjulienne@suse.de
2020-03-27 21:27:47 +01:00
Marek Szyprowski
93d3ae352b ARM: bcm2835_defconfig: add support for Raspberry Pi4
Add drivers needed to boot Raspberry Pi4 board.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Link: https://lore.kernel.org/r/20200217155506.5245-1-m.szyprowski@samsung.com
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
2020-03-09 20:36:30 +01:00
Stefan Wahren
1bba608084 ARM: bcm2835_defconfig: Explicitly restore CONFIG_DEBUG_FS
The commit 0e4a459f56 ("tracing: Remove unnecessary DEBUG_FS dependency")
accidentally dropped the DEBUG FS support in bcm2835_defconfig. So
restore the config as before the commit.

Reported-by: Marek Szyprowski <m.szyprowski@samsung.com>
Fixes: 0e4a459f56 ("tracing: Remove unnecessary DEBUG_FS dependency")
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2020-03-02 09:26:09 -08:00
Nicolas Saenz Julienne
4c6f5d4038 ARM: defconfig: enable cpufreq driver for RPi
This enables on both multi_v7_defconfig and bcm2835_defconfig the new
firmware based clock and cpufreq drivers for the Raspberry Pi platform.

In the case of bcm2835_defconfig, as the cpufreq subsystem was disabled,
the conservative governor was selected as default since it better
handles the high frequency transition latency.

Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
2019-07-23 22:53:35 +02:00
Alexey Brodkin
3337d5cfe5 configs: get rid of obsolete CONFIG_ENABLE_WARN_DEPRECATED
This Kconfig option was removed during v4.19 development in commit
771c035372 ("deprecate the '__deprecated' attribute warnings entirely
and for good") so there's no point to keep it in defconfigs any longer.

FWIW defconfigs were patched with:
--------------------------->8----------------------
find . -name *_defconfig -exec sed -i '/CONFIG_ENABLE_WARN_DEPRECATED/d' {} \;
--------------------------->8----------------------

Link: http://lkml.kernel.org/r/20190128152434.41969-1-abrodkin@synopsys.com
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2019-03-07 18:32:02 -08:00
Stefan Wahren
24632d6b78 ARM: bcm2835_defconfig: Enable BCM2835 MMAL-based V4L2 camera driver
This enables the bcm2835-camera driver, which depends on bcm2835-vchiq.
After that we gain more test coverage (e.g. Kernel CI).

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
2018-11-15 19:07:36 +01:00
Stefan Wahren
99fa3b0c60 ARM: bcm2835_defconfig: Enable bcm2835-audio
This enables the bcm2835-audio driver, which depends on bcm2835-vchiq.
After that we gain more test coverage (e.g. Kernel CI).

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
2018-09-02 18:49:33 +02:00
Stefan Wahren
992f641f39 ARM: bcm2835_defconfig: Enable RPi voltage sensor
The patch enables the hwmon driver for the Raspberry Pi.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
2018-06-21 17:28:37 -07:00
Stefan Wahren
8a14f80a7f ARM: bcm2835_defconfig: Enable VCHIQ driver
In order to gain more test coverage (e.g. Kernel CI) enable
the VCHIQ driver.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Eric Anholt <eric@anholt.net>
2018-04-23 13:25:46 -07:00
Stefan Wahren
17937c7543 ARM: bcm2835_defconfig: Enable LAN78XX driver
This patch enables the necessary driver for Raspberry Pi 3 B+,
which has a LAN7515 chip.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Eric Anholt <eric@anholt.net>
2018-04-23 13:25:43 -07:00
Stefan Wahren
4e46a8583b ARM: bcm2385_defconfig: Enable BT support for BCM43438
The Raspberry Pi Zero W has an onboard BT chip (BCM43438). So enable the
necessary HCI UART driver (requires serial device bus).

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
2018-02-26 15:30:00 -08:00
Stefan Wahren
6235a80a54 ARM: bcm2835_defconfig: Enable wifi driver for RPi Zero W
This enables the wifi driver for Raspberry Pi Zero W. We need
to build this as a module otherwise the drivers tries to load the
firmware before the root partition is mounted.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Eric Anholt <eric@anholt.net>
2017-07-19 13:37:34 -07:00
Stefan Wahren
01bd2f0f11 ARM: bcm2835_defconfig: Increase CMA for VC4
The VC4 needs more memory than the default setting:

    cma: cma_alloc: alloc failed, req-size: 4096 pages, ret: -12
    vc4-drm soc:gpu: failed to allocate buffer with size 16777216

So increase the value to 32 MB and fix this issue.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Eric Anholt <eric@anholt.net>
2017-07-19 13:37:16 -07:00
Stefan Wahren
651e6d3c6b ARM: bcm2835_defconfig: Enable Mini UART console support
Since pl011 is connected to the BT chip, we need to enable the Mini
UART for serial console.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Eric Anholt <eric@anholt.net>
2017-07-19 13:37:10 -07:00
Stefan Wahren
3e9aaaf1d8 ARM: bcm2835_defconfig: Enable serial & ethernet USB gadget support
In order to use the serial and ethernet USB gadget support on
Raspberry Zero, we also need to enable the PHY driver, kernel module
and OTG support.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
2017-06-12 14:07:38 -07:00
Gerd Hoffmann
51a08de0fd arm: set CONFIG_MMC_BCM2835=y in bcm2835_defconfig and multi_v7_defconfig
We need to enable this controller so that we can switch the SD card's
pinmux over to it by default, which will improve storage performance.

Read access (dd with 64k blocks on rpi2):
  CONFIG_MMC_SDHCI_IPROC: 11-12 MB/s
  CONFIG_MMC_BCM2835:     19-20 MB/s

Differences on write access are pretty much in the noise.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
2017-03-17 16:58:12 -07:00
Stefan Wahren
bdd3c25423 ARM: bcm2835: Enable missing CMA settings for VC4 driver
Currently bcm2835_defconfig has CMA disabled which makes the
HDMI output on a Raspberry Pi 1 stop working during boot:

    fb: switching to vc4drmfb from simple
    Console: switching to colour dummy device 80x30
    [drm] Initialized vc4 0.0.0 20140616 for soc:gpu on minor 0
    [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
    [drm] Driver supports precise vblank timestamp query.
    vc4-drm soc:gpu: failed to allocate buffer with size 9216000
    vc4-drm soc:gpu: Failed to set initial hw configuration.

So enable CMA and DMA_CMA in bcm2835_defconfig.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Fixes: 4400d9ac05 ("ARM: bcm2835: Enable the VC4 graphics driver in the defconfig")
Reviewed-by: Eric Anholt <eric@anholt.net>
2017-03-16 11:34:37 -07:00
Martin Sperl
bab0cb9055 ARM: bcm2835: add thermal driver to default config
Add the thermal driver to list of compiled modules in the default
config for bcm2835.

Signed-off-by: Martin Sperl <kernel@martin.sperl.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Eric Anholt <eric@anholt.net>
2016-11-11 09:00:37 -08:00
Eric Anholt
3652bb35ab ARM: bcm2835: Enable NFS root support.
This is also present in multi_v7_defconfig, and means that I can test
the pi1 with the 2835 defconfig in my normal environment.

Signed-off-by: Eric Anholt <eric@anholt.net>
2016-04-04 11:03:30 -07:00
Eric Anholt
4400d9ac05 ARM: bcm2835: Enable the VC4 graphics driver in the defconfig
Combined with the queued DT changes, we now get HDMI and 3D support.

Signed-off-by: Eric Anholt <eric@anholt.net>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
2016-04-04 11:03:25 -07:00
Eric Anholt
8d1a8c92a8 ARM: bcm2835: Enable CONFIG_PM.
The power domain driver we've enabled doesn't actually do anything
without it, and we need it to do its job for VC4 to initialize
successfully.

Signed-off-by: Eric Anholt <eric@anholt.net>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
2016-04-04 11:03:22 -07:00
Eric Anholt
bf9dbf50b1 ARM: bcm2835: Switch BCM2835 to sdhci-iproc.c for MMC
This approximately triples write performance for the SD card.  My card
is too full of important data to collect very reliable numbers, but I
see 271.361% +/- 166.742% improvement (n=3 before, 6 after), for 'dd
if=/dev/zero of=/boot/asdf bs=1M count=3 oflag=dsync,direct'.  Read
performance appears to be unaffected.

Signed-off-by: Eric Anholt <eric@anholt.net>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
2016-04-04 11:03:07 -07:00
Stefan Wahren
aa6c53be57 ARM: bcm2835_defconfig: Enable RPi power domain driver
After enabling the Raspberry Pi firmware driver which allow us to handle
power domains for USB or graphics.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
2016-02-17 11:18:05 -08:00
Stefan Wahren
da496d1287 ARM: bcm2835_defconfig: Enable RPi firmware driver
This enables the Raspberry Pi driver for GPU specific features.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
2016-02-17 11:18:05 -08:00
Stephen Warren
e55345e7ee ARM: bcm2835_defconfig: enable ARMv7 support
This makes the RPi2 work; it has an ARMv7 CPU.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
2016-02-17 11:18:05 -08:00
Stephen Warren
21fb10be46 ARM: bcm2835_defconfig: disable DEBUG_LL
This way the kernel works on both RPi0/1 and RPi2 even with earlyprintk
in the kernel cmdline; the two hardware platforms use different physical
addresses for peripherals, so the same DEBUG_LL configuration won't work
on both. If someone needs DEBUG_LL support, they can enable it locally.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
2016-02-17 11:18:05 -08:00
Stephen Warren
990246906d ARM: bcm2835_defconfig: rebuild on next-20160205
This separates explicit changes desired in later patches from "automatic"
or irrelevant changes caused solely by Kconfig changes.

make ARCH=arm bcm2835_defconfig
make ARCH=arm savedefconfig
mv defconfig arch/arm/configs/bcm2835_defconfig

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
2016-02-17 11:18:05 -08:00
Martin Sperl
3027408a17 ARM: bcm2835: enable auxiliary spi driver in defconfig
add the auxiliary spi driver to the default config

Signed-off-by: Martin Sperl <kernel@martin.sperl.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2015-12-31 17:13:42 +01:00
Stefan Wahren
f58f3c3f36 ARM: bcm2835: enable all bcm2835-relevant in defconfig
Rebuild bcm2835_defconfig using "make bcm2835_defconfig;
make savedefconfig", and enable manually the following features:

* all bcm2835-relevant drivers (MBOX, WDT, DMA, PWM, SND)
* enable regular stackprotector because CONFIG_CC_STACKPROTECTOR
  disappear
* enable some new dependencies in order to keep LED heartbeat
  ( CONFIG_NEW_LEDS, CONFIG_LEDS_CLASS, CONFIG_LEDS_TRIGGERS )

The following options were removed, because they are enabled implicit:

CONFIG_RD_BZIP2, CONFIG_RD_LZMA, CONFIG_RD_XZ, CONFIG_RD_LZO,
CONFIG_USB_DWC2_HOST, CONFIG_EXT4_FS, CONFIG_EXT4_FS_POSIX_ACL

These options became obsolete:

CONFIG_RESOURCE_COUNTERS, CONFIG_SCSI_MULTI_LUN

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2015-12-31 17:13:41 +01:00
Lubomir Rintel
bf7389c49d ARM: bcm2835: enable USB_DWC2_HOST in defconfig
It broke when host was moved into a separate module, in 47a1685 ("usb:
dwc2/s3c-hsotg: move s3c-hsotg into dwc2 directory"),

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-09-25 23:27:03 +02:00
Markus Mayer
d30fe62721 ARM: bcm2835: Move to mach-bcm directory
Move the bcm2835 board file into the mach-bcm directory. This allows us
to get rid of the mach-bcm2835 directory with the associated Kconfig
and Makefile.

Signed-off-by: Markus Mayer <markus.mayer@linaro.org>
[swarren, adjust defconfig so ARCH_BCM2835 still gets enabled]
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
2014-02-24 19:42:35 -07:00
Stephen Warren
5cea04bab5 ARM: bcm2835: bcm2835_defconfig updates
Rebuild bcm2835_defconfig using "make bcm2835_defconfig;
make savedefconfig", and add the following features:

* Enable the DWC2 USB controller present in the BCM2835 SoC.
* Enable drivers for various USB-hosted devices, which make the
  controller useful.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Olof Johansson <olof@lixom.net>
2014-01-02 12:08:11 -08:00
Stephen Warren
c321e71644 ARM: bcm2835: defconfig updates
Enable CONFIG_LEDS_GPIO and all options required to enable it, or make
the option useful.

Enable the simple framebuffer driver, fbconsole, and VT support.

This patch also regenerated bcm2835_defconfig, which removes two HW_RANDOM
entries, since they're enabled by default.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
2013-05-29 22:15:15 -06:00
Linus Torvalds
99c6bcf46d ARM: arm-soc multiplatform updates for 3.10
More multiplatform enablement for ARM platforms. The ones converted in
 this branch are:
 - bcm2835
 - cns3xxx
 - sirf
 - nomadik
 - msx
 - spear
 - tegra
 - ux500
 
 We're getting close to having most of them converted!
 
 One of the larger platforms remaining is Samsung Exynos, and there are
 a bunch of supporting patches in this merge window for it. There was a
 patch in this branch to a early version of multiplatform conversion,
 but it ended up being reverted due to need of more bake time. The
 revert commit is part of the branch since it would have required
 rebasing multiple dependent branches and they were stable by then.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJRgg99AAoJEIwa5zzehBx3n78P/j0w/8v+F4dM29ba5M/tqbFI
 e3wpeFykZ/HJH+FFIEYfIablpfHsLB0LEMh0dZmwHESFC6eR0RfGL2jOkpfcH9Ne
 7B/JIFN4l1iwqqKCXf+QbYL6e8YFxlJkg6BIB4KhNgliQoO/ASP/8EbcgROYuxmN
 KPVdw9laUCCvb5Ogh2NWVAkBHhVGAEiqK20r4TQz8alI8RUmMleWM3o+wLBWVhOO
 d3gtYSfuFSbrJfbpKSdycLizoV/NekdOC1A9Ov9YuOdw8DzNbrThCRQtu0tIUgxN
 JjfnGlEJLsJS9SESfr8SYWxTuhe/lB2dGqjQPvRtl2HGBhbtTlnWfQ0k2ZHdeJuD
 J50SLrGA2gN9E5PlHJXjYk8uhhGIq8bNTJ//CtDkfKTq1D7PuHVEpEctsaz3BBbM
 U+x9zP2v4FB+yrZu8w+gkQY/wDgHsxj08mT6BK0+l8ePdyQV22CvwmM5XlJFI03x
 5J0nLYiYfef+ZN9rGgVrQbn+yv+IEkE4DmeiscjeVJE5LVdVrDpYGfx7UA7V0UA7
 i3KRVpNKuy1v7GJDnKlEBPkmB+vgXTRXUPDVCuC4n0Hi5PYj4es1gY6AoXGF90wm
 vtKxGr/2XDLP7Ro+m0OXMttSgQShnmbrbOngfkWcFwUmG7cB3SSUUOGKM+2LNnXM
 MJTqVhPjkZ2GYBi/J6S/
 =4hSo
 -----END PGP SIGNATURE-----

Merge tag 'multiplatform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Pull ARM SoC multiplatform updates from Olof Johansson:
 "More multiplatform enablement for ARM platforms.  The ones converted
  in this branch are:

   - bcm2835
   - cns3xxx
   - sirf
   - nomadik
   - msx
   - spear
   - tegra
   - ux500

  We're getting close to having most of them converted!

  One of the larger platforms remaining is Samsung Exynos, and there are
  a bunch of supporting patches in this merge window for it.  There was
  a patch in this branch to a early version of multiplatform conversion,
  but it ended up being reverted due to need of more bake time.  The
  revert commit is part of the branch since it would have required
  rebasing multiple dependent branches and they were stable by then"

* tag 'multiplatform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (70 commits)
  mmc: sdhci-s3c: Fix operation on non-single image Samsung platforms
  clocksource: nomadik-mtu: fix up clocksource/timer
  Revert "ARM: exynos: enable multiplatform support"
  ARM: SPEAr13xx: Fix typo "ARCH_HAVE_CPUFREQ"
  ARM: exynos: enable multiplatform support
  rtc: s3c: make header file local
  mtd: onenand/samsung: make regs-onenand.h file local
  thermal/exynos: remove unnecessary header inclusions
  mmc: sdhci-s3c: remove platform dependencies
  ARM: samsung: move mfc device definition to s5p-dev-mfc.c
  ARM: exynos: move debug-macro.S to include/debug/
  ARM: exynos: prepare for sparse IRQ
  ARM: exynos: introduce EXYNOS_ATAGS symbol
  ARM: tegra: build assembly files with -march=armv7-a
  ARM: Push selects for TWD/SCU into machine entries
  ARM: ux500: build hotplug.o for ARMv7-a
  ARM: ux500: move to multiplatform
  ARM: ux500: make remaining headers local
  ARM: ux500: make irqs.h local to platform
  ARM: ux500: get rid of <mach/[hardware|db8500-regs].h>
  ...
2013-05-02 09:38:16 -07:00
Stephen Warren
d8d6aec6d5 ARM: bcm2835: defconfig updates
Enable the following new features:

* SPI controller driver.
* RNG driver.

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
2013-04-03 00:24:11 -06:00
Stephen Warren
f1ac922dec ARM: bcm2835: convert to multi-platform
This allows BCM2835 be included in a kernel build that supports multiple
SoCs at once, which is useful for distro kernels.

This change:
* Moves bcm2835's debug-macro.S into ARM's include/debug/, and hooks it
  into the relevant menu.
* Moves bcm2835's Kconfig into its own directory, as seems typical for
  multi-platform conversions.
* Removes bcm2835_soc.h, and moves the content to the files where it was
  used; just one usage per define.
* Deletes some headers and Makefile.boot that aren't needed now that we
  support multi-platform.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
2013-03-12 22:30:45 -06:00
Stephen Warren
d1dc7c6c6a ARM: bcm2835: defconfig updates
Now that we have an SDHCI driver, enable the block layer, and common
filesystems; MSDOS/VFAT for the SoC-required firmware partition, ext2/3/4
for a root partition.

Add tmpfs, NFS, file locking, file notify, networking, and NLS to support
distro expectations.

Enable GPIO_SYSFS to allow GPIO twiddling from user-space; likely a
common activity on this hardware.

Enable I2C.

Remove bogus CONFIG_DEFAULT_MMAP_MIN_ADDR so that applications running as
non-root actually work; without this, execve() immediately triggers
SIGKILL. This setting was sourced from some downstream defconfig early
during upstream Raspberry Pi support development.

Other non-semantic diffs due to rebuilding defconfig using the latest
Kconfig defaults etc.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
2013-01-14 21:47:17 -07:00
Thomas Petazzoni
a6380c13c1 ARM: bcm2835: enable procfs and sysfs in defconfig
For some reason, support for proc and sysfs is currently disabled in
the bcm2835_defconfig, even though those filesystems are quite
essential even for very basic Linux userspace. As most defconfig have
them enabled by default, enable them as well in bcm2835_defconfig.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
2012-10-27 20:29:13 -06:00
Simon Arlott
ec9653b847 ARM: add infra-structure for BCM2835 and Raspberry Pi
The BCM2835 is an ARM SoC from Broadcom. This patch adds very basic
support for this SoC.

http://www.broadcom.com/products/BCM2835
http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf

Note that the documentation in the latter .pdf assumes the MMU setup
that's used on the "VideoCore" companion processor, and does not document
physical peripheral addresses. Subtract 0x5e000000 to obtain the physical
addresses. This is accounted for by the ranges property in the /soc node
in the device tree.

The BCM2835 SoC is used in the Raspberry Pi. This patch also adds a
minimal device tree for this board; enough to see some very early kernel
boot messages through earlyprintk. However, this patch does not yet
provide a useful booting system.

http://www.raspberrypi.org/.

This patch was extracted from git://github.com/lp0/linux.git branch
rpi-split from 3-4 months ago, and significantly stripped down and
modified since.

Signed-off-by: Chris Boot <bootc@bootc.net>
Signed-off-by: Simon Arlott <simon@fire.lp0.eu>
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
Signed-off-by: Dom Cobley <dc4@broadcom.com>
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
2012-09-19 19:08:27 -06:00