[PATCH 0/8] kernel: mtdsplit_uimage: use device tree properties for non-standard uimage parsing
Bjørn Mork
bjorn at mork.no
Wed Nov 25 06:45:03 EST 2020
This ended up a bit more invasive than I imagined, but here goes..
I wanted to add a couple of new rtl83xx devices. They both use
standard uimages, but with device specific magic values. Like
most devices in this target, it seems.
The easy route would be to just add another magic to one of the
existing parsers in mtdsplit_uimage, or maybe even a new parser
grouping devices "belonging together" on some scale. But this seems
so unnecessary complicated to add something which is basically a
device specific configuration and nothing more. Not to mention that
it does have some side effects. New parsers make the code grow.
Adding new magic numbers to existing parsers make them less fool
proof, allowing any of the magic values to match while there is only
one correct value most of the time.
So I thought I'd rather put these magic values in the device tree, for
the cases where the parser is otherwise identical to the generic
"denx,uimage" parser. I believe this makes sense.
No so sure about the rest of the series. But the snow ball rolled,
and I thought "why not do the same for the other device specific
parameters?". So I added device tree properties for those as well.
And ended up removing all the parsers except for the generic one.
Still not sure that was a good idea. In particular because it's hard
to test this without having the hardware, which I don't have. And
console is required if something breaks.
Anyway, here it is. Please be gentle :-)
Bjørn
---
Bjørn Mork (8):
kernel: mtdsplit_uimage: read extralen from device tree
kernel: mtdsplit_uimage: replace "fonfxc" and "sge" parsers
kernel: mtdsplit_uimage: add "ih-magic" device-tree property
kernel: mtdsplit_uimage: replace "openwrt,okli" parser
kernel: mtdsplit_uimage: replace "allnet,uimage" parser
kernel: mtdsplit_uimage: add "ih-type" device-tree property
kernel: mtdsplit_uimage: replace "netgear,uimage" parser
kernel: mtdsplit_uimage: replace "edimax,uimage" parser
.../ath79/dts/ar7161_netgear_wndr3700-v2.dts | 4 +-
.../ath79/dts/ar7161_netgear_wndr3700.dts | 4 +-
.../ath79/dts/ar7161_netgear_wndr3800.dts | 4 +-
.../ath79/dts/ar7161_netgear_wndr3800ch.dts | 4 +-
.../ath79/dts/ar7161_netgear_wndrmac-v1.dts | 4 +-
.../ath79/dts/ar7161_netgear_wndrmac-v2.dts | 4 +-
.../ath79/dts/ar7240_engenius_enh202-v1.dts | 3 +-
.../ath79/dts/ar7240_netgear_wnr1000-v2.dts | 4 +-
.../ath79/dts/ar7240_netgear_wnr612-v2.dtsi | 4 +-
.../ath79/dts/ar7241_netgear_wnr2000-v3.dts | 4 +-
.../ath79/dts/ar7241_netgear_wnr2200-16m.dts | 4 +-
.../ath79/dts/ar7241_netgear_wnr2200-8m.dts | 4 +-
.../dts/ar9341_engenius_ens202ext-v1.dts | 3 +-
.../linux/ath79/dts/ar9341_pisen_wmb001n.dts | 3 +-
.../linux/ath79/dts/ar9344_netgear_wndr.dtsi | 4 +-
.../drivers/mtd/mtdsplit/mtdsplit_uimage.c | 418 +++---------------
.../dts/mt7620a_edimax_br-6478ac-v2.dts | 4 +-
.../ramips/dts/mt7620a_edimax_ew-7478apc.dts | 4 +-
.../linux/ramips/dts/mt7620a_fon_fon2601.dts | 3 +-
.../ramips/dts/mt7620n_sunvalley_filehub.dtsi | 3 +-
.../ramips/dts/mt7621_dlink_dir-8xx-a1.dtsi | 3 +-
.../ramips/dts/mt7621_dlink_dir-xx60-a1.dtsi | 6 +-
.../linux/ramips/dts/mt7621_edimax_re23s.dts | 4 +-
.../ramips/dts/rt3050_edimax_3g-6200n.dts | 4 +-
.../ramips/dts/rt3050_edimax_3g-6200nl.dts | 4 +-
.../ramips/dts/rt3662_edimax_br-6475nd.dts | 4 +-
.../dts/rtl8382_allnet_all-sg8208m.dts | 3 +-
27 files changed, 140 insertions(+), 377 deletions(-)
--
2.20.1
More information about the openwrt-devel
mailing list