diff mbox series

[OpenWrt-Devel] mvebu/cortexa9: use Linksys codename as PROFILE

Message ID 20200331232009.1948083-1-mail@aparcar.org
State Rejected
Headers show
Series [OpenWrt-Devel] mvebu/cortexa9: use Linksys codename as PROFILE | expand

Commit Message

Paul Spooren March 31, 2020, 11:20 p.m. UTC
The PROFILE names of mvebu/cortexa9/Linksys devices are based on the
consumer names (like linksys_wrt1200ac) instead of the vendor codenames
(like linksys_caiman) which are however used in the rest of the build
system (plathform.sh, bootcount, 01_leds).

A running device is not able to know the profile used for its firmware
creation as `/tmp/sysinfo/board_name` points to the device tree
identifier (equal to Linksys codename) and `/tmp/sysinfo/model` is not
deterministically *convertible* to the PROFILE name.

The introduction of ALT titles (4ee3cf2b5a) allows to store consumer
names and make them available in the `menuconfig` so the profile name is
transparent to regular users.

This patch changes the mvebu/cortexa9/Linksys PROFILES to use the device
tree identifier aka Linksys codename as PROFILE name and uses the
consumer name as ALT title.

Device tree identifier and PROFILE are now identical except for a `,`
replacement with `_`, which is due to Makefile naming limitations.

Signed-off-by: Paul Spooren <mail@aparcar.org>
---
This is just a first step, we should follow the device tree identifier
for all other PROFILE as well.

 target/linux/mvebu/image/cortexa9.mk | 56 ++++++++++++++--------------
 1 file changed, 28 insertions(+), 28 deletions(-)

Comments

Daniel Golle April 1, 2020, 12:45 a.m. UTC | #1
On Tue, Mar 31, 2020 at 01:20:09PM -1000, Paul Spooren wrote:
> The PROFILE names of mvebu/cortexa9/Linksys devices are based on the
> consumer names (like linksys_wrt1200ac) instead of the vendor codenames
> (like linksys_caiman) which are however used in the rest of the build
> system (plathform.sh, bootcount, 01_leds).
> 
> A running device is not able to know the profile used for its firmware
> creation as `/tmp/sysinfo/board_name` points to the device tree
> identifier (equal to Linksys codename) and `/tmp/sysinfo/model` is not
> deterministically *convertible* to the PROFILE name.
> 
> The introduction of ALT titles (4ee3cf2b5a) allows to store consumer
> names and make them available in the `menuconfig` so the profile name is
> transparent to regular users.
> 
> This patch changes the mvebu/cortexa9/Linksys PROFILES to use the device
> tree identifier aka Linksys codename as PROFILE name and uses the
> consumer name as ALT title.
> 
> Device tree identifier and PROFILE are now identical except for a `,`
> replacement with `_`, which is due to Makefile naming limitations.
> 
> Signed-off-by: Paul Spooren <mail@aparcar.org>

Reviewed-by: Daniel Golle <daniel@makrotopia.org>

> ---
> This is just a first step, we should follow the device tree identifier
> for all other PROFILE as well.
> 
>  target/linux/mvebu/image/cortexa9.mk | 56 ++++++++++++++--------------
>  1 file changed, 28 insertions(+), 28 deletions(-)
> 
> diff --git a/target/linux/mvebu/image/cortexa9.mk b/target/linux/mvebu/image/cortexa9.mk
> index 85bfa94dbd..53fc7c84b3 100644
> --- a/target/linux/mvebu/image/cortexa9.mk
> +++ b/target/linux/mvebu/image/cortexa9.mk
> @@ -42,80 +42,80 @@ define Device/linksys
>    KERNEL_SIZE := 6144k
>  endef
>  
> -define Device/linksys_wrt1200ac
> +define Device/linksys_caiman
>    $(call Device/linksys)
> -  DEVICE_MODEL := WRT1200AC
> +  DEVICE_MODEL := Caiman
>    DEVICE_ALT0_VENDOR := Linksys
> -  DEVICE_ALT0_MODEL := Caiman
> +  DEVICE_ALT0_MODEL := WRT1200AC
>    DEVICE_DTS := armada-385-linksys-caiman
>    DEVICE_PACKAGES += mwlwifi-firmware-88w8864
>    SUPPORTED_DEVICES := armada-385-linksys-caiman linksys,caiman
>  endef
> -TARGET_DEVICES += linksys_wrt1200ac
> +TARGET_DEVICES += linksys_caiman
>  
> -define Device/linksys_wrt1900acs
> +define Device/linksys_shelby
>    $(call Device/linksys)
> -  DEVICE_MODEL := WRT1900ACS
> -  DEVICE_VARIANT := v1
> +  DEVICE_MODEL := Shelby
> +  DEVICE_ALT0_VENDOR := Linksys
> +  DEVICE_ALT0_MODEL := WRT1900ACS
> +  DEVICE_ALT0_VARIANT := v1
>    DEVICE_ALT0_VENDOR := Linksys
>    DEVICE_ALT0_MODEL := WRT1900ACS
>    DEVICE_ALT0_VARIANT := v2
> -  DEVICE_ALT1_VENDOR := Linksys
> -  DEVICE_ALT1_MODEL := Shelby
>    DEVICE_DTS := armada-385-linksys-shelby
>    DEVICE_PACKAGES += mwlwifi-firmware-88w8864
>    SUPPORTED_DEVICES := armada-385-linksys-shelby linksys,shelby
>  endef
> -TARGET_DEVICES += linksys_wrt1900acs
> +TARGET_DEVICES += linksys_shelby
>  
> -define Device/linksys_wrt1900ac
> +define Device/linksys_mamba
>    $(call Device/linksys)
> -  DEVICE_MODEL := WRT1900AC
> -  DEVICE_VARIANT := v1
> +  DEVICE_MODEL := Mamba
>    DEVICE_ALT0_VENDOR := Linksys
> -  DEVICE_ALT0_MODEL := Mamba
> +  DEVICE_ALT0_MODEL :=  WRT1900AC
> +  DEVICE_ALT0_VARIANT := v1
>    DEVICE_DTS := armada-xp-linksys-mamba
>    DEVICE_PACKAGES += mwlwifi-firmware-88w8864
>    KERNEL_SIZE := 3072k
>    SUPPORTED_DEVICES := armada-xp-linksys-mamba linksys,mamba
>  endef
> -TARGET_DEVICES += linksys_wrt1900ac
> +TARGET_DEVICES += linksys_mamba
>  
> -define Device/linksys_wrt1900acv2
> +define Device/linksys_cobra
>    $(call Device/linksys)
> -  DEVICE_MODEL := WRT1900AC
> -  DEVICE_VARIANT := v2
> +  DEVICE_MODEL := Cobra
>    DEVICE_ALT0_VENDOR := Linksys
> -  DEVICE_ALT0_MODEL := Cobra
> +  DEVICE_ALT0_MODEL := WRT1900AC
> +  DEVICE_ALT0VARIANT := v2
>    DEVICE_DTS := armada-385-linksys-cobra
>    DEVICE_PACKAGES += mwlwifi-firmware-88w8864
>    SUPPORTED_DEVICES := armada-385-linksys-cobra linksys,cobra
>  endef
> -TARGET_DEVICES += linksys_wrt1900acv2
> +TARGET_DEVICES += linksys_cobra
>  
> -define Device/linksys_wrt3200acm
> +define Device/linksys_rango
>    $(call Device/linksys)
> -  DEVICE_MODEL := WRT3200ACM
> +  DEVICE_MODEL := Rango
>    DEVICE_ALT0_VENDOR := Linksys
> -  DEVICE_ALT0_MODEL := Rango
> +  DEVICE_ALT0_MODEL := WRT3200ACM
>    DEVICE_DTS := armada-385-linksys-rango
>    DEVICE_PACKAGES += kmod-btmrvl kmod-mwifiex-sdio mwlwifi-firmware-88w8964
>    SUPPORTED_DEVICES := armada-385-linksys-rango linksys,rango
>  endef
> -TARGET_DEVICES += linksys_wrt3200acm
> +TARGET_DEVICES += linksys_rango
>  
> -define Device/linksys_wrt32x
> +define Device/linksys_venom
>    $(call Device/linksys)
> -  DEVICE_MODEL := WRT32X
> +  DEVICE_MODEL := Venom
>    DEVICE_ALT0_VENDOR := Linksys
> -  DEVICE_ALT0_MODEL := Venom
> +  DEVICE_ALT0_MODEL := WRT32X
>    DEVICE_DTS := armada-385-linksys-venom
>    DEVICE_PACKAGES += kmod-btmrvl kmod-mwifiex-sdio mwlwifi-firmware-88w8964
>    KERNEL_SIZE := 3072k
>    KERNEL := kernel-bin | append-dtb
>    SUPPORTED_DEVICES := armada-385-linksys-venom linksys,venom
>  endef
> -TARGET_DEVICES += linksys_wrt32x
> +TARGET_DEVICES += linksys_venom
>  
>  define Device/marvell_a370-db
>    $(Device/NAND-512K)
> -- 
> 2.25.1
> 
> 
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
Piotr Dymacz April 1, 2020, 6:55 a.m. UTC | #2
Hi Paul,

On 01.04.2020 01:20, Paul Spooren wrote:
> The PROFILE names of mvebu/cortexa9/Linksys devices are based on the
> consumer names (like linksys_wrt1200ac) instead of the vendor codenames
> (like linksys_caiman) which are however used in the rest of the build
> system (plathform.sh, bootcount, 01_leds).
> 
> A running device is not able to know the profile used for its firmware
> creation as `/tmp/sysinfo/board_name` points to the device tree
> identifier (equal to Linksys codename) and `/tmp/sysinfo/model` is not
> deterministically *convertible* to the PROFILE name.
> 
> The introduction of ALT titles (4ee3cf2b5a) allows to store consumer
> names and make them available in the `menuconfig` so the profile name is
> transparent to regular users.
> 
> This patch changes the mvebu/cortexa9/Linksys PROFILES to use the device
> tree identifier aka Linksys codename as PROFILE name and uses the
> consumer name as ALT title.

What about firmware filenames? Wouldn't this change confuse people 
searching for firmware files by device model name?

Your change switch this from 'manufacturer_model' approach to 
'manufacturer_manufacturer-codename'. Does Linksys ever mention that 
codenames on their website, in marketing materials, etc.?
Bjørn Mork April 1, 2020, 10:42 a.m. UTC | #3
Paul Spooren <mail@aparcar.org> writes:

> -define Device/linksys_wrt1900acv2
> +define Device/linksys_cobra
>    $(call Device/linksys)
> -  DEVICE_MODEL := WRT1900AC
> -  DEVICE_VARIANT := v2
> +  DEVICE_MODEL := Cobra
>    DEVICE_ALT0_VENDOR := Linksys
> -  DEVICE_ALT0_MODEL := Cobra
> +  DEVICE_ALT0_MODEL := WRT1900AC
> +  DEVICE_ALT0VARIANT := v2

s/DEVICE_ALT0VARIANT/DEVICE_ALT0_VARIANT/
Tomasz Maciej Nowak April 1, 2020, 12:03 p.m. UTC | #4
W dniu 01.04.2020 o 08:55, Piotr Dymacz pisze:
> Hi Paul,
> 
> On 01.04.2020 01:20, Paul Spooren wrote:
>> The PROFILE names of mvebu/cortexa9/Linksys devices are based on the
>> consumer names (like linksys_wrt1200ac) instead of the vendor codenames
>> (like linksys_caiman) which are however used in the rest of the build
>> system (plathform.sh, bootcount, 01_leds).
>>
>> A running device is not able to know the profile used for its firmware
>> creation as `/tmp/sysinfo/board_name` points to the device tree
>> identifier (equal to Linksys codename) and `/tmp/sysinfo/model` is not
>> deterministically *convertible* to the PROFILE name.
>>
>> The introduction of ALT titles (4ee3cf2b5a) allows to store consumer
>> names and make them available in the `menuconfig` so the profile name is
>> transparent to regular users.
>>
>> This patch changes the mvebu/cortexa9/Linksys PROFILES to use the device
>> tree identifier aka Linksys codename as PROFILE name and uses the
>> consumer name as ALT title.
> 
> What about firmware filenames? Wouldn't this change confuse people searching for firmware files by device model name?
> 
> Your change switch this from 'manufacturer_model' approach to 'manufacturer_manufacturer-codename'. Does Linksys ever mention that codenames on their website, in marketing materials, etc.?
> 

+1, not even on the device itself there's mention about these code names,
and that's why from me that's a NAK.
Piotr Dymacz April 1, 2020, 12:15 p.m. UTC | #5
Hi Tomasz, Paul,

On 01.04.2020 14:03, Tomasz Maciej Nowak wrote:
> W dniu 01.04.2020 o 08:55, Piotr Dymacz pisze:
>> Hi Paul,
>> 
>> On 01.04.2020 01:20, Paul Spooren wrote:
>>> The PROFILE names of mvebu/cortexa9/Linksys devices are based on the
>>> consumer names (like linksys_wrt1200ac) instead of the vendor codenames
>>> (like linksys_caiman) which are however used in the rest of the build
>>> system (plathform.sh, bootcount, 01_leds).
>>>
>>> A running device is not able to know the profile used for its firmware
>>> creation as `/tmp/sysinfo/board_name` points to the device tree
>>> identifier (equal to Linksys codename) and `/tmp/sysinfo/model` is not
>>> deterministically *convertible* to the PROFILE name.
>>>
>>> The introduction of ALT titles (4ee3cf2b5a) allows to store consumer
>>> names and make them available in the `menuconfig` so the profile name is
>>> transparent to regular users.
>>>
>>> This patch changes the mvebu/cortexa9/Linksys PROFILES to use the device
>>> tree identifier aka Linksys codename as PROFILE name and uses the
>>> consumer name as ALT title.
>> 
>> What about firmware filenames? Wouldn't this change confuse people searching for firmware files by device model name?
>> 
>> Your change switch this from 'manufacturer_model' approach to 'manufacturer_manufacturer-codename'. Does Linksys ever mention that codenames on their website, in marketing materials, etc.?
>> 
> 
> +1, not even on the device itself there's mention about these code names,
> and that's why from me that's a NAK.

How about patching device's DTSes and include 'manufacturer,model' there 
instead (in front of the existing ones)? Scripts in 'basic-files' would 
also need to be fixed but this way we save this (in my opinion) misuse 
of 'DEVICE_ALT*'.

I'm also not sure how many devices are affected here, only Linksys?
Tomasz Maciej Nowak April 1, 2020, 12:32 p.m. UTC | #6
W dniu 01.04.2020 o 14:15, Piotr Dymacz pisze:
> Hi Tomasz, Paul,
> 
> On 01.04.2020 14:03, Tomasz Maciej Nowak wrote:
>> W dniu 01.04.2020 o 08:55, Piotr Dymacz pisze:
>>> Hi Paul,
>>>
>>> On 01.04.2020 01:20, Paul Spooren wrote:
>>>> The PROFILE names of mvebu/cortexa9/Linksys devices are based on the
>>>> consumer names (like linksys_wrt1200ac) instead of the vendor codenames
>>>> (like linksys_caiman) which are however used in the rest of the build
>>>> system (plathform.sh, bootcount, 01_leds).
>>>>
>>>> A running device is not able to know the profile used for its firmware
>>>> creation as `/tmp/sysinfo/board_name` points to the device tree
>>>> identifier (equal to Linksys codename) and `/tmp/sysinfo/model` is not
>>>> deterministically *convertible* to the PROFILE name.
>>>>
>>>> The introduction of ALT titles (4ee3cf2b5a) allows to store consumer
>>>> names and make them available in the `menuconfig` so the profile name is
>>>> transparent to regular users.
>>>>
>>>> This patch changes the mvebu/cortexa9/Linksys PROFILES to use the device
>>>> tree identifier aka Linksys codename as PROFILE name and uses the
>>>> consumer name as ALT title.
>>>
>>> What about firmware filenames? Wouldn't this change confuse people searching for firmware files by device model name?
>>>
>>> Your change switch this from 'manufacturer_model' approach to 'manufacturer_manufacturer-codename'. Does Linksys ever mention that codenames on their website, in marketing materials, etc.?
>>>
>>
>> +1, not even on the device itself there's mention about these code names,
>> and that's why from me that's a NAK.
> 
> How about patching device's DTSes and include 'manufacturer,model' there instead (in front of the existing ones)? Scripts in 'basic-files' would also need to be fixed but this way we save this (in my opinion) misuse of 'DEVICE_ALT*'.

Yes, that would be the easiest solution, not introducing cryptic image file names.

> 
> I'm also not sure how many devices are affected here, only Linksys?
> 

Only Linksys and rather unpopular MACCHIATObin (I don't mention Marvell's dev boards as these are scarce).
Don't know about other targets.
Adrian Schmutzler April 1, 2020, 1:02 p.m. UTC | #7
Hi,

> > How about patching device's DTSes and include 'manufacturer,model'
> there instead (in front of the existing ones)? Scripts in 'basic-files' would also
> need to be fixed but this way we save this (in my opinion) misuse of
> 'DEVICE_ALT*'.
> 
> Yes, that would be the easiest solution, not introducing cryptic image file
> names.
> 
> >
> > I'm also not sure how many devices are affected here, only Linksys?
> >
> 
> Only Linksys and rather unpopular MACCHIATObin (I don't mention Marvell's
> dev boards as these are scarce).
> Don't know about other targets.

I'd also prefer that for consistency, at least for the Linksys ones.

However, since those are partially in the kernel, we should at least try there as well.

Best

Adrian

> 
> --
> TMN
> 
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
Paul Spooren April 2, 2020, 7:11 p.m. UTC | #8
On Wed Apr 1, 2020 at 5:02 AM PST,  wrote:
> Hi,
>
> > > How about patching device's DTSes and include 'manufacturer,model'
> > there instead (in front of the existing ones)? Scripts in 'basic-files' would also
> > need to be fixed but this way we save this (in my opinion) misuse of
> > 'DEVICE_ALT*'.
> > 
> > Yes, that would be the easiest solution, not introducing cryptic image file
> > names.
> > 
> > >
> > > I'm also not sure how many devices are affected here, only Linksys?
> > >
> > 
> > Only Linksys and rather unpopular MACCHIATObin (I don't mention Marvell's
> > dev boards as these are scarce).
> > Don't know about other targets.
>
> I'd also prefer that for consistency, at least for the Linksys ones.

I like that path as well, if nobodies is displeased I'd create another
patch.
>
> However, since those are partially in the kernel, we should at least try
> there as well.

Can you please elaborate on this? Do you mean DTS files which use the
code name? And would it decrease the likelihood to get the DTS files to
upstream if we add another name to `compatible`?

>
> Best
>
> Adrian
>
> > 
> > --
> > TMN
> > 
> > _______________________________________________
> > openwrt-devel mailing list
> > openwrt-devel@lists.openwrt.org
> > https://lists.openwrt.org/mailman/listinfo/openwrt-devel
diff mbox series

Patch

diff --git a/target/linux/mvebu/image/cortexa9.mk b/target/linux/mvebu/image/cortexa9.mk
index 85bfa94dbd..53fc7c84b3 100644
--- a/target/linux/mvebu/image/cortexa9.mk
+++ b/target/linux/mvebu/image/cortexa9.mk
@@ -42,80 +42,80 @@  define Device/linksys
   KERNEL_SIZE := 6144k
 endef
 
-define Device/linksys_wrt1200ac
+define Device/linksys_caiman
   $(call Device/linksys)
-  DEVICE_MODEL := WRT1200AC
+  DEVICE_MODEL := Caiman
   DEVICE_ALT0_VENDOR := Linksys
-  DEVICE_ALT0_MODEL := Caiman
+  DEVICE_ALT0_MODEL := WRT1200AC
   DEVICE_DTS := armada-385-linksys-caiman
   DEVICE_PACKAGES += mwlwifi-firmware-88w8864
   SUPPORTED_DEVICES := armada-385-linksys-caiman linksys,caiman
 endef
-TARGET_DEVICES += linksys_wrt1200ac
+TARGET_DEVICES += linksys_caiman
 
-define Device/linksys_wrt1900acs
+define Device/linksys_shelby
   $(call Device/linksys)
