* [GIT PULL] Allwinner clock changes for 4.10
From: Maxime Ripard @ 2016-11-15 21:26 UTC (permalink / raw)
To: linux-arm-kernel
Hi Mike, Stephen,
Please pull the following patches for the next merge window.
Thanks!
Maxime
The following changes since commit 1001354ca34179f3db924eb66672442a173147dc:
Linux 4.9-rc1 (2016-10-15 12:17:50 -0700)
are available in the git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux.git sunxi-clk-for-4.10
for you to fetch changes up to 0f6f9302b819ca352cfd4f42c18ec08d521f9cae:
clk: sunxi-ng: sun8i-h3: Set CLK_SET_RATE_PARENT for audio module clocks (2016-11-11 21:47:41 +0100)
----------------------------------------------------------------
Allwinner clock changes for 4.10
The usual patches from us, but most notably the introduction of the A64
clocks unit.
----------------------------------------------------------------
Chen-Yu Tsai (2):
clk: sunxi-ng: sun8i-a23: Set CLK_SET_RATE_PARENT for audio module clocks
clk: sunxi-ng: sun8i-h3: Set CLK_SET_RATE_PARENT for audio module clocks
Julia Lawall (1):
clk: sunxi: mod0: improve function-level documentation
Maxime Ripard (6):
clk: sunxi-ng: Rename the internal structures
clk: sunxi-ng: Remove the use of rational computations
clk: sunxi-ng: Finish to convert to structures for arguments
clk: sunxi-ng: Add minimums for all the relevant structures and clocks
clk: sunxi-ng: Implement minimum for multipliers
clk: sunxi-ng: Add A64 clocks
.../devicetree/bindings/clock/sunxi-ccu.txt | 1 +
drivers/clk/sunxi-ng/Kconfig | 14 +-
drivers/clk/sunxi-ng/Makefile | 1 +
drivers/clk/sunxi-ng/ccu-sun50i-a64.c | 915 +++++++++++++++++++++
drivers/clk/sunxi-ng/ccu-sun50i-a64.h | 72 ++
drivers/clk/sunxi-ng/ccu-sun8i-a23.c | 6 +-
drivers/clk/sunxi-ng/ccu-sun8i-h3.c | 10 +-
drivers/clk/sunxi-ng/ccu_div.h | 6 +-
drivers/clk/sunxi-ng/ccu_frac.c | 12 +-
drivers/clk/sunxi-ng/ccu_frac.h | 14 +-
drivers/clk/sunxi-ng/ccu_mp.h | 4 +-
drivers/clk/sunxi-ng/ccu_mult.c | 33 +-
drivers/clk/sunxi-ng/ccu_mult.h | 17 +-
drivers/clk/sunxi-ng/ccu_nk.c | 43 +-
drivers/clk/sunxi-ng/ccu_nk.h | 4 +-
drivers/clk/sunxi-ng/ccu_nkm.c | 45 +-
drivers/clk/sunxi-ng/ccu_nkm.h | 6 +-
drivers/clk/sunxi-ng/ccu_nkmp.c | 55 +-
drivers/clk/sunxi-ng/ccu_nkmp.h | 8 +-
drivers/clk/sunxi-ng/ccu_nm.c | 58 +-
drivers/clk/sunxi-ng/ccu_nm.h | 6 +-
drivers/clk/sunxi/clk-mod0.c | 2 +-
include/dt-bindings/clock/sun50i-a64-ccu.h | 134 +++
include/dt-bindings/reset/sun50i-a64-ccu.h | 98 +++
24 files changed, 1434 insertions(+), 130 deletions(-)
create mode 100644 drivers/clk/sunxi-ng/ccu-sun50i-a64.c
create mode 100644 drivers/clk/sunxi-ng/ccu-sun50i-a64.h
create mode 100644 include/dt-bindings/clock/sun50i-a64-ccu.h
create mode 100644 include/dt-bindings/reset/sun50i-a64-ccu.h
--
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20161115/2e76f92b/attachment-0001.sig>
^ permalink raw reply
* [GIT PULL] Allwinner clock fixes for 4.9
From: Maxime Ripard @ 2016-11-15 21:23 UTC (permalink / raw)
To: linux-arm-kernel
Hi Mike, Stephen,
Please pull the following fixes for the 4.9 cycle
Thanks!
Maxime
The following changes since commit 1001354ca34179f3db924eb66672442a173147dc:
Linux 4.9-rc1 (2016-10-15 12:17:50 -0700)
are available in the git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux.git tags/sunxi-clk-fixes-for-4.9
for you to fetch changes up to ac95330b96376550ae7a533d1396272d675adfa2:
clk: sunxi: Fix M factor computation for APB1 (2016-11-04 08:49:46 +0100)
----------------------------------------------------------------
Allwinner clock fixes for 4.9
Two fixes, one for the old clock code, one for the new implementation.
----------------------------------------------------------------
Chen-Yu Tsai (1):
clk: sunxi-ng: sun6i-a31: Force AHB1 clock to use PLL6 as parent
St?phan Rafin (1):
clk: sunxi: Fix M factor computation for APB1
drivers/clk/sunxi-ng/ccu-sun6i-a31.c | 12 ++++++++++++
drivers/clk/sunxi/clk-sunxi.c | 2 +-
2 files changed, 13 insertions(+), 1 deletion(-)
--
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20161115/edb7507a/attachment.sig>
^ permalink raw reply
* [GIT PULL 5/5] omap defconfig changes for v4.10
From: Tony Lindgren @ 2016-11-15 21:22 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <pull-1479236877-351747>
The following changes since commit 1001354ca34179f3db924eb66672442a173147dc:
Linux 4.9-rc1 (2016-10-15 12:17:50 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap tags/omap-for-v4.10/defconfig-signed
for you to fetch changes up to 9c106e4efab2ec96daebb7bdd0bb61602fd52e7a:
ARM: omap2plus_defconfig: Run make savedefconfig to save some space (2016-11-15 11:01:24 -0800)
----------------------------------------------------------------
Defconfig changes for omaps for v4.10 merge window:
- Enable tsc2004 touchscreen as a loadable module
- Enable REGULATOR_GPIO, dra71-evm needs this for MMC voltage
- Enable LP873x PMICs for dra71x-evm
- Run make savedefconfig to save some space and make it
easier to generate minimal patches against it
----------------------------------------------------------------
Adam Ford (1):
ARM: omap2plus_defconfig: Enable TOUCHSCREEN_TSC2004
Lokesh Vutla (2):
ARM: omap2plus_defconfig: Enable REGULATOR_GPIO
ARM: omap2plus_defconfig: Enable LP873X support
Tony Lindgren (1):
ARM: omap2plus_defconfig: Run make savedefconfig to save some space
arch/arm/configs/omap2plus_defconfig | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
^ permalink raw reply
* [GIT PULL 4/5] drop unused omap platform_data for v4.10
From: Tony Lindgren @ 2016-11-15 21:22 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <pull-1479236877-351747>
The following changes since commit 1001354ca34179f3db924eb66672442a173147dc:
Linux 4.9-rc1 (2016-10-15 12:17:50 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap tags/omap-for-v4.10/legacy-signed
for you to fetch changes up to 19944b3a4a30163656b26e9d2ca659657113ac3e:
ARM: OMAP2+: Drop legacy sdram timings (2016-11-10 16:07:32 -0700)
----------------------------------------------------------------
Legacy platform_data removal for omaps for v4.10 merge window.
We've dropped the last legacy boot board-*.c files for mach-omap2
for v4.9 so now we can start removing the unused platform_data.
All of the below has been unused since v4.9 merge window:
- Drop legacy pmic init code
- Apply seq_puts() fixes for legacy mux code, then drop it
- Drop legacy serial init
- Drop legacy i2c init
- Drop legacy PM init
- Drop legacy twl4030 platform init
- Drop legacy USB host init
- Drop legacy muxing for tusb6010, n8x0 is still using it's
platform init via pdata-quirks.c
- Drop legacy musb init
- Drop hwmod related legacy mux code
- Drop legacy hwmod data for omap3
- Drop legacy smsc911x and smc91x init
- Drop legacy board flash init
- Drop legacy ads7846 init
- Drop legacy sdram timings
----------------------------------------------------------------
Javier Martinez Canillas (2):
ARM: OMAP2+: Remove legacy smsc911x and smc91x GPMC support
ARM: OMAP2+: Remove legacy board-flash.c
Markus Elfring (2):
ARM: OMAP2+: mux: Replace three seq_printf() calls by seq_puts()
ARM: OMAP2+: mux: Use seq_putc() in omap_mux_dbg_signal_show()
Nicolae Rosia (5):
ARM: OMAP4: kill omap4_pmic_init and omap4_pmic_get_config
ARM: OMAP3: kill omap3_pmic_get_config and twl_{get,set}_voltage
ARM: OMAP3: kill omap3_pmic_init
ARM: OMAP2: kill omap2_pmic_init
ARM: OMAP: kill omap_pmic_init
Tony Lindgren (12):
ARM: OMAP2+: Remove legacy serial.c
ARM: OMAP2+: Remove legacy i2c.c platform init code
ARM: OMAP2+: Remove legacy PM init
ARM: OMAP2+: Remove legacy twl4030 platform init code
ARM: OMAP2+: Remove legacy usb-host.c platform init code
ARM: OMAP2+: Remove legacy muxing for usb-tusb6010.c
ARM: OMAP2+: Remove legacy usb-musb.c platform init code
ARM: OMAP2+: Remove legacy hwmod mux code
ARM: OMAP2+: Remove legacy mux code
ARM: OMAP2+: Remove legacy data from hwmod for omap3
ARM: OMAP2+: Drop legacy ads7846 init
ARM: OMAP2+: Drop legacy sdram timings
arch/arm/mach-omap1/Kconfig | 26 +
arch/arm/mach-omap1/i2c.c | 83 +
arch/arm/mach-omap2/Makefile | 16 +-
arch/arm/mach-omap2/board-flash.c | 242 ---
arch/arm/mach-omap2/board-flash.h | 56 -
arch/arm/mach-omap2/common-board-devices.c | 102 -
arch/arm/mach-omap2/common-board-devices.h | 8 -
arch/arm/mach-omap2/common.h | 9 -
arch/arm/mach-omap2/devices.c | 1 -
arch/arm/mach-omap2/dss-common.c | 37 -
arch/arm/mach-omap2/dss-common.h | 13 -
arch/arm/mach-omap2/gpmc-smsc911x.c | 100 -
arch/arm/mach-omap2/gpmc-smsc911x.h | 35 -
arch/arm/mach-omap2/hsmmc.c | 88 -
arch/arm/mach-omap2/i2c.c | 97 -
arch/arm/mach-omap2/io.c | 1 -
arch/arm/mach-omap2/msdi.c | 1 -
arch/arm/mach-omap2/mux.c | 1153 -----------
arch/arm/mach-omap2/mux.h | 352 ----
arch/arm/mach-omap2/mux34xx.c | 2061 --------------------
arch/arm/mach-omap2/mux34xx.h | 402 ----
arch/arm/mach-omap2/omap_hwmod.c | 107 +-
.../omap_hwmod_2xxx_3xxx_interconnect_data.c | 149 +-
.../mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c | 201 +-
.../mach-omap2/omap_hwmod_2xxx_interconnect_data.c | 4 -
arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c | 1 -
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 787 +-------
arch/arm/mach-omap2/omap_hwmod_common_data.h | 15 -
arch/arm/mach-omap2/pdata-quirks.c | 1 -
arch/arm/mach-omap2/pm.c | 66 +-
arch/arm/mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h | 51 -
arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h | 55 -
arch/arm/mach-omap2/sdram-nokia.c | 299 ---
arch/arm/mach-omap2/sdram-nokia.h | 12 -
arch/arm/mach-omap2/sdram-numonyx-m65kxxxxam.h | 51 -
.../mach-omap2/sdram-qimonda-hyb18m512160af-6.h | 54 -
arch/arm/mach-omap2/serial.c | 332 ----
arch/arm/mach-omap2/twl-common.c | 564 ------
arch/arm/mach-omap2/twl-common.h | 66 -
arch/arm/mach-omap2/usb-host.c | 496 -----
arch/arm/mach-omap2/usb-musb.c | 106 -
arch/arm/mach-omap2/usb-tusb6010.c | 21 -
arch/arm/plat-omap/Kconfig | 26 -
arch/arm/plat-omap/Makefile | 3 -
arch/arm/plat-omap/i2c.c | 116 --
45 files changed, 160 insertions(+), 8306 deletions(-)
delete mode 100644 arch/arm/mach-omap2/board-flash.c
delete mode 100644 arch/arm/mach-omap2/board-flash.h
delete mode 100644 arch/arm/mach-omap2/common-board-devices.c
delete mode 100644 arch/arm/mach-omap2/dss-common.c
delete mode 100644 arch/arm/mach-omap2/dss-common.h
delete mode 100644 arch/arm/mach-omap2/gpmc-smsc911x.c
delete mode 100644 arch/arm/mach-omap2/gpmc-smsc911x.h
delete mode 100644 arch/arm/mach-omap2/mux.c
delete mode 100644 arch/arm/mach-omap2/mux.h
delete mode 100644 arch/arm/mach-omap2/mux34xx.c
delete mode 100644 arch/arm/mach-omap2/mux34xx.h
delete mode 100644 arch/arm/mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h
delete mode 100644 arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h
delete mode 100644 arch/arm/mach-omap2/sdram-nokia.c
delete mode 100644 arch/arm/mach-omap2/sdram-nokia.h
delete mode 100644 arch/arm/mach-omap2/sdram-numonyx-m65kxxxxam.h
delete mode 100644 arch/arm/mach-omap2/sdram-qimonda-hyb18m512160af-6.h
delete mode 100644 arch/arm/mach-omap2/serial.c
delete mode 100644 arch/arm/mach-omap2/twl-common.c
delete mode 100644 arch/arm/mach-omap2/twl-common.h
delete mode 100644 arch/arm/mach-omap2/usb-host.c
delete mode 100644 arch/arm/mach-omap2/usb-musb.c
delete mode 100644 arch/arm/plat-omap/i2c.c
^ permalink raw reply
* [GIT PULL 3/5] omap device tree changes for v4.10
From: Tony Lindgren @ 2016-11-15 21:22 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <pull-1479236877-351747>
The following changes since commit 1001354ca34179f3db924eb66672442a173147dc:
Linux 4.9-rc1 (2016-10-15 12:17:50 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap tags/omap-for-v4.10/dt-signed
for you to fetch changes up to 7e2f8c0ae670327cbe0348ad2f3df7d9a55a8e5d:
ARM: dts: Add minimal support for motorola droid 4 xt894 (2016-11-15 10:28:49 -0800)
----------------------------------------------------------------
Device tree changes for omaps for v4.10 merge window:
- A series of patches to configure tps65217 PMIC interrupts for
power button, charger and usb and use them on am335x
- Configure EEPROM, LEDs and USR1 button for omap5 boards
- Add tscadc DMA properites for am33xx and am4372
- Configure baltos-ir5221 both musb channels to host mode
- Configure internal and external RTC clocks for am335x boards
- Don't reset gpio3 block on baltos
- Remove pinmux for dra72-evm for erratum i869, fix the regulators
and seprate out tps65917 support
- Add dra718-evm support
- Add minimal droid 4 xt894 support
----------------------------------------------------------------
H. Nikolaus Schaller (3):
ARM: dts: omap5 uevm: add EEPROM
ARM: dts: omap5 uevm: add LEDs
ARM: dts: omap5 uevm: add USR1 button
Keerthy (3):
ARM: dts: AM335X-bone-common: Add the internal and external clock nodes for rtc
ARM: dts: AM335X-evm: Add the internal and external clock nodes for rtc
ARM: dts: AM335X-evmsk: Add the internal and external clock nodes for rtc
Lokesh Vutla (3):
ARM: dts: dra72-evm: Remove pinmux configurations for erratum i869
ARM: dts: dra72-evm: Fix modelling of regulators
ARM: dts: dra72: Add separate dtsi for tps65917
Milo Kim (7):
ARM: dts: tps65217: Specify the interrupt controller
ARM: dts: tps65217: Add the charger device
ARM: dts: tps65217: Add the power button device
ARM: dts: am335x: Support the PMIC interrupt
dt-bindings: mfd: Provide human readable defines for TPS65217 interrupts
ARM: dts: am335x: Add the charger interrupt
ARM: dts: am335x: Add the power button interrupt
Mugunthan V N (2):
ARM: dts: am33xx: add DMA properties for tscadc
ARM: dts: am4372: add DMA properties for tscadc
Nishanth Menon (1):
ARM: dts: Add support for dra718-evm
Tony Lindgren (1):
ARM: dts: Add minimal support for motorola droid 4 xt894
Yegor Yefremov (2):
ARM: dts: am335x-baltos-ir5221: use both musb channels in host mode
ARM: dts: am335x-baltos: don't reset gpio3 block
arch/arm/boot/dts/Makefile | 4 +-
arch/arm/boot/dts/am335x-baltos-ir5221.dts | 2 +-
arch/arm/boot/dts/am335x-baltos.dtsi | 4 +
arch/arm/boot/dts/am335x-bone-common.dtsi | 22 ++
arch/arm/boot/dts/am335x-evm.dts | 5 +
arch/arm/boot/dts/am335x-evmsk.dts | 5 +
arch/arm/boot/dts/am33xx.dtsi | 4 +
arch/arm/boot/dts/am4372.dtsi | 2 +
arch/arm/boot/dts/dra71-evm.dts | 230 +++++++++++++++++++
arch/arm/boot/dts/dra72-evm-common.dtsi | 348 ++++-------------------------
arch/arm/boot/dts/dra72-evm-revc.dts | 21 +-
arch/arm/boot/dts/dra72-evm-tps65917.dtsi | 134 +++++++++++
arch/arm/boot/dts/dra72-evm.dts | 14 +-
arch/arm/boot/dts/omap4-droid4-xt894.dts | 188 ++++++++++++++++
arch/arm/boot/dts/omap5-uevm.dts | 92 ++++++++
arch/arm/boot/dts/tps65217.dtsi | 12 +
include/dt-bindings/mfd/tps65217.h | 26 +++
17 files changed, 787 insertions(+), 326 deletions(-)
create mode 100644 arch/arm/boot/dts/dra71-evm.dts
create mode 100644 arch/arm/boot/dts/dra72-evm-tps65917.dtsi
create mode 100644 arch/arm/boot/dts/omap4-droid4-xt894.dts
create mode 100644 include/dt-bindings/mfd/tps65217.h
^ permalink raw reply
* [GIT PULL 2/5] omap soc changes for v4.10
From: Tony Lindgren @ 2016-11-15 21:22 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <pull-1479236877-351747>
The following changes since commit 1001354ca34179f3db924eb66672442a173147dc:
Linux 4.9-rc1 (2016-10-15 12:17:50 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap tags/omap-for-v4.10/soc-signed
for you to fetch changes up to 2bb6375f5c03cc5bf510402b646c1a23046b3f12:
Merge branch 'omap-for-v4.10/cpuidle-v2' into omap-for-v4.10/soc (2016-11-14 15:58:18 -0800)
----------------------------------------------------------------
SoC changes for omaps for v4.10 merge window:
- Add hwmod interconnect target wrapper module data for crypto
accelerators for am3xxx, am43xx and dra7
- Add support for dra71x family of SoCs
- PM fixes for omap4/5 needed for omap5 cpuidle
----------------------------------------------------------------
Joel Fernandes (4):
ARM: DRA7: hwmod: Add data for DES IP
ARM: DRA7: hwmod: Add data for AES IP
ARM: DRA7: hwmod: Add data for RNG IP
ARM: OMAP: DRA7xx: Make L4SEC clock domain SWSUP only
Lokesh Vutla (4):
ARM: DRA7: hwmod: Add data for SHA IP
ARM: AM43xx: hwmod: Add data for DES
ARM: AMx3xx: hwmod: Add data for RNG
ARM: OMAP2+: board-generic: add support for DRA71x family
Nishanth Menon (1):
ARM: DRA7: hwmod: Do not register RTC on DRA71
Santosh Shilimkar (1):
ARM: OMAP5: Add basic cpuidle MPU CSWR support
Tony Lindgren (4):
ARM: OMAP5: Fix build for PM code
ARM: OMAP5: Fix mpuss_early_init
ARM: OMAP4+: Fix bad fallthrough for cpuidle
Merge branch 'omap-for-v4.10/cpuidle-v2' into omap-for-v4.10/soc
.../devicetree/bindings/arm/omap/omap.txt | 6 +
arch/arm/mach-omap2/Makefile | 2 +-
arch/arm/mach-omap2/board-generic.c | 1 +
arch/arm/mach-omap2/clockdomains7xx_data.c | 2 +-
arch/arm/mach-omap2/common.h | 38 ++++-
arch/arm/mach-omap2/cpuidle44xx.c | 80 ++++++++-
arch/arm/mach-omap2/io.c | 3 +-
arch/arm/mach-omap2/omap-mpuss-lowpower.c | 37 +++--
arch/arm/mach-omap2/omap4-sar-layout.h | 2 +
.../mach-omap2/omap_hwmod_33xx_43xx_common_data.h | 2 +
.../omap_hwmod_33xx_43xx_interconnect_data.c | 8 +
.../mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c | 29 ++++
arch/arm/mach-omap2/omap_hwmod_33xx_data.c | 35 ----
arch/arm/mach-omap2/omap_hwmod_43xx_data.c | 34 ++++
arch/arm/mach-omap2/omap_hwmod_7xx_data.c | 182 ++++++++++++++++++++-
arch/arm/mach-omap2/pm44xx.c | 2 +-
arch/arm/mach-omap2/prcm43xx.h | 2 +
17 files changed, 405 insertions(+), 60 deletions(-)
^ permalink raw reply
* [GIT PULL 1/5] non-urgent omap fixes for v4.10
From: Tony Lindgren @ 2016-11-15 21:22 UTC (permalink / raw)
To: linux-arm-kernel
The following changes since commit 1001354ca34179f3db924eb66672442a173147dc:
Linux 4.9-rc1 (2016-10-15 12:17:50 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap tags/omap-for-v4.10/fixes-not-urgent-signed
for you to fetch changes up to 5c02b01d234f8410010c952069d3fb9ec5d9124a:
ARM: OMAP2+: pm-debug: Use seq_putc() in two functions (2016-11-09 15:33:33 -0700)
----------------------------------------------------------------
Non-urgent fixes for omaps for v4.10 merge window:
- Fix mismatched interrupt numbers for tps65217, these are not yet
used
- Remove unused omapdss_early_init_of()
- Use seq_putc() for pm-debug.c
----------------------------------------------------------------
Laurent Pinchart (1):
ARM: OMAP2+: Remove the omapdss_early_init_of() function
Markus Elfring (1):
ARM: OMAP2+: pm-debug: Use seq_putc() in two functions
Milo Kim (1):
mfd: tps65217: Fix mismatched interrupt number
arch/arm/mach-omap2/board-generic.c | 2 --
arch/arm/mach-omap2/common.h | 1 -
arch/arm/mach-omap2/display.c | 5 -----
arch/arm/mach-omap2/pm-debug.c | 5 ++---
include/linux/mfd/tps65217.h | 11 +++++------
5 files changed, 7 insertions(+), 17 deletions(-)
^ permalink raw reply
* [GIT PULL] sun4i-drm changes for 4.10
From: Maxime Ripard @ 2016-11-15 21:21 UTC (permalink / raw)
To: linux-arm-kernel
Hi David,
Please pull the following changes for the next merge window.
Thanks!
Maxime
The following changes since commit 1001354ca34179f3db924eb66672442a173147dc:
Linux 4.9-rc1 (2016-10-15 12:17:50 -0700)
are available in the git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux.git tags/sunxi-drm-for-4.10
for you to fetch changes up to 47d7fbb32c57c8d1722a3e9bd21e501e80fd0741:
drm/sun4i: Add a few formats (2016-11-02 19:37:37 +0100)
----------------------------------------------------------------
sun4i-drm changes for 4.10
Support for the Allwinner A31 SoC display engine using the sun4i-drm
driver.
----------------------------------------------------------------
Chen-Yu Tsai (4):
drm/sun4i: sun6i-drc: Support DRC on A31 and A31s
drm/sun4i: tcon: Move SoC specific quirks to a DT matched data structure
drm/sun4i: Add compatible string for A31/A31s TCON (timing controller)
drm/sun4i: Add compatible strings for A31/A31s display pipelines
Maxime Ripard (1):
drm/sun4i: Add a few formats
.../bindings/display/sunxi/sun4i-drm.txt | 10 ++++-
drivers/gpu/drm/sun4i/sun4i_backend.c | 21 +++++++++++
drivers/gpu/drm/sun4i/sun4i_drv.c | 5 +++
drivers/gpu/drm/sun4i/sun4i_layer.c | 6 +++
drivers/gpu/drm/sun4i/sun4i_tcon.c | 43 ++++++++++++++--------
drivers/gpu/drm/sun4i/sun4i_tcon.h | 11 ++++--
drivers/gpu/drm/sun4i/sun6i_drc.c | 2 +
7 files changed, 78 insertions(+), 20 deletions(-)
--
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20161115/70c09aa6/attachment.sig>
^ permalink raw reply
* [PATCH v4 4/4] ARM: dts: da850: Add the usb otg device nodeg
From: Bin Liu @ 2016-11-15 21:19 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <0c94c5e0-9d2c-fff5-1213-2fb2adb20ab0@ti.com>
On Tue, Nov 15, 2016 at 04:16:02PM +0530, Sekhar Nori wrote:
> On Thursday 03 November 2016 09:29 PM, Alexandre Bailon wrote:
> > This adds the device tree node for the usb otg
> > controller present in the da850 family of SoC's.
> > This also enables the otg usb controller for the lcdk board.
> >
> > Signed-off-by: Alexandre Bailon <abailon@baylibre.com>
> > ---
> > arch/arm/boot/dts/da850-lcdk.dts | 8 ++++++++
> > arch/arm/boot/dts/da850.dtsi | 15 +++++++++++++++
> > 2 files changed, 23 insertions(+)
> >
> > diff --git a/arch/arm/boot/dts/da850-lcdk.dts b/arch/arm/boot/dts/da850-lcdk.dts
> > index 7b8ab21..9f5040c 100644
> > --- a/arch/arm/boot/dts/da850-lcdk.dts
> > +++ b/arch/arm/boot/dts/da850-lcdk.dts
> > @@ -158,6 +158,14 @@
> > rx-num-evt = <32>;
> > };
> >
> > +&usb_phy {
> > + status = "okay";
> > + };
>
> As mentioned by David already, this node needs to be removed. Please
> rebase this on top of latest linux-davinci/master when ready for merging
> (driver changes accepted).
Dropped this patch due to this comment.
Regards,
-Bin.
>
> > +
> > +&usb0 {
> > + status = "okay";
> > +};
> > +
> > &aemif {
> > pinctrl-names = "default";
> > pinctrl-0 = <&nand_pins>;
> > diff --git a/arch/arm/boot/dts/da850.dtsi b/arch/arm/boot/dts/da850.dtsi
> > index f79e1b9..322a31a 100644
> > --- a/arch/arm/boot/dts/da850.dtsi
> > +++ b/arch/arm/boot/dts/da850.dtsi
> > @@ -372,6 +372,21 @@
> > >;
> > status = "disabled";
> > };
> > + usb_phy: usb-phy {
> > + compatible = "ti,da830-usb-phy";
> > + #phy-cells = <1>;
> > + status = "disabled";
> > + };
> > + usb0: usb at 200000 {
> > + compatible = "ti,da830-musb";
> > + reg = <0x200000 0x10000>;
> > + interrupts = <58>;
> > + interrupt-names = "mc";
> > + dr_mode = "otg";
> > + phys = <&usb_phy 0>;
> > + phy-names = "usb-phy";
> > + status = "disabled";
> > + };
>
> Can you separate out the soc specific changes from board changes? Please
> place the usb0 node above the mdio node. I am trying to get to a rough
> ordering based on reg property.
>
> Thanks,
> Sekhar
>
^ permalink raw reply
* [GIT PULL] sun4i-drm fixes for 4.9
From: Maxime Ripard @ 2016-11-15 21:18 UTC (permalink / raw)
To: linux-arm-kernel
Hi David,
Please pull the following fixes for the 4.9 cycle.
Thanks!
Maxime
The following changes since commit 1001354ca34179f3db924eb66672442a173147dc:
Linux 4.9-rc1 (2016-10-15 12:17:50 -0700)
are available in the git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux.git tags/sunxi-drm-fixes-for-4.9
for you to fetch changes up to 4db069a2bf990e278ea57ff615dcaa89b85376bd:
drm/sun4i: Propagate error to the caller (2016-11-07 16:09:35 +0100)
----------------------------------------------------------------
sun4i-drm fixes for 4.9
A few patches to fix our error handling and our panel / bridge calls.
----------------------------------------------------------------
Christophe JAILLET (2):
drm/sun4i: Fix error handling
drm/sun4i: Propagate error to the caller
Jonathan Liu (1):
drm/sun4i: rgb: Enable panel after controller
Maxime Ripard (1):
drm/sun4i: rgb: Remove the bridge enable/disable functions
drivers/gpu/drm/sun4i/sun4i_drv.c | 4 ++--
drivers/gpu/drm/sun4i/sun4i_rgb.c | 20 ++++++++------------
2 files changed, 10 insertions(+), 14 deletions(-)
--
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20161115/d1cebdf5/attachment.sig>
^ permalink raw reply
* Default atomic_pool_size value & changing it
From: Rafał Miłecki @ 2016-11-15 21:15 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
I've hit problem with allocating enough coherent DMA memory. Obviously
there is a limit of this memory as pointed by:
[ 0.283667] DMA: preallocated 256 KiB pool for atomic coherent allocations
In my case I was experimenting with a coherent memory used for DMA
descriptors. They are some small structs addressing SKBs and
controlling them:
struct bgmac_dma_desc {
__le32 ctl0;
__le32 ctl1;
__le32 addr_low;
__le32 addr_high;
} __packed;
Having 5-6 rings 512 entries each requires 48 KiB. There are devices
with 3 Ethernet bgmac devices and 2 wireless devices, 48 KiB * 5 gets
me dangerously close to the limit. I don't see this problem with
upstream default drivers yet, but it may become an issue at some
point.
Raspberry Pi was dealing a similar problem:
https://github.com/raspberrypi/linux/issues/170
Does it make any sense to increase default atomic_pool_size value?
I see there is init_dma_coherent_pool_size function but it seems to be
dead code (can we drop it?).
I can change that value using coherent_pool param, but is that sane to
put it in bootargs of upstream DTS files?
Any advise on this?
--
Rafa?
^ permalink raw reply
* [PATCH v3 3/3] musb: sunxi: Force session end on babble errors in host-mode
From: Bin Liu @ 2016-11-15 21:14 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <20160923134058.26828-3-hdegoede@redhat.com>
On Fri, Sep 23, 2016 at 04:40:58PM +0300, Hans de Goede wrote:
> The sunxi musb has a bug where sometimes it will generate a babble
> error on device disconnect instead of a disconnect irq. When this
> happens the musb-controller switches from host mode to device mode
> (it clears MUSB_DEVCTL_SESSION and sets MUSB_DEVCTL_BDEVICE) and
> gets stuck in this state.
>
> Clearing this requires reporting Vbus low for 200 or more ms, but
> on some devices Vbus is simply always high (host-only mode, no Vbus
> control).
>
> This commit adds a sunxi_musb_recover() callback which makes
> sunxi_musb_work call phy_set_mode with the current mode, which
> will force end the current session.
>
> This fixes the musb controller getting stuck in this state on systems
> without Vbus control; and also fixes the need to unplug the usb-b ->
> usb-a cable to get out of this state on systems with Vbus control.
>
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Applied. Thanks.
-Bin.
> ---
> Changes in v2:
> -Use musb_platform_recover callback instead of using DYI code in the
> interrupt handler
> -Call phy_set_mode with the current mode instead of adding a new custom
> sunxi phy callback
> ---
> drivers/usb/musb/sunxi.c | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> diff --git a/drivers/usb/musb/sunxi.c b/drivers/usb/musb/sunxi.c
> index 82eba92..d0be0ea 100644
> --- a/drivers/usb/musb/sunxi.c
> +++ b/drivers/usb/musb/sunxi.c
> @@ -380,6 +380,20 @@ static int sunxi_musb_set_mode(struct musb *musb, u8 mode)
> return 0;
> }
>
> +static int sunxi_musb_recover(struct musb *musb)
> +{
> + struct sunxi_glue *glue = dev_get_drvdata(musb->controller->parent);
> +
> + /*
> + * Schedule a phy_set_mode with the current glue->phy_mode value,
> + * this will force end the current session.
> + */
> + set_bit(SUNXI_MUSB_FL_PHY_MODE_PEND, &glue->flags);
> + schedule_work(&glue->work);
> +
> + return 0;
> +}
> +
> /*
> * sunxi musb register layout
> * 0x00 - 0x17 fifo regs, 1 long per fifo
> @@ -608,6 +622,7 @@ static const struct musb_platform_ops sunxi_musb_ops = {
> .dma_init = sunxi_musb_dma_controller_create,
> .dma_exit = sunxi_musb_dma_controller_destroy,
> .set_mode = sunxi_musb_set_mode,
> + .recover = sunxi_musb_recover,
> .set_vbus = sunxi_musb_set_vbus,
> .pre_root_reset_end = sunxi_musb_pre_root_reset_end,
> .post_root_reset_end = sunxi_musb_post_root_reset_end,
> --
> 2.9.3
>
^ permalink raw reply
* [PATCH v3 2/3] musb: sunxi: Remove custom babble handling
From: Bin Liu @ 2016-11-15 21:14 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <20160923134058.26828-2-hdegoede@redhat.com>
On Fri, Sep 23, 2016 at 04:40:57PM +0300, Hans de Goede wrote:
> The musb core already handles babble interrupts, so the sunxi glue
> having its own custom handling is redundant.
>
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Applied. Thanks.
-Bin.
> ---
> Changes in v2:
> -This is a new patch in v2 of this patch series
> Changes in v3:
> -Improve commit msg
> ---
> drivers/usb/musb/sunxi.c | 10 ----------
> 1 file changed, 10 deletions(-)
>
> diff --git a/drivers/usb/musb/sunxi.c b/drivers/usb/musb/sunxi.c
> index 1408245..82eba92 100644
> --- a/drivers/usb/musb/sunxi.c
> +++ b/drivers/usb/musb/sunxi.c
> @@ -186,16 +186,6 @@ static irqreturn_t sunxi_musb_interrupt(int irq, void *__hci)
> if (musb->int_usb)
> writeb(musb->int_usb, musb->mregs + SUNXI_MUSB_INTRUSB);
>
> - /*
> - * sunxi musb often signals babble on low / full speed device
> - * disconnect, without ever raising MUSB_INTR_DISCONNECT, since
> - * normally babble never happens treat it as disconnect.
> - */
> - if ((musb->int_usb & MUSB_INTR_BABBLE) && is_host_active(musb)) {
> - musb->int_usb &= ~MUSB_INTR_BABBLE;
> - musb->int_usb |= MUSB_INTR_DISCONNECT;
> - }
> -
> if ((musb->int_usb & MUSB_INTR_RESET) && !is_host_active(musb)) {
> /* ep0 FADDR must be 0 when (re)entering peripheral mode */
> musb_ep_select(musb->mregs, 0);
> --
> 2.9.3
>
^ permalink raw reply
* [GIT PULL] Allwinner arm64 DT changes for 4.9
From: Maxime Ripard @ 2016-11-15 21:13 UTC (permalink / raw)
To: linux-arm-kernel
Hi Arnd, Olof,
Here are our changes for arm64 DT for the next merge window.
Thanks!
Maxime
The following changes since commit 1001354ca34179f3db924eb66672442a173147dc:
Linux 4.9-rc1 (2016-10-15 12:17:50 -0700)
are available in the git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux.git tags/sunxi-dt64-for-4.10
for you to fetch changes up to 4e3886081848b7ea16452a92c4324acaab644d49:
arm64: dts: add Pine64 support (2016-11-03 09:08:24 +0100)
----------------------------------------------------------------
Allwinner arm64 DT changes for 4.10
Support for the Allwinner A64, their first armv8 SoC.
----------------------------------------------------------------
Andre Przywara (3):
arm64: dts: add Allwinner A64 SoC .dtsi
Documentation: devicetree: add vendor prefix for Pine64
arm64: dts: add Pine64 support
Documentation/devicetree/bindings/arm/sunxi.txt | 1 +
.../devicetree/bindings/vendor-prefixes.txt | 1 +
MAINTAINERS | 1 +
arch/arm64/boot/dts/Makefile | 1 +
arch/arm64/boot/dts/allwinner/Makefile | 5 +
.../boot/dts/allwinner/sun50i-a64-pine64-plus.dts | 50 ++++
.../arm64/boot/dts/allwinner/sun50i-a64-pine64.dts | 74 ++++++
arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 263 +++++++++++++++++++++
8 files changed, 396 insertions(+)
create mode 100644 arch/arm64/boot/dts/allwinner/Makefile
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
--
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20161115/0327c43c/attachment.sig>
^ permalink raw reply
* [PATCH v4 0/4] Add DT support for DA8xx
From: Bin Liu @ 2016-11-15 21:12 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1478188752-22447-1-git-send-email-abailon@baylibre.com>
On Thu, Nov 03, 2016 at 04:59:08PM +0100, Alexandre Bailon wrote:
> Changes in v2:
> * Remove unrelated changes in patch 3
> * Rename the device node in patch 4
>
> Changes in v3:
> * Fix few mistakes in DT binding sample
> * Only build the device table if DT is enabled
>
> Change in v4:
> * Fix a nit
>
> Alexandre Bailon (1):
> ARM: dts: da850: Add the usb otg device node
>
> Petr Kulhavy (3):
> dt/bindings: Add binding for the DA8xx MUSB driver
> usb: musb: core: added helper function for parsing DT
> usb: musb: da8xx: Add DT support for the DA8xx driver
Applied. Thanks.
-Bin.
>
> .../devicetree/bindings/usb/da8xx-usb.txt | 43 ++++++++++++++++++++
> arch/arm/boot/dts/da850-lcdk.dts | 8 ++++
> arch/arm/boot/dts/da850.dtsi | 15 +++++++
> drivers/usb/musb/da8xx.c | 46 ++++++++++++++++++++++
> drivers/usb/musb/musb_core.c | 19 +++++++++
> drivers/usb/musb/musb_core.h | 6 +++
> 6 files changed, 137 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/usb/da8xx-usb.txt
>
> --
> 2.7.3
>
^ permalink raw reply
* [GIT PULL] Allwinner fixes for 4.9
From: Maxime Ripard @ 2016-11-15 21:10 UTC (permalink / raw)
To: linux-arm-kernel
hi Arnd, Olof,
Please pull the following changes for 4.9.
Thanks!
Maxime
The following changes since commit 1001354ca34179f3db924eb66672442a173147dc:
Linux 4.9-rc1 (2016-10-15 12:17:50 -0700)
are available in the git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux.git tags/sunxi-fixes-for-4.9
for you to fetch changes up to b7f865ede20c87073216f77fe97f6fc56666e3da:
ARM: dts: sun8i: fix the pinmux for UART1 (2016-10-25 12:51:06 +0200)
----------------------------------------------------------------
Allwinner fixes for 4.9
A fix to reintroduce missing pinmux options that turned out not to be
optional.
----------------------------------------------------------------
Icenowy Zheng (1):
ARM: dts: sun8i: fix the pinmux for UART1
arch/arm/boot/dts/sun8i-a23-a33.dtsi | 4 ++++
1 file changed, 4 insertions(+)
--
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20161115/e2a8bfc4/attachment.sig>
^ permalink raw reply
* [GIT PULL] Allwinner defconfig changes for 4.10
From: Maxime Ripard @ 2016-11-15 21:03 UTC (permalink / raw)
To: linux-arm-kernel
Hi Arnd, Olof,
Please pull the following changes for the next merge window.
Thanks!
Maxime
The following changes since commit 1001354ca34179f3db924eb66672442a173147dc:
Linux 4.9-rc1 (2016-10-15 12:17:50 -0700)
are available in the git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux.git tags/sunxi-defconfig-for-4.10
for you to fetch changes up to a0eb3ee3c8dbe918c397eaf52ea0c887defd35a7:
ARM: multi_v7: enable VGA bridge (2016-10-16 14:31:52 +0200)
----------------------------------------------------------------
Allwinner defconfig changes for 4.10
Two patches to enable the dumb VGA bridges in the multi_v7 and sunxi
defconfig.
----------------------------------------------------------------
Maxime Ripard (2):
ARM: sunxi: Enable VGA bridge
ARM: multi_v7: enable VGA bridge
arch/arm/configs/multi_v7_defconfig | 1 +
arch/arm/configs/sunxi_defconfig | 1 +
2 files changed, 2 insertions(+)
--
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20161115/43a599eb/attachment.sig>
^ permalink raw reply
* [GIT PULL] Allwinner late DT changes for 4.10
From: Maxime Ripard @ 2016-11-15 21:00 UTC (permalink / raw)
To: linux-arm-kernel
Hi Arnd, Olof,
Here is a pull request that should be merged after the pinctrl PR,
hence probably in your late PR.
This is just a mechanic conversion to the generic pinconf bindings and
removal of the useless pinmux properties we had.
This is based on the previous DT PR I just sent.
Thanks!
Maxime
The following changes since commit e39a30cf736144814b0bddb3fff28fbbc2a8be0f:
ARM: sunxi: Add the missing clocks to the pinctrl nodes (2016-11-15 18:49:47 +0100)
are available in the git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux.git tags/sunxi-dt-late-for-4.10
for you to fetch changes up to 1d20ba07ea57ae227a925302b42221df5b830f2b:
ARM: sunxi: Convert pinctrl nodes to generic bindings (2016-11-15 21:56:30 +0100)
----------------------------------------------------------------
Allwinner late DT additions for 4.10
Conversion to the generic pin conf bindings for our device trees
----------------------------------------------------------------
Maxime Ripard (3):
ARM: sunxi: Remove useless allwinner,drive property
ARM: sunxi: Remove useless allwinner,pull property
ARM: sunxi: Convert pinctrl nodes to generic bindings
arch/arm/boot/dts/ntc-gr8-chip-pro.dts | 12 +-
arch/arm/boot/dts/ntc-gr8-evb.dts | 24 +-
arch/arm/boot/dts/ntc-gr8.dtsi | 122 ++++-----
arch/arm/boot/dts/sun4i-a10-a1000.dts | 12 +-
arch/arm/boot/dts/sun4i-a10-ba10-tvbox.dts | 2 +-
arch/arm/boot/dts/sun4i-a10-chuwi-v7-cw0825.dts | 14 +-
arch/arm/boot/dts/sun4i-a10-cubieboard.dts | 14 +-
arch/arm/boot/dts/sun4i-a10-dserve-dsrv9703c.dts | 38 ++-
arch/arm/boot/dts/sun4i-a10-gemei-g9.dts | 6 +-
arch/arm/boot/dts/sun4i-a10-hackberry.dts | 12 +-
arch/arm/boot/dts/sun4i-a10-hyundai-a7hd.dts | 16 +-
arch/arm/boot/dts/sun4i-a10-inet1.dts | 26 +-
arch/arm/boot/dts/sun4i-a10-inet97fv2.dts | 14 +-
arch/arm/boot/dts/sun4i-a10-inet9f-rev03.dts | 29 +--
arch/arm/boot/dts/sun4i-a10-jesurun-q5.dts | 12 +-
arch/arm/boot/dts/sun4i-a10-marsboard.dts | 13 +-
arch/arm/boot/dts/sun4i-a10-mini-xplus.dts | 2 +-
arch/arm/boot/dts/sun4i-a10-mk802.dts | 18 +-
arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts | 27 +-
arch/arm/boot/dts/sun4i-a10-pcduino.dts | 19 +-
arch/arm/boot/dts/sun4i-a10-pcduino2.dts | 6 +-
arch/arm/boot/dts/sun4i-a10-pov-protab2-ips9.dts | 32 +--
arch/arm/boot/dts/sun4i-a10.dtsi | 169 +++++--------
arch/arm/boot/dts/sun5i-a10s-auxtek-t003.dts | 18 +-
arch/arm/boot/dts/sun5i-a10s-auxtek-t004.dts | 29 +--
arch/arm/boot/dts/sun5i-a10s-mk802.dts | 19 +-
arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts | 36 ++-
arch/arm/boot/dts/sun5i-a10s-r7-tv-dongle.dts | 20 +-
arch/arm/boot/dts/sun5i-a10s-wobo-i5.dts | 21 +-
arch/arm/boot/dts/sun5i-a10s.dtsi | 43 ++--
.../boot/dts/sun5i-a13-empire-electronix-d709.dts | 23 +-
arch/arm/boot/dts/sun5i-a13-hsg-h702.dts | 22 +-
arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts | 40 ++-
arch/arm/boot/dts/sun5i-a13-olinuxino.dts | 36 ++-
arch/arm/boot/dts/sun5i-a13-utoo-p66.dts | 17 +-
arch/arm/boot/dts/sun5i-a13.dtsi | 24 +-
arch/arm/boot/dts/sun5i-r8-chip.dts | 27 +-
.../boot/dts/sun5i-reference-design-tablet.dtsi | 33 +--
arch/arm/boot/dts/sun5i.dtsi | 75 +++---
arch/arm/boot/dts/sun6i-a31-app4-evb1.dts | 6 +-
arch/arm/boot/dts/sun6i-a31-colombus.dts | 22 +-
arch/arm/boot/dts/sun6i-a31-hummingbird.dts | 23 +-
arch/arm/boot/dts/sun6i-a31-i7.dts | 19 +-
arch/arm/boot/dts/sun6i-a31-m9.dts | 19 +-
arch/arm/boot/dts/sun6i-a31-mele-a1000g-quad.dts | 19 +-
arch/arm/boot/dts/sun6i-a31.dtsi | 98 +++-----
arch/arm/boot/dts/sun6i-a31s-primo81.dts | 20 +-
arch/arm/boot/dts/sun6i-a31s-sina31s.dts | 13 +-
arch/arm/boot/dts/sun6i-a31s-sinovoip-bpi-m2.dts | 29 +--
.../dts/sun6i-a31s-yones-toptech-bs1078-v2.dts | 9 +-
.../boot/dts/sun6i-reference-design-tablet.dtsi | 14 +-
arch/arm/boot/dts/sun7i-a20-bananapi-m1-plus.dts | 27 +-
arch/arm/boot/dts/sun7i-a20-bananapi.dts | 26 +-
arch/arm/boot/dts/sun7i-a20-bananapro.dts | 37 +--
arch/arm/boot/dts/sun7i-a20-cubieboard2.dts | 13 +-
arch/arm/boot/dts/sun7i-a20-cubietruck.dts | 38 +--
arch/arm/boot/dts/sun7i-a20-hummingbird.dts | 24 +-
arch/arm/boot/dts/sun7i-a20-i12-tvbox.dts | 26 +-
arch/arm/boot/dts/sun7i-a20-itead-ibox.dts | 7 +-
arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts | 30 +--
arch/arm/boot/dts/sun7i-a20-m3.dts | 6 +-
arch/arm/boot/dts/sun7i-a20-mk808c.dts | 12 +-
arch/arm/boot/dts/sun7i-a20-olimex-som-evb.dts | 32 +--
arch/arm/boot/dts/sun7i-a20-olinuxino-lime.dts | 27 +-
.../boot/dts/sun7i-a20-olinuxino-lime2-emmc.dts | 6 +-
arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts | 33 +--
arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts | 28 +--
arch/arm/boot/dts/sun7i-a20-orangepi-mini.dts | 45 ++--
arch/arm/boot/dts/sun7i-a20-orangepi.dts | 38 ++-
arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts | 25 +-
arch/arm/boot/dts/sun7i-a20-pcduino3.dts | 21 +-
arch/arm/boot/dts/sun7i-a20-wexler-tab7200.dts | 25 +-
arch/arm/boot/dts/sun7i-a20-wits-pro-a20-dkt.dts | 13 +-
arch/arm/boot/dts/sun7i-a20.dtsi | 277 ++++++++-------------
arch/arm/boot/dts/sun8i-a23-a33.dtsi | 95 +++----
arch/arm/boot/dts/sun8i-a23-evb.dts | 7 +-
.../boot/dts/sun8i-a23-polaroid-mid2407pxe03.dts | 8 +-
.../boot/dts/sun8i-a23-polaroid-mid2809pxe04.dts | 8 +-
arch/arm/boot/dts/sun8i-a33-inet-d978-rev2.dts | 9 +-
arch/arm/boot/dts/sun8i-a33-olinuxino.dts | 18 +-
arch/arm/boot/dts/sun8i-a33-sinlinx-sina33.dts | 11 +-
arch/arm/boot/dts/sun8i-a33.dtsi | 6 +-
arch/arm/boot/dts/sun8i-a83t.dtsi | 21 +-
arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts | 18 +-
arch/arm/boot/dts/sun8i-h3-nanopi.dtsi | 18 +-
arch/arm/boot/dts/sun8i-h3-orangepi-2.dts | 26 +-
arch/arm/boot/dts/sun8i-h3-orangepi-lite.dts | 18 +-
arch/arm/boot/dts/sun8i-h3-orangepi-one.dts | 18 +-
arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts | 4 +-
arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts | 18 +-
arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts | 10 +-
arch/arm/boot/dts/sun8i-h3.dtsi | 104 +++-----
arch/arm/boot/dts/sun8i-q8-common.dtsi | 9 +-
arch/arm/boot/dts/sun8i-r16-parrot.dts | 36 ++-
.../boot/dts/sun8i-reference-design-tablet.dtsi | 26 +-
arch/arm/boot/dts/sun9i-a80-cubieboard4.dts | 23 +-
arch/arm/boot/dts/sun9i-a80-optimus.dts | 41 ++-
arch/arm/boot/dts/sun9i-a80.dtsi | 61 ++---
arch/arm/boot/dts/sunxi-common-regulators.dtsi | 24 +-
99 files changed, 1083 insertions(+), 1783 deletions(-)
--
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20161115/d965478b/attachment.sig>
^ permalink raw reply
* [RFCv2 PATCH 1/5] video: add HDMI state notifier support
From: Hans Verkuil @ 2016-11-15 20:41 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1479234278.2456.49.camel@pengutronix.de>
Hi Philipp,
On 11/15/2016 07:24 PM, Philipp Zabel wrote:
> Hi Hans,
>
> Am Montag, den 14.11.2016, 16:22 +0100 schrieb Hans Verkuil:
>> From: Hans Verkuil <hans.verkuil@cisco.com>
>>
>> Add support for HDMI hotplug and EDID notifiers, which is used to convey
>> information from HDMI drivers to their CEC and audio counterparts.
>>
>> Based on an earlier version from Russell King:
>>
>> https://patchwork.kernel.org/patch/9277043/
>>
>> The hdmi_notifier is a reference counted object containing the HDMI state
>> of an HDMI device.
>>
>> When a new notifier is registered the current state will be reported to
>> that notifier at registration time.
>>
>> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
>> ---
>> drivers/video/Kconfig | 3 +
>> drivers/video/Makefile | 1 +
>> drivers/video/hdmi-notifier.c | 136 ++++++++++++++++++++++++++++++++++++++++++
>> include/linux/hdmi-notifier.h | 43 +++++++++++++
>> 4 files changed, 183 insertions(+)
>> create mode 100644 drivers/video/hdmi-notifier.c
>> create mode 100644 include/linux/hdmi-notifier.h
>>
>> diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
>> index 3c20af9..1ee7b9f 100644
>> --- a/drivers/video/Kconfig
>> +++ b/drivers/video/Kconfig
>> @@ -36,6 +36,9 @@ config VIDEOMODE_HELPERS
>> config HDMI
>> bool
>>
>> +config HDMI_NOTIFIERS
>> + bool
>> +
>> if VT
>> source "drivers/video/console/Kconfig"
>> endif
>> diff --git a/drivers/video/Makefile b/drivers/video/Makefile
>> index 9ad3c17..65f5649 100644
>> --- a/drivers/video/Makefile
>> +++ b/drivers/video/Makefile
>> @@ -1,5 +1,6 @@
>> obj-$(CONFIG_VGASTATE) += vgastate.o
>> obj-$(CONFIG_HDMI) += hdmi.o
>> +obj-$(CONFIG_HDMI_NOTIFIERS) += hdmi-notifier.o
>>
>> obj-$(CONFIG_VT) += console/
>> obj-$(CONFIG_LOGO) += logo/
>> diff --git a/drivers/video/hdmi-notifier.c b/drivers/video/hdmi-notifier.c
>> new file mode 100644
>> index 0000000..c2a4f1b
>> --- /dev/null
>> +++ b/drivers/video/hdmi-notifier.c
>> @@ -0,0 +1,136 @@
>> +#include <linux/export.h>
>> +#include <linux/hdmi-notifier.h>
>> +#include <linux/string.h>
>> +#include <linux/slab.h>
>> +#include <linux/list.h>
>> +
>> +struct hdmi_notifiers {
>> + struct list_head head;
>> + struct device *dev;
>> + struct hdmi_notifier *n;
>> +};
>
> This struct is not used, can be removed.
Indeed.
>
>> +static LIST_HEAD(hdmi_notifiers);
>> +static DEFINE_MUTEX(hdmi_notifiers_lock);
>> +
>> +struct hdmi_notifier *hdmi_notifier_get(struct device *dev)
>> +{
>> + struct hdmi_notifier *n;
>> +
>> + mutex_lock(&hdmi_notifiers_lock);
>> + list_for_each_entry(n, &hdmi_notifiers, head) {
>> + if (n->dev == dev) {
>> + mutex_unlock(&hdmi_notifiers_lock);
>> + kref_get(&n->kref);
>> + return n;
>> + }
>> + }
>> + n = kzalloc(sizeof(*n), GFP_KERNEL);
>> + if (!n)
>> + goto unlock;
>> + mutex_init(&n->lock);
>> + BLOCKING_INIT_NOTIFIER_HEAD(&n->notifiers);
>> + kref_init(&n->kref);
>
> + n->dev = dev;
>
> Currently n->dev is never set, so every caller of this function gets its
> own hdmi_notifier.
Oops! Well, I did say it was compile-tested only :-)
>
>> + list_add_tail(&n->head, &hdmi_notifiers);
>> +unlock:
>> + mutex_unlock(&hdmi_notifiers_lock);
>> + return n;
>> +}
>> +EXPORT_SYMBOL_GPL(hdmi_notifier_get);
>> +
>> +static void hdmi_notifier_release(struct kref *kref)
>> +{
>> + struct hdmi_notifier *n =
>> + container_of(kref, struct hdmi_notifier, kref);
>> +
>> + kfree(n->edid);
>> + kfree(n);
>> +}
>> +
>> +void hdmi_notifier_put(struct hdmi_notifier *n)
>> +{
>> + kref_put(&n->kref, hdmi_notifier_release);
>> +}
>> +EXPORT_SYMBOL_GPL(hdmi_notifier_put);
>> +
>> +int hdmi_notifier_register(struct hdmi_notifier *n, struct notifier_block *nb)
>> +{
>> + int ret = blocking_notifier_chain_register(&n->notifiers, nb);
>> +
>> + if (ret)
>> + return ret;
>> + kref_get(&n->kref);
>> + mutex_lock(&n->lock);
>> + if (n->connected) {
>> + blocking_notifier_call_chain(&n->notifiers, HDMI_CONNECTED, n);
>> + if (n->edid_size)
>> + blocking_notifier_call_chain(&n->notifiers, HDMI_NEW_EDID, n);
>> + if (n->has_eld)
>> + blocking_notifier_call_chain(&n->notifiers, HDMI_NEW_ELD, n);
>> + }
>> + mutex_unlock(&n->lock);
>> + return 0;
>> +}
>> +EXPORT_SYMBOL_GPL(hdmi_notifier_register);
>> +
>> +int hdmi_notifier_unregister(struct hdmi_notifier *n, struct notifier_block *nb)
>> +{
>> + int ret = blocking_notifier_chain_unregister(&n->notifiers, nb);
>> +
>> + if (ret == 0)
>> + hdmi_notifier_put(n);
>> + return ret;
>> +}
>> +EXPORT_SYMBOL_GPL(hdmi_notifier_unregister);
>> +
>> +void hdmi_event_connect(struct hdmi_notifier *n)
>> +{
>> + mutex_lock(&n->lock);
>> + n->connected = true;
>> + blocking_notifier_call_chain(&n->notifiers, HDMI_CONNECTED, n);
>> + mutex_unlock(&n->lock);
>> +}
>> +EXPORT_SYMBOL_GPL(hdmi_event_connect);
>> +
>> +void hdmi_event_disconnect(struct hdmi_notifier *n)
>> +{
>> + mutex_lock(&n->lock);
>> + n->connected = false;
>> + n->has_eld = false;
>> + n->edid_size = 0;
>> + blocking_notifier_call_chain(&n->notifiers, HDMI_DISCONNECTED, n);
>> + mutex_unlock(&n->lock);
>> +}
>> +EXPORT_SYMBOL_GPL(hdmi_event_disconnect);
>> +
>> +int hdmi_event_new_edid(struct hdmi_notifier *n, const void *edid, size_t size)
>> +{
>> + mutex_lock(&n->lock);
>> + if (n->edid_allocated_size < size) {
>> + void *p = kmalloc(size, GFP_KERNEL);
>> +
>> + if (p == NULL) {
>> + mutex_unlock(&n->lock);
>> + return -ENOMEM;
>> + }
>> + kfree(n->edid);
>> + n->edid = p;
>> + n->edid_allocated_size = size;
>> + }
>> + memcpy(n->edid, edid, size);
>> + n->edid_size = size;
>> + blocking_notifier_call_chain(&n->notifiers, HDMI_NEW_EDID, n);
>> + mutex_unlock(&n->lock);
>> + return 0;
>> +}
>> +EXPORT_SYMBOL_GPL(hdmi_event_new_edid);
>> +
>> +void hdmi_event_new_eld(struct hdmi_notifier *n, const u8 eld[128])
>> +{
>> + mutex_lock(&n->lock);
>> + memcpy(n->eld, eld, sizeof(n->eld));
>> + n->has_eld = true;
>> + blocking_notifier_call_chain(&n->notifiers, HDMI_NEW_ELD, n);
>> + mutex_unlock(&n->lock);
>> +}
>> +EXPORT_SYMBOL_GPL(hdmi_event_new_eld);
>> diff --git a/include/linux/hdmi-notifier.h b/include/linux/hdmi-notifier.h
>> new file mode 100644
>> index 0000000..f7fc405
>> --- /dev/null
>> +++ b/include/linux/hdmi-notifier.h
>> @@ -0,0 +1,43 @@
>> +#ifndef LINUX_HDMI_NOTIFIER_H
>> +#define LINUX_HDMI_NOTIFIER_H
>> +
>> +#include <linux/types.h>
>> +#include <linux/notifier.h>
>> +#include <linux/kref.h>
>> +
>> +enum {
>> + HDMI_CONNECTED,
>> + HDMI_DISCONNECTED,
>> + HDMI_NEW_EDID,
>> + HDMI_NEW_ELD,
>> +};
>> +
>> +struct device;
>> +
>> +struct hdmi_notifier {
>> + struct mutex lock;
>> + struct list_head head;
>> + struct kref kref;
>> + struct blocking_notifier_head notifiers;
>> + struct device *dev;
>> +
>> + /* Current state */
>> + bool connected;
>> + bool has_eld;
>> + unsigned char eld[128];
>> + void *edid;
>> + size_t edid_size;
>> + size_t edid_allocated_size;
>> +};
>> +
>> +struct hdmi_notifier *hdmi_notifier_get(struct device *dev);
>> +void hdmi_notifier_put(struct hdmi_notifier *n);
>> +int hdmi_notifier_register(struct hdmi_notifier *n, struct notifier_block *nb);
>> +int hdmi_notifier_unregister(struct hdmi_notifier *n, struct notifier_block *nb);
>> +
>> +void hdmi_event_connect(struct hdmi_notifier *n);
>> +void hdmi_event_disconnect(struct hdmi_notifier *n);
>> +int hdmi_event_new_edid(struct hdmi_notifier *n, const void *edid, size_t size);
>> +void hdmi_event_new_eld(struct hdmi_notifier *n, const u8 eld[128]);
>> +
>> +#endif
>
> With the above change,
>
> Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
> Tested-by: Philipp Zabel <p.zabel@pengutronix.de> (on MT8173)
>
> I'll send the patches for mediatek-drm and hdmi-codec that I used for
> testing in a bit.
Thanks for testing this so quickly! Much appreciated!
Regards,
Hans
^ permalink raw reply
* [GIT PULL] Allwinner DT changes for 4.10
From: Maxime Ripard @ 2016-11-15 20:41 UTC (permalink / raw)
To: linux-arm-kernel
Hi Arnd, Olof,
Here is our pull request for the next merge window.
Thanks!
Maxime
The following changes since commit 1001354ca34179f3db924eb66672442a173147dc:
Linux 4.9-rc1 (2016-10-15 12:17:50 -0700)
are available in the git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux.git tags/sunxi-dt-for-4.10
for you to fetch changes up to e39a30cf736144814b0bddb3fff28fbbc2a8be0f:
ARM: sunxi: Add the missing clocks to the pinctrl nodes (2016-11-15 18:49:47 +0100)
----------------------------------------------------------------
Allwinner DT additions for 4.10
The usual bunch of DT additions, but most notably:
- A31 DRM driver
- A31 audio codec
- WiFi for the A80-Based boards and the CHIP
- Support for the NextThing Co CHIP Pro (the first board with NAND
enabled)
- New boards: NanoPi M1,
----------------------------------------------------------------
Antoine Tenart (1):
ARM: sun5i: chip: add a node for the w1 gpio controller
Chen-Yu Tsai (12):
ARM: dts: sun6i: Sort pinmux setting nodes
ARM: dts: sun6i: Add device nodes for first display pipeline
ARM: dts: sun6i: Add A31 LCD0 RGB888 pins
ARM: dts: sun9i: Add mmc1 pinmux setting
ARM: dts: sun9i: a80-optimus: Enable AP6330 WiFi
ARM: dts: sun9i: cubieboard4: Enable AP6330 WiFi
ARM: dts: sun6i: Add audio codec device node
ARM: dts: sun6i: hummingbird: Enable internal audio codec
ARM: dts: sun6i: sina31s: Enable internal audio codec
ARM: dts: sun7i: bananapi-m1-plus: Enable USB PHY for USB host support
ARM: dts: sun7i: bananapi-m1-plus: Add PMIC regulators
ARM: dts: sun7i: bananapi-m1-plus: Enable USB OTG
Emmanuel Vadot (1):
ARM: dts: sunxi: Add cpu-supply for Olimex A20 EVB
Hans de Goede (1):
ARM: dts: sun8i: reference-design-tablet: ldo_io1 is vcc-touchscreen
Maxime Ripard (16):
ARM: sun5i: a13-olinuxino: Enable VGA bridge
ARM: gr8: Add the UART3
ARM: gr8: Fix typo in the i2s mclk pin group
ARM: gr8: Add missing pwm channel 1 pin
ARM: gr8: Add UART2 pins
ARM: gr8: Add UART3 pins
ARM: gr8: Add CHIP Pro support
ARM: sun5i: chip: Enable Wi-Fi SDIO chip
ARM: sun5i: Rename A10s pins
ARM: sun5i: Add SPI2 pins
ARM: sun5i: Add RGB 565 LCD pins
ARM: sun5i: chip: Add optional buses
ARM: gr8: evb: Enable SPDIF
ARM: gr8: evb: Add i2s codec
ARM: sun8i: sina33: Enable USB gadget
ARM: sunxi: Add the missing clocks to the pinctrl nodes
Milo Kim (5):
ARM: dts: sun8i: Add common dtsi file for NanoPi SBCs
ARM: dts: sun8i: Use the common file in NanoPi NEO SBC
ARM: dts: sun8i: Add dts file for NanoPi M1 SBC
ARM: dts: sun8i: Add SPI pinctrl node in H3
ARM: dts: sun8i: Add SPI controller node in H3
Sudeep Holla (1):
ARM: dts: sun8i: replace enable-sdio-wakeup with wakeup-source for BananaPi M1+
arch/arm/boot/dts/Makefile | 1 +
arch/arm/boot/dts/ntc-gr8-chip-pro.dts | 266 +++++++++++++++++++++
arch/arm/boot/dts/ntc-gr8-evb.dts | 33 +++
arch/arm/boot/dts/ntc-gr8.dtsi | 47 +++-
arch/arm/boot/dts/sun4i-a10.dtsi | 3 +-
arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts | 4 +-
arch/arm/boot/dts/sun5i-a10s.dtsi | 4 +-
arch/arm/boot/dts/sun5i-a13-olinuxino.dts | 54 +++++
arch/arm/boot/dts/sun5i-r8-chip.dts | 69 ++++++
arch/arm/boot/dts/sun5i.dtsi | 27 ++-
arch/arm/boot/dts/sun6i-a31-hummingbird.dts | 13 +
arch/arm/boot/dts/sun6i-a31.dtsi | 266 +++++++++++++++++----
arch/arm/boot/dts/sun6i-a31s-sina31s.dts | 8 +
arch/arm/boot/dts/sun6i-a31s.dtsi | 8 +
arch/arm/boot/dts/sun7i-a20-bananapi-m1-plus.dts | 62 ++++-
arch/arm/boot/dts/sun7i-a20-olimex-som-evb.dts | 4 +
arch/arm/boot/dts/sun7i-a20.dtsi | 3 +-
arch/arm/boot/dts/sun8i-a23-a33.dtsi | 6 +-
.../boot/dts/sun8i-a23-polaroid-mid2407pxe03.dts | 7 -
arch/arm/boot/dts/sun8i-a33-sinlinx-sina33.dts | 5 +
arch/arm/boot/dts/sun8i-h3-nanopi-m1.dts | 64 +++++
arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts | 79 +-----
arch/arm/boot/dts/sun8i-h3-nanopi.dtsi | 144 +++++++++++
arch/arm/boot/dts/sun8i-h3.dtsi | 52 +++-
.../boot/dts/sun8i-reference-design-tablet.dtsi | 7 +
arch/arm/boot/dts/sun9i-a80-cubieboard4.dts | 32 +++
arch/arm/boot/dts/sun9i-a80-optimus.dts | 30 +++
arch/arm/boot/dts/sun9i-a80.dtsi | 14 +-
28 files changed, 1165 insertions(+), 147 deletions(-)
create mode 100644 arch/arm/boot/dts/ntc-gr8-chip-pro.dts
create mode 100644 arch/arm/boot/dts/sun8i-h3-nanopi-m1.dts
create mode 100644 arch/arm/boot/dts/sun8i-h3-nanopi.dtsi
--
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20161115/c1f6ab49/attachment.sig>
^ permalink raw reply
* specifying order of /dev/mmcblk devices via device-tree?
From: Tim Harvey @ 2016-11-15 20:27 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <20161114190839.GS1041@n2100.armlinux.org.uk>
On Mon, Nov 14, 2016 at 11:08 AM, Russell King - ARM Linux
<linux@armlinux.org.uk> wrote:
> So, someone merged a patch which makes mmcblk devices follow the
> host controller numbering.
>
> Now my cubox-i fails to boot correctly because the SD card in the
> _only_ SD card slot now gets called "mmcblk1" and not "mmcblk0".
>
> USDHC1 is wired to the on-microsom WiFi, and never has anything
> remotely near a SD card or eMMC present. So, this change is
> confusing on these platforms.
>
> Moreover, this is _going_ to break SolidRun distros if people upgrade
> their kernels.
>
> It may be appropriate for eMMC, but it's not appropriate everywhere.
>
> This is a user visible _regression_ in 4.9-rc. Whoever did this,
> please revert whatever change caused this, and next time limit it
> to only eMMC.
>
> Thanks.
I see the same thing on newer kernels, which is why I asked the
question. I didn't expect (or even want honestly) a non mmcblk0 boot
device and was looking for a way to control that via dt. Now I'm
understanding that to avoid this kind of bootloader/kernel dependence
issue I should be using UUID's to identify the boot device.
>From my testing it looks like the change your looking for occurred
some time ago and is somewhere between 4.5 and 4.6 and not a 4.9
regression specifically.
Regards,
Tim
^ permalink raw reply
* [PATCH 03/15] net: bcm63xx_enet: Utilize phy_ethtool_nway_reset
From: Florian Fainelli @ 2016-11-15 20:15 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <3dc4471a-1afd-0e28-1de9-60558cece143@gmx.de>
On 11/15/2016 11:59 AM, Heinrich Schuchardt wrote:
> On 11/15/2016 07:06 PM, Florian Fainelli wrote:
>> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
>
> Each patch of your patch series should have a commit message.
It's pretty obvious what this does, really.
>
> You can add the missing commit messages with
> git rebase -i HEAD~15
> choosing reword.
>
> Please, add a cover letter message describing the patch series using
>
> git format-patch -ns --cover-letter HEAD~15..HEAD
>
> and provide a summary in the 0/15 message.
I did:
https://www.mail-archive.com/netdev at vger.kernel.org/maillist.html
and that is also apparent from:
In-Reply-To: <20161115180644.3941-1-f.fainelli@gmail.com>
References: <20161115180644.3941-1-f.fainelli@gmail.com>
And what I also did is to intentionally make sure that for each patch,
there would not be 50+ people CC'd, but just the relevant people for
each driver, which is exactly how cc-cmd=scripts/get_maintainer.pl work,
making my life simpler honestly.
It's not nearly my first patch submission, but I admit I have been semi
intentionally lazy with this patch set considering the number of patches.
Anyway, enough time wasted on this.
--
Florian
^ permalink raw reply
* [PATCH 03/15] net: bcm63xx_enet: Utilize phy_ethtool_nway_reset
From: Heinrich Schuchardt @ 2016-11-15 19:59 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <20161115180644.3941-4-f.fainelli@gmail.com>
On 11/15/2016 07:06 PM, Florian Fainelli wrote:
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Each patch of your patch series should have a commit message.
You can add the missing commit messages with
git rebase -i HEAD~15
choosing reword.
Please, add a cover letter message describing the patch series using
git format-patch -ns --cover-letter HEAD~15..HEAD
and provide a summary in the 0/15 message.
The cover letter and all patches should be in one mails thhread.
If you put all messages into one directory you can send the series as
one mail thread with
git send-email <directory>
> ---
> drivers/net/ethernet/broadcom/bcm63xx_enet.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/net/ethernet/broadcom/bcm63xx_enet.c b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
> index 5c7acef1de2e..a43ab90c051e 100644
> --- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
> +++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
> @@ -1434,11 +1434,8 @@ static int bcm_enet_nway_reset(struct net_device *dev)
> struct bcm_enet_priv *priv;
>
> priv = netdev_priv(dev);
> - if (priv->has_phy) {
> - if (!dev->phydev)
> - return -ENODEV;
> - return genphy_restart_aneg(dev->phydev);
> - }
> + if (priv->has_phy)
> + return phy_ethtool_nway_reset(dev),
>
> return -EOPNOTSUPP;
> }
>
^ permalink raw reply
* [PATCH v2 3/3] ARM: davinci: PM: support da8xx DT platforms
From: Kevin Hilman @ 2016-11-15 19:54 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <20161115195421.19983-1-khilman@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
---
arch/arm/mach-davinci/da8xx-dt.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm/mach-davinci/da8xx-dt.c b/arch/arm/mach-davinci/da8xx-dt.c
index c9f7e9274aa8..aed44dcdfd30 100644
--- a/arch/arm/mach-davinci/da8xx-dt.c
+++ b/arch/arm/mach-davinci/da8xx-dt.c
@@ -46,6 +46,7 @@ static struct of_dev_auxdata da850_auxdata_lookup[] __initdata = {
static void __init da850_init_machine(void)
{
of_platform_default_populate(NULL, da850_auxdata_lookup, NULL);
+ davinci_pm_init();
}
static const char *const da850_boards_compat[] __initconst = {
--
2.9.3
^ permalink raw reply related
* [PATCH v2 2/3] ARM: davinci: PM: cleanup: remove references to pdata
From: Kevin Hilman @ 2016-11-15 19:54 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <20161115195421.19983-1-khilman@baylibre.com>
Since the PM core code is no longer using a fake platform_device or
platform_data, remove references to 'pdata'.
No functional changes.
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
---
arch/arm/mach-davinci/pm.c | 57 +++++++++++++++++++++++-----------------------
1 file changed, 28 insertions(+), 29 deletions(-)
diff --git a/arch/arm/mach-davinci/pm.c b/arch/arm/mach-davinci/pm.c
index 3f1fb191c03f..0afd201ab980 100644
--- a/arch/arm/mach-davinci/pm.c
+++ b/arch/arm/mach-davinci/pm.c
@@ -37,7 +37,6 @@ static struct davinci_pm_config pm_config = {
.sleepcount = DEEPSLEEP_SLEEPCOUNT,
.ddrpsc_num = DA8XX_LPSC1_EMIF3C,
};
-static struct davinci_pm_config *pdata = &pm_config;
static void davinci_sram_push(void *dest, void *src, unsigned int size)
{
@@ -49,58 +48,58 @@ static void davinci_pm_suspend(void)
{
unsigned val;
- if (pdata->cpupll_reg_base != pdata->ddrpll_reg_base) {
+ if (pm_config.cpupll_reg_base != pm_config.ddrpll_reg_base) {
/* Switch CPU PLL to bypass mode */
- val = __raw_readl(pdata->cpupll_reg_base + PLLCTL);
+ val = __raw_readl(pm_config.cpupll_reg_base + PLLCTL);
val &= ~(PLLCTL_PLLENSRC | PLLCTL_PLLEN);
- __raw_writel(val, pdata->cpupll_reg_base + PLLCTL);
+ __raw_writel(val, pm_config.cpupll_reg_base + PLLCTL);
udelay(PLL_BYPASS_TIME);
/* Powerdown CPU PLL */
- val = __raw_readl(pdata->cpupll_reg_base + PLLCTL);
+ val = __raw_readl(pm_config.cpupll_reg_base + PLLCTL);
val |= PLLCTL_PLLPWRDN;
- __raw_writel(val, pdata->cpupll_reg_base + PLLCTL);
+ __raw_writel(val, pm_config.cpupll_reg_base + PLLCTL);
}
/* Configure sleep count in deep sleep register */
- val = __raw_readl(pdata->deepsleep_reg);
+ val = __raw_readl(pm_config.deepsleep_reg);
val &= ~DEEPSLEEP_SLEEPCOUNT_MASK,
- val |= pdata->sleepcount;
- __raw_writel(val, pdata->deepsleep_reg);
+ val |= pm_config.sleepcount;
+ __raw_writel(val, pm_config.deepsleep_reg);
/* System goes to sleep in this call */
- davinci_sram_suspend(pdata);
+ davinci_sram_suspend(&pm_config);
- if (pdata->cpupll_reg_base != pdata->ddrpll_reg_base) {
+ if (pm_config.cpupll_reg_base != pm_config.ddrpll_reg_base) {
/* put CPU PLL in reset */
- val = __raw_readl(pdata->cpupll_reg_base + PLLCTL);
+ val = __raw_readl(pm_config.cpupll_reg_base + PLLCTL);
val &= ~PLLCTL_PLLRST;
- __raw_writel(val, pdata->cpupll_reg_base + PLLCTL);
+ __raw_writel(val, pm_config.cpupll_reg_base + PLLCTL);
/* put CPU PLL in power down */
- val = __raw_readl(pdata->cpupll_reg_base + PLLCTL);
+ val = __raw_readl(pm_config.cpupll_reg_base + PLLCTL);
val &= ~PLLCTL_PLLPWRDN;
- __raw_writel(val, pdata->cpupll_reg_base + PLLCTL);
+ __raw_writel(val, pm_config.cpupll_reg_base + PLLCTL);
/* wait for CPU PLL reset */
udelay(PLL_RESET_TIME);
/* bring CPU PLL out of reset */
- val = __raw_readl(pdata->cpupll_reg_base + PLLCTL);
+ val = __raw_readl(pm_config.cpupll_reg_base + PLLCTL);
val |= PLLCTL_PLLRST;
- __raw_writel(val, pdata->cpupll_reg_base + PLLCTL);
+ __raw_writel(val, pm_config.cpupll_reg_base + PLLCTL);
/* Wait for CPU PLL to lock */
udelay(PLL_LOCK_TIME);
/* Remove CPU PLL from bypass mode */
- val = __raw_readl(pdata->cpupll_reg_base + PLLCTL);
+ val = __raw_readl(pm_config.cpupll_reg_base + PLLCTL);
val &= ~PLLCTL_PLLENSRC;
val |= PLLCTL_PLLEN;
- __raw_writel(val, pdata->cpupll_reg_base + PLLCTL);
+ __raw_writel(val, pm_config.cpupll_reg_base + PLLCTL);
}
}
@@ -133,21 +132,21 @@ int __init davinci_pm_init(void)
if (ret)
return ret;
- pdata->ddr2_ctlr_base = da8xx_get_mem_ctlr();
- pdata->deepsleep_reg = DA8XX_SYSCFG1_VIRT(DA8XX_DEEPSLEEP_REG);
+ pm_config.ddr2_ctlr_base = da8xx_get_mem_ctlr();
+ pm_config.deepsleep_reg = DA8XX_SYSCFG1_VIRT(DA8XX_DEEPSLEEP_REG);
- pdata->cpupll_reg_base = ioremap(DA8XX_PLL0_BASE, SZ_4K);
- if (!pdata->cpupll_reg_base)
+ pm_config.cpupll_reg_base = ioremap(DA8XX_PLL0_BASE, SZ_4K);
+ if (!pm_config.cpupll_reg_base)
return -ENOMEM;
- pdata->ddrpll_reg_base = ioremap(DA850_PLL1_BASE, SZ_4K);
- if (!pdata->ddrpll_reg_base) {
+ pm_config.ddrpll_reg_base = ioremap(DA850_PLL1_BASE, SZ_4K);
+ if (!pm_config.ddrpll_reg_base) {
ret = -ENOMEM;
goto no_ddrpll_mem;
}
- pdata->ddrpsc_reg_base = ioremap(DA8XX_PSC1_BASE, SZ_4K);
- if (!pdata->ddrpsc_reg_base) {
+ pm_config.ddrpsc_reg_base = ioremap(DA8XX_PSC1_BASE, SZ_4K);
+ if (!pm_config.ddrpsc_reg_base) {
ret = -ENOMEM;
goto no_ddrpsc_mem;
}
@@ -164,8 +163,8 @@ int __init davinci_pm_init(void)
suspend_set_ops(&davinci_pm_ops);
no_ddrpsc_mem:
- iounmap(pdata->ddrpll_reg_base);
+ iounmap(pm_config.ddrpll_reg_base);
no_ddrpll_mem:
- iounmap(pdata->cpupll_reg_base);
+ iounmap(pm_config.cpupll_reg_base);
return ret;
}
--
2.9.3
^ permalink raw reply related
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox