Re: [PATCH] config: Add android config fragments

2016-06-23 Thread Rob Herring
On Thu, Jun 23, 2016 at 1:14 AM, Amit Pundir  wrote:
> On 23 June 2016 at 08:50, Rob Herring  wrote:
>> On Wed, Jun 22, 2016 at 2:53 AM, Amit Pundir  wrote:
>>> On 8 June 2016 at 22:09, Rob Herring  wrote:
 Copy the config fragments from the AOSP common kernel tree. It is
 becoming possible to run mainline kernels with Android, but the kernel
 defconfigs don't work as-is and debugging missing config options is a
 pain. Adding the config fragments into the kernel tree, makes
 configuring a mainline kernel as simple as:

 make ARCH=arm multi_v7_defconfig android-base.config 
 android-recommended.config

 Cc: Amit Pundir 
 Cc: John Stultz 
 Cc: Dmitry Torokhov 
 Cc: Rom Lemarchand 
 Signed-off-by: Rob Herring 
 ---
  kernel/configs/android-base.config| 161 
 ++
  kernel/configs/android-recommended.config | 121 ++
>>
>> [...]
>>
 +CONFIG_STAGING=y
 +CONFIG_SWITCH=y
>>>
>>> Switch Class support is dropped from kernel/common/android-4.4 sometime 
>>> back.
>>
>> Okay. I'm also removing these options in v2 which don't exist in
>> upstream. Any comments on them?
>>
>> IP6_NF_TARGET_REJECT_SKERR
>> IP_NF_TARGET_REJECT_SKERR
>> NETFILTER_XT_MATCH_QTAGUID
>> NETFILTER_XT_MATCH_QUOTA2
>> NETFILTER_XT_MATCH_QUOTA2_LOG
>> PPPOLAC
>> PPPOPNS
>> RESOURCE_COUNTERS
>> SECURITY_PERF_EVENTS_RESTRICT
>> USB_CONFIGFS_F_MTP
>> USB_CONFIGFS_F_PTP
>> USB_CONFIGFS_F_ACC
>> USB_CONFIGFS_F_AUDIO_SRC
>> USB_CONFIGFS_UEVENT
>> USB_OTG_WAKELOCK
>> ANDROID_TIMED_GPIO
>> ARM_KERNMEM_PERMS
>> INPUT_KEYCHORD
>> INPUT_KEYRESET
>> TABLET_USB_WACOM
>
> In my opinion we can keep the core configs (usb gadget, netfilter,
> input key et al.). They will not harm the resulting kernel config
> anyway. And we can definitely drop following configs from v2:

They don't harm it, but several that I looked at are never going
upstream. For example INPUT_KEYRESET is to be replaced by sysrq
additions from what I found (BTW, is anything missing for that?). I
think Android should carry the burden of carrying those additions
rather that upstream having the burden to remove/change them later.
Perhaps having these as a 3rd config fragment would be easiest to
carry.

>
> IP6_NF_TARGET_REJECT_SKERR
> IP_NF_TARGET_REJECT_SKERR
> RESOURCE_COUNTERS
> ANDROID_TIMED_GPIO
> ARM_KERNMEM_PERMS
> TABLET_USB_WACOM
>
>
> Also please add the following options in v2, which are present in
> android-4.4 configs but missing from v1.
>
> In android-base.config:
> CONFIG_DM_VERITY_FEC
> CONFIG_INET_DIAG_DESTROY
> CONFIG_IP_MULTICAST
> CONFIG_IP_NF_NAT
> CONFIG_QUOTA
>
> In android-recommended.config:
> CONFIG_DRAGONRISE_FF
> CONFIG_TASKSTATS
> CONFIG_TASK_DELAY_ACCT
> CONFIG_TASK_IO_ACCOUNTING
> CONFIG_TASK_XACCT

I have all these as I copied the files over again since obviously I
failed to do that correctly the first time. :)

Rob


Re: [PATCH] config: Add android config fragments