-  DEVICE_MODEL := WRT1900ACS
-  DEVICE_VARIANT := v1
+  DEVICE_MODEL := Shelby
+  DEVICE_ALT0_VENDOR := Linksys
+  DEVICE_ALT0_MODEL := WRT1900ACS
+  DEVICE_ALT0_VARIANT := v1
   DEVICE_ALT0_VENDOR := Linksys
   DEVICE_ALT0_MODEL := WRT1900ACS
   DEVICE_ALT0_VARIANT := v2
-  DEVICE_ALT1_VENDOR := Linksys
-  DEVICE_ALT1_MODEL := Shelby
   DEVICE_DTS := armada-385-linksys-shelby
   DEVICE_PACKAGES += mwlwifi-firmware-88w8864
   SUPPORTED_DEVICES := armada-385-linksys-shelby linksys,shelby
 endef
-TARGET_DEVICES += linksys_wrt1900acs
+TARGET_DEVICES += linksys_shelby
 
-define Device/linksys_wrt1900ac
+define Device/linksys_mamba
   $(call Device/linksys)
-  DEVICE_MODEL := WRT1900AC
-  DEVICE_VARIANT := v1
+  DEVICE_MODEL := Mamba
   DEVICE_ALT0_VENDOR := Linksys
-  DEVICE_ALT0_MODEL := Mamba
+  DEVICE_ALT0_MODEL :=  WRT1900AC
+  DEVICE_ALT0_VARIANT := v1
   DEVICE_DTS := armada-xp-linksys-mamba
   DEVICE_PACKAGES += mwlwifi-firmware-88w8864
   KERNEL_SIZE := 3072k
   SUPPORTED_DEVICES := armada-xp-linksys-mamba linksys,mamba
 endef
-TARGET_DEVICES += linksys_wrt1900ac
+TARGET_DEVICES += linksys_mamba
 
-define Device/linksys_wrt1900acv2
+define Device/linksys_cobra
   $(call Device/linksys)
-  DEVICE_MODEL := WRT1900AC
-  DEVICE_VARIANT := v2
+  DEVICE_MODEL := Cobra
   DEVICE_ALT0_VENDOR := Linksys
-  DEVICE_ALT0_MODEL := Cobra
+  DEVICE_ALT0_MODEL := WRT1900AC
+  DEVICE_ALT0VARIANT := v2
   DEVICE_DTS := armada-385-linksys-cobra
   DEVICE_PACKAGES += mwlwifi-firmware-88w8864
   SUPPORTED_DEVICES := armada-385-linksys-cobra linksys,cobra
 endef
-TARGET_DEVICES += linksys_wrt1900acv2
+TARGET_DEVICES += linksys_cobra
 
-define Device/linksys_wrt3200acm
+define Device/linksys_rango
   $(call Device/linksys)
-  DEVICE_MODEL := WRT3200ACM
+  DEVICE_MODEL := Rango
   DEVICE_ALT0_VENDOR := Linksys
-  DEVICE_ALT0_MODEL := Rango
+  DEVICE_ALT0_MODEL := WRT3200ACM
   DEVICE_DTS := armada-385-linksys-rango
   DEVICE_PACKAGES += kmod-btmrvl kmod-mwifiex-sdio mwlwifi-firmware-88w8964
   SUPPORTED_DEVICES := armada-385-linksys-rango linksys,rango
 endef
-TARGET_DEVICES += linksys_wrt3200acm
+TARGET_DEVICES += linksys_rango
 
-define Device/linksys_wrt32x
+define Device/linksys_venom
   $(call Device/linksys)
-  DEVICE_MODEL := WRT32X
+  DEVICE_MODEL := Venom
   DEVICE_ALT0_VENDOR := Linksys
-  DEVICE_ALT0_MODEL := Venom
+  DEVICE_ALT0_MODEL := WRT32X
   DEVICE_DTS := armada-385-linksys-venom
   DEVICE_PACKAGES += kmod-btmrvl kmod-mwifiex-sdio mwlwifi-firmware-88w8964
   KERNEL_SIZE := 3072k
   KERNEL := kernel-bin | append-dtb
   SUPPORTED_DEVICES := armada-385-linksys-venom linksys,venom
 endef
-TARGET_DEVICES += linksys_wrt32x
+TARGET_DEVICES += linksys_venom
 
 define Device/marvell_a370-db
   $(Device/NAND-512K)