Commit Graph

3 Commits

Author SHA1 Message Date
Robert Jarzmik 976e509c2d ARM: pxa: remove devicetree boards from pxa_defconfig
If both legacy and device-tree machines are mixed in the same defconfig,
the legacy boards don't boot up anymore with gpio request deferral
errors.

This is seen when attempting to run akita, borzoi, spitz, terrier, or
tosa in qemu with pxa_defconfig.

The real reason behind is that gpio handling for pxa in its current
state cannot be built for _both_ a devicetree machine (ie. pxa-dt.c) and
a non devicetree machine (ie. corgi, tosa, ...).

This is turn is because for devicetree a pinctrl is enforced for the
machine, and a pinctrl driver is required. If it's not available,
pxa_gpio_request() fails on pinctrl_request_gpio() and returns
-EPROBE_DEFER.  It was introduced by commit f806dac593
("ARM: pxa: activate pinctrl for device-tree machines").

Now the true chicken and egg problem is than machine files,
ie. arch/arm/mach-pxa/xxx.c are using gpio before the drivers are
probed, in the init_machine() function, and that's why pinctrl/gpio for
legacy machine files is a bit difficult.

As for now, to keep the compilation coverage and testing of legacy
machines, this patch removes the 2 devicetree machines from
pxa_defconfig.

Reported-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Tested-by: Guenter Roeck <linux@roeck-us.net>
2016-08-09 08:16:58 +02:00
Arnd Bergmann 55e70147e7 ARM: pxa: don't select GPIO_SYSFS for MIOA701
GPIO_SYSFS is a common kernel functionality, not something
that a board specific Kconfig should have to worry about.
In MIOA701, we get a warning about the select when CONFIG_SYSFS
is disabled:

warning: (MACH_MIOA701) selects GPIO_SYSFS which has unmet direct dependencies (GPIOLIB && SYSFS)

This just removes the select and instead enables the symbol in
the defconfig file.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
2016-02-01 21:44:17 +01:00
Robert Jarzmik 3168eb330b ARM: pxa: add defconfig covering all the boards
Add a defconfig covering all known pxa board, ie. all selectable machine
files in arch/arm/mach-pxa/*.c.

This defconfig was built by doing :
 - aggregation of all known defconfigs by cat
	am200epdkit_defconfig
	cm_x2xx_defconfig
	cm_x300_defconfig
	colibri_pxa270_defconfig
	colibri_pxa300_defconfig
	corgi_defconfig
	em_x270_defconfig
	eseries_pxa_defconfig
	ezx_defconfig
	h5000_defconfig
	imote2_defconfig
	lpd270_defconfig
	lubbock_defconfig
	magician_defconfig
	mainstone_defconfig
	multi_v7_defconfig
	palmz72_defconfig
	pcm027_defconfig
	pxa255-idp_defconfig
	pxa3xx_defconfig
	raumfeld_defconfig
	spitz_defconfig
	trizeps4_defconfig
	viper_defconfig
	xcep_defconfig
	zeus_defconfig
 - manual make menuconfig to ensure :
   - all pxa implementation were selected
   - all drivers were transformed into modules rather than builtin
     => as a consequence this single kernel will rely on an initramfs
     => as kernel size matters on pxa, each machine can take the subset
        of modules required for it to work
   - all missed configurations are selected verified by :
     => grep -i pxa .config | grep "is not set"
     => this should only show the left on purpose options (either not
        selectable or sharpsl exception below)
 - CONFIG_PXA_SHARPSL was disabled
   This breaks the boot very early on any non Sharp platform, see
   head-sharpsl.S

This defconfig was tested as booting up to the login phase on :
 - lubbock (pxa25x)
 - mainstone (pxa27x)
 - zylonite (pxa3xx)

The completion of this work will require to :
 - parse manually all the arch/arm/mach-pxa/*c files, look for all
   platform devices added, and verify they are all in pxa_defconfig
 - do the same to ensure all pxa specific drivers (leds, gpio, ...) are
   included

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2016-01-08 11:45:34 +01:00