2016-06-22 Thread Amit Pundir
On 23 June 2016 at 08:50, Rob Herring  wrote:
> On Wed, Jun 22, 2016 at 2:53 AM, Amit Pundir  wrote:
>> On 8 June 2016 at 22:09, Rob Herring  wrote:
>>> Copy the config fragments from the AOSP common kernel tree. It is
>>> becoming possible to run mainline kernels with Android, but the kernel
>>> defconfigs don't work as-is and debugging missing config options is a
>>> pain. Adding the config fragments into the kernel tree, makes
>>> configuring a mainline kernel as simple as:
>>>
>>> make ARCH=arm multi_v7_defconfig android-base.config 
>>> android-recommended.config
>>>
>>> Cc: Amit Pundir 
>>> Cc: John Stultz 
>>> Cc: Dmitry Torokhov 
>>> Cc: Rom Lemarchand 
>>> Signed-off-by: Rob Herring 
>>> ---
>>>  kernel/configs/android-base.config| 161 
>>> ++
>>>  kernel/configs/android-recommended.config | 121 ++
>
> [...]
>
>>> +CONFIG_STAGING=y
>>> +CONFIG_SWITCH=y
>>
>> Switch Class support is dropped from kernel/common/android-4.4 sometime back.
>
> Okay. I'm also removing these options in v2 which don't exist in
> upstream. Any comments on them?
>
> IP6_NF_TARGET_REJECT_SKERR
> IP_NF_TARGET_REJECT_SKERR
> NETFILTER_XT_MATCH_QTAGUID
> NETFILTER_XT_MATCH_QUOTA2
> NETFILTER_XT_MATCH_QUOTA2_LOG
> PPPOLAC
> PPPOPNS
> RESOURCE_COUNTERS
> SECURITY_PERF_EVENTS_RESTRICT
> USB_CONFIGFS_F_MTP
> USB_CONFIGFS_F_PTP
> USB_CONFIGFS_F_ACC
> USB_CONFIGFS_F_AUDIO_SRC
> USB_CONFIGFS_UEVENT
> USB_OTG_WAKELOCK
> ANDROID_TIMED_GPIO
> ARM_KERNMEM_PERMS
> INPUT_KEYCHORD
> INPUT_KEYRESET
> TABLET_USB_WACOM

In my opinion we can keep the core configs (usb gadget, netfilter,
input key et al.). They will not harm the resulting kernel config
anyway. And we can definitely drop following configs from v2:

IP6_NF_TARGET_REJECT_SKERR
IP_NF_TARGET_REJECT_SKERR
RESOURCE_COUNTERS
ANDROID_TIMED_GPIO
ARM_KERNMEM_PERMS
TABLET_USB_WACOM


Also please add the following options in v2, which are present in
android-4.4 configs but missing from v1.

In android-base.config:
CONFIG_DM_VERITY_FEC
CONFIG_INET_DIAG_DESTROY
CONFIG_IP_MULTICAST
CONFIG_IP_NF_NAT
CONFIG_QUOTA

In android-recommended.config:
CONFIG_DRAGONRISE_FF
CONFIG_TASKSTATS
CONFIG_TASK_DELAY_ACCT
CONFIG_TASK_IO_ACCOUNTING
CONFIG_TASK_XACCT

Regards,
Amit Pundir

>
> Rob


Re: [PATCH] config: Add android config fragments

2016-06-22 Thread Rob Herring
On Wed, Jun 22, 2016 at 2:53 AM, Amit Pundir  wrote:
> On 8 June 2016 at 22:09, Rob Herring  wrote:
>> Copy the config fragments from the AOSP common kernel tree. It is
>> becoming possible to run mainline kernels with Android, but the kernel
>> defconfigs don't work as-is and debugging missing config options is a
>> pain. Adding the config fragments into the kernel tree, makes
>> configuring a mainline kernel as simple as:
>>
>> make ARCH=arm multi_v7_defconfig android-base.config 
>> android-recommended.config
>>
>> Cc: Amit Pundir 
>> Cc: John Stultz 
>> Cc: Dmitry Torokhov 
>> Cc: Rom Lemarchand 
>> Signed-off-by: Rob Herring 
>> ---
>>  kernel/configs/android-base.config| 161 
>> ++
>>  kernel/configs/android-recommended.config | 121 ++

[...]

>> +CONFIG_STAGING=y
>> +CONFIG_SWITCH=y
>
> Switch Class support is dropped from kernel/common/android-4.4 sometime back.

Okay. I'm also removing these options in v2 which don't exist in
upstream. Any comments on them?

IP6_NF_TARGET_REJECT_SKERR
IP_NF_TARGET_REJECT_SKERR
NETFILTER_XT_MATCH_QTAGUID
NETFILTER_XT_MATCH_QUOTA2
NETFILTER_XT_MATCH_QUOTA2_LOG
PPPOLAC
PPPOPNS
RESOURCE_COUNTERS
SECURITY_PERF_EVENTS_RESTRICT
USB_CONFIGFS_F_MTP
USB_CONFIGFS_F_PTP
USB_CONFIGFS_F_ACC
USB_CONFIGFS_F_AUDIO_SRC
USB_CONFIGFS_UEVENT
USB_OTG_WAKELOCK
ANDROID_TIMED_GPIO
ARM_KERNMEM_PERMS
INPUT_KEYCHORD
INPUT_KEYRESET
TABLET_USB_WACOM

Rob


Re: [PATCH] config: Add android config fragments

2016-06-22 Thread Amit Pundir
On 8 June 2016 at 22:09, Rob Herring  wrote:
> Copy the config fragments from the AOSP common kernel tree. It is
> becoming possible to run mainline kernels with Android, but the kernel
> defconfigs don't work as-is and debugging missing config options is a
> pain. Adding the config fragments into the kernel tree, makes
> configuring a mainline kernel as simple as:
>
> make ARCH=arm multi_v7_defconfig android-base.config 
> android-recommended.config
>
> Cc: Amit Pundir 
> Cc: John Stultz 
> Cc: Dmitry Torokhov 
> Cc: Rom Lemarchand 
> Signed-off-by: Rob Herring 
> ---
>  kernel/configs/android-base.config| 161 
> ++
>  kernel/configs/android-recommended.config | 121 ++
>  2 files changed, 282 insertions(+)
>  create mode 100644 kernel/configs/android-base.config
>  create mode 100644 kernel/configs/android-recommended.config
>
> diff --git a/kernel/configs/android-base.config 
> b/kernel/configs/android-base.config
> new file mode 100644
> index 000..44fa01d
> --- /dev/null
> +++ b/kernel/configs/android-base.config
> @@ -0,0 +1,161 @@
> +#  KEEP ALPHABETICALLY SORTED
> +# CONFIG_DEVKMEM is not set
> +# CONFIG_DEVMEM is not set
> +# CONFIG_INET_LRO is not set
> +# CONFIG_MODULES is not set
> +# CONFIG_OABI_COMPAT is not set
> +# CONFIG_SYSVIPC is not set
> +CONFIG_ANDROID=y
> +CONFIG_ANDROID_BINDER_IPC=y
> +CONFIG_ANDROID_LOW_MEMORY_KILLER=y
> +CONFIG_ARMV8_DEPRECATED=y
> +CONFIG_ASHMEM=y
> +CONFIG_AUDIT=y
> +CONFIG_BLK_DEV_DM=y
> +CONFIG_BLK_DEV_INITRD=y
> +CONFIG_CGROUPS=y
> +CONFIG_CGROUP_CPUACCT=y
> +CONFIG_CGROUP_DEBUG=y
> +CONFIG_CGROUP_FREEZER=y
> +CONFIG_CGROUP_SCHED=y
> +CONFIG_CP15_BARRIER_EMULATION=y
> +CONFIG_DM_CRYPT=y
> +CONFIG_DM_VERITY=y
> +CONFIG_EMBEDDED=y
> +CONFIG_FB=y
> +CONFIG_HIGH_RES_TIMERS=y
> +CONFIG_INET6_AH=y
> +CONFIG_INET6_ESP=y
> +CONFIG_INET6_IPCOMP=y
> +CONFIG_INET=y
> +CONFIG_INET_ESP=y
> +CONFIG_INET_XFRM_MODE_TUNNEL=y
> +CONFIG_IP6_NF_FILTER=y
> +CONFIG_IP6_NF_IPTABLES=y
> +CONFIG_IP6_NF_MANGLE=y
> +CONFIG_IP6_NF_RAW=y
> +CONFIG_IP6_NF_TARGET_REJECT=y
> +CONFIG_IP6_NF_TARGET_REJECT_SKERR=y
> +CONFIG_IPV6=y
> +CONFIG_IPV6_MIP6=y
> +CONFIG_IPV6_MULTIPLE_TABLES=y
> +CONFIG_IPV6_OPTIMISTIC_DAD=y
> +CONFIG_IPV6_PRIVACY=y
> +CONFIG_IPV6_ROUTER_PREF=y
> +CONFIG_IPV6_ROUTE_INFO=y
> +CONFIG_IP_ADVANCED_ROUTER=y
> +CONFIG_IP_MULTIPLE_TABLES=y
> +CONFIG_IP_NF_ARPFILTER=y
> +CONFIG_IP_NF_ARPTABLES=y
> +CONFIG_IP_NF_ARP_MANGLE=y
> +CONFIG_IP_NF_FILTER=y
> +CONFIG_IP_NF_IPTABLES=y
> +CONFIG_IP_NF_MANGLE=y
> +CONFIG_IP_NF_MATCH_AH=y
> +CONFIG_IP_NF_MATCH_ECN=y
> +CONFIG_IP_NF_MATCH_TTL=y
> +CONFIG_IP_NF_RAW=y
> +CONFIG_IP_NF_SECURITY=y
> +CONFIG_IP_NF_TARGET_MASQUERADE=y
> +CONFIG_IP_NF_TARGET_NETMAP=y
> +CONFIG_IP_NF_TARGET_REDIRECT=y
> +CONFIG_IP_NF_TARGET_REJECT=y
> +CONFIG_IP_NF_TARGET_REJECT_SKERR=y
> +CONFIG_NET=y
> +CONFIG_NETDEVICES=y
> +CONFIG_NETFILTER=y
> +CONFIG_NETFILTER_TPROXY=y
> +CONFIG_NETFILTER_XT_MATCH_COMMENT=y
> +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
> +CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
> +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
> +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y
> +CONFIG_NETFILTER_XT_MATCH_HELPER=y
> +CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
> +CONFIG_NETFILTER_XT_MATCH_LENGTH=y
> +CONFIG_NETFILTER_XT_MATCH_LIMIT=y
> +CONFIG_NETFILTER_XT_MATCH_MAC=y
> +CONFIG_NETFILTER_XT_MATCH_MARK=y
> +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
> +CONFIG_NETFILTER_XT_MATCH_POLICY=y
> +CONFIG_NETFILTER_XT_MATCH_QTAGUID=y
> +CONFIG_NETFILTER_XT_MATCH_QUOTA2=y
> +CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG=y
> +CONFIG_NETFILTER_XT_MATCH_QUOTA=y
> +CONFIG_NETFILTER_XT_MATCH_SOCKET=y
> +CONFIG_NETFILTER_XT_MATCH_STATE=y
> +CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
> +CONFIG_NETFILTER_XT_MATCH_STRING=y
> +CONFIG_NETFILTER_XT_MATCH_TIME=y
> +CONFIG_NETFILTER_XT_MATCH_U32=y
> +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
> +CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
> +CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
> +CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y
> +CONFIG_NETFILTER_XT_TARGET_MARK=y
> +CONFIG_NETFILTER_XT_TARGET_NFLOG=y
> +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y
> +CONFIG_NETFILTER_XT_TARGET_SECMARK=y
> +CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
> +CONFIG_NETFILTER_XT_TARGET_TPROXY=y
> +CONFIG_NETFILTER_XT_TARGET_TRACE=y
> +CONFIG_NET_CLS_ACT=y
> +CONFIG_NET_CLS_U32=y
> +CONFIG_NET_EMATCH=y
> +CONFIG_NET_EMATCH_U32=y
> +CONFIG_NET_KEY=y
> +CONFIG_NET_SCHED=y
> +CONFIG_NET_SCH_HTB=y
> +CONFIG_NF_CONNTRACK=y
> +CONFIG_NF_CONNTRACK_AMANDA=y
> +CONFIG_NF_CONNTRACK_EVENTS=y
> +CONFIG_NF_CONNTRACK_FTP=y
> +CONFIG_NF_CONNTRACK_H323=y
> +CONFIG_NF_CONNTRACK_IPV4=y
> +CONFIG_NF_CONNTRACK_IPV6=y
> +CONFIG_NF_CONNTRACK_IRC=y
> +CONFIG_NF_CONNTRACK_NETBIOS_NS=y
> +CONFIG_NF_CONNTRACK_PPTP=y
> +CONFIG_NF_CONNTRACK_SANE=y
> +CONFIG_NF_CONNTRACK_SECMARK=y
> +CONFIG_NF_CONNTRACK_TFTP=y
> +CONFIG_NF_CT_NETLINK=y
> +CONFIG_NF_CT_PROTO_DCCP=y
> +CONFIG_NF_CT_PROTO_SCTP=y
> +CONFIG_NF_CT_PROTO_UDPLITE=y
> +CONFIG_NF_NAT=y
> +CONFIG_NO_HZ=y
> +CONFIG_PACKET=y
> +CONFIG_PM_AUTOSL