[1/3] ARM: sunxi: Disable USB host options by default

Message ID 20171019082649.27819-2-maxime.ripard@free-electrons.com
State New
Headers show
Series
  • sunxi: Fix boot of Cubietruk and al.
Related show

Commit Message

Maxime Ripard Oct. 19, 2017, 8:26 a.m.
The USB keyboard and USB storage support are non-essential from an
architecture-wide sense.

Remove the selection so that we can trim down the size of our binaries a
bit.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
---
 arch/arm/Kconfig | 3 ---
 1 file changed, 3 deletions(-)

Comments

Alexander Graf Oct. 19, 2017, 8:48 a.m. | #1
On 10/19/2017 10:26 AM, Maxime Ripard wrote:
> The USB keyboard and USB storage support are non-essential from an
> architecture-wide sense.
>
> Remove the selection so that we can trim down the size of our binaries a
> bit.
>
> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>

Most users out there that I'm aware of use U-Boot without serial port 
attached. Disabling USB keyboard support means they can no longer 
interact with their firmware. That's a terrible thing to do.


Alex
Peter Robinson Oct. 19, 2017, 8:54 a.m. | #2
On Thu, Oct 19, 2017 at 9:26 AM, Maxime Ripard
<maxime.ripard@free-electrons.com> wrote:
> The USB keyboard and USB storage support are non-essential from an
> architecture-wide sense.

A lot of Fedora users boot from USB HDDs by having a small (say an old
128Mb mSD card from a phone) SD card and then boot the OS from the
disk so this will break all of those, plus if they don't have a serial
console it means they can't do things like debug or select an older
kernel to boot if there was an issue.

> Remove the selection so that we can trim down the size of our binaries a
> bit.
>
> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> ---
>  arch/arm/Kconfig | 3 ---
>  1 file changed, 3 deletions(-)
>
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 64e0ee43f112..0eaf54bd8ddb 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -688,7 +688,6 @@ config ARCH_SUNXI
>         select DM
>         select DM_ETH
>         select DM_GPIO
> -       select DM_KEYBOARD
>         select DM_SERIAL
>         select DM_USB if DISTRO_DEFAULTS
>         select OF_BOARD_SETUP
> @@ -699,8 +698,6 @@ config ARCH_SUNXI
>         select SYS_NS16550
>         select SPL_SYS_THUMB_BUILD if !ARM64
>         select USB if DISTRO_DEFAULTS
> -       select USB_STORAGE if DISTRO_DEFAULTS
> -       select USB_KEYBOARD if DISTRO_DEFAULTS
>         select USE_TINY_PRINTF
>         imply CMD_GPT
>         imply FAT_WRITE
> --
> 2.14.2
>
> _______________________________________________
> U-Boot mailing list
> U-Boot@lists.denx.de
> https://lists.denx.de/listinfo/u-boot
Andre Przywara Oct. 19, 2017, 9:11 a.m. | #3
Hi,

On 19/10/17 09:48, Alexander Graf wrote:
> On 10/19/2017 10:26 AM, Maxime Ripard wrote:
>> The USB keyboard and USB storage support are non-essential from an
>> architecture-wide sense.
>>
>> Remove the selection so that we can trim down the size of our binaries a
>> bit.
>>
>> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> 
> Most users out there that I'm aware of use U-Boot without serial port
> attached. Disabling USB keyboard support means they can no longer
> interact with their firmware. That's a terrible thing to do.

Also USB storage is the canonical way of installing distributions, by
using an USB flash drive with a generic (UEFI) installer on it.

And I second the concerns about removal of UEFI support and USB
keyboard. Especially UEFI is a real deal breaker for ARM64 boards.

So while I see that this series fixes a particular problem, I am a bit
wary of this solution, as this just papers over the issue and will
likely break in the future again.

Can't we somehow fix the environment problem? Possibly via the upgrade
process (save the environment, update U-Boot, re-install the
environment)? Or some other clever way? That would be more future proof,
I believe.

Cheers,
Andre.
Mark Kettenis Oct. 19, 2017, 11:44 a.m. | #4
> From: Maxime Ripard <maxime.ripard@free-electrons.com>
> Date: Thu, 19 Oct 2017 10:26:47 +0200
> 
> The USB keyboard and USB storage support are non-essential from an
> architecture-wide sense.
> 
> Remove the selection so that we can trim down the size of our binaries a
> bit.

But many people rely on these options and I'd say they should be
enabled on the majority of the boards out there.

If you really want to go this way, I'd say you should enable these
options in all the board-specific configs and subsequently remove them
from those boards where they're not useful.

> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> ---
>  arch/arm/Kconfig | 3 ---
>  1 file changed, 3 deletions(-)
> 
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 64e0ee43f112..0eaf54bd8ddb 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -688,7 +688,6 @@ config ARCH_SUNXI
>  	select DM
>  	select DM_ETH
>  	select DM_GPIO
> -	select DM_KEYBOARD
>  	select DM_SERIAL
>  	select DM_USB if DISTRO_DEFAULTS
>  	select OF_BOARD_SETUP
> @@ -699,8 +698,6 @@ config ARCH_SUNXI
>  	select SYS_NS16550
>  	select SPL_SYS_THUMB_BUILD if !ARM64
>  	select USB if DISTRO_DEFAULTS
> -	select USB_STORAGE if DISTRO_DEFAULTS
> -	select USB_KEYBOARD if DISTRO_DEFAULTS
>  	select USE_TINY_PRINTF
>  	imply CMD_GPT
>  	imply FAT_WRITE
> -- 
> 2.14.2
> 
> _______________________________________________
> U-Boot mailing list
> U-Boot@lists.denx.de
> https://lists.denx.de/listinfo/u-boot
>
Maxime Ripard Oct. 19, 2017, 11:55 a.m. | #5
Hi Andre,

On Thu, Oct 19, 2017 at 10:11:19AM +0100, Andre Przywara wrote:
> So while I see that this series fixes a particular problem, I am a bit

> wary of this solution, as this just papers over the issue and will

> likely break in the future again.

> 

> Can't we somehow fix the environment problem? Possibly via the upgrade

> process (save the environment, update U-Boot, re-install the

> environment)? Or some other clever way? That would be more future proof,

> I believe.


That would be the ideal solution, but it would also assume that you
have an upgrade mechanism in the first place. It might work for the
distros, but it will not for anyone else that will just upgrade as
they did it for the last 5 years and suddenly everything is broken.

And part of that upgrade would also be to change the partition layout
if you created partitions that match the various offsets, which is
basically impossible without reflashing everything again.

So yeah, I would very much favor that, but that's not really doable.

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

Patch

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 64e0ee43f112..0eaf54bd8ddb 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -688,7 +688,6 @@  config ARCH_SUNXI
 	select DM
 	select DM_ETH
 	select DM_GPIO
-	select DM_KEYBOARD
 	select DM_SERIAL
 	select DM_USB if DISTRO_DEFAULTS
 	select OF_BOARD_SETUP
@@ -699,8 +698,6 @@  config ARCH_SUNXI
 	select SYS_NS16550
 	select SPL_SYS_THUMB_BUILD if !ARM64
 	select USB if DISTRO_DEFAULTS
-	select USB_STORAGE if DISTRO_DEFAULTS
-	select USB_KEYBOARD if DISTRO_DEFAULTS
 	select USE_TINY_PRINTF
 	imply CMD_GPT
 	imply FAT_WRITE