From: Simon Horman <horms@verge.net.au>
To: Rob Herring <robh@kernel.org>
Cc: "Andrew Lunn" <andrew@lunn.ch>,
"Alexandre Belloni" <alexandre.belloni@bootlin.com>,
"Tony Lindgren" <tony@atomide.com>,
"Linus Walleij" <linus.walleij@linaro.org>,
"Liviu Dudau" <liviu.dudau@arm.com>,
"Masahiro Yamada" <yamada.masahiro@socionext.com>,
"Thierry Reding" <thierry.reding@gmail.com>,
"Florian Fainelli" <f.fainelli@gmail.com>,
"Kevin Hilman" <khilman@kernel.org>,
"Gregory Clement" <gregory.clement@bootlin.com>,
"Michal Simek" <michal.simek@xilinx.com>,
"Krzysztof Kozlowski" <krzk@kernel.org>,
arm@kernel.org, "Joel Stanley" <joel@jms.id.au>,
"Andy Gross" <andy.gross@linaro.org>,
devicetree@vger.kernel.org, "Jason Cooper" <jason@lakedaemon.net>,
linux-arm-kernel@lists.infradead.org,
"Maxime Coquelin" <mcoquelin.stm32@gmail.com>,
"Shawn Guo" <shawnguo@kernel.org>,
"Andreas Färber" <afaerber@suse.de>,
"Daniel Mack" <daniel@zonque.org>
Subject: Re: Moving ARM dts files
Date: Tue, 4 Dec 2018 14:21:57 -0800 [thread overview]
Message-ID: <20181204222156.4wy3qk5yv23o5d4k@verge.net.au> (raw)
In-Reply-To: <20181204183649.GA5716@bogus>
On Tue, Dec 04, 2018 at 12:36:49PM -0600, Rob Herring wrote:
> Olof, Arnd,
>
> I've put together a script to move the dts files and update the
> makefiles. It doesn't handle files not following a common prefix which
> isn't many and some includes within the dts files will need some fixups
> by hand.
>
> MAINTAINERS will also need updating.
>
> A few questions:
>
> Do we want to move absolutely everything to subdirs? There's quite a
> few platforms with only 1-2 platforms. I haven't added these to the
> list yet, but can.
>
> Do any vendors need another level of directories? davinci, omap, nspire,
> etc. for TI for example.
>
> What to do with armv7m.dtsi? I guess it should remain and we just fixup
> the include. There may be a few other cross vendor things.
>
>
> Sub-arch maintainers,
> 'vendor_map' below is the mapping of file prefix to new subdirectory
> (the SoC vendor prefix). Please comment if there are any issues.
>
> Rob
>
> 8<-----------------------------------------------------------
> #!/usr/bin/env python3
>
> import os
> import re
> from git import Git
> import glob
>
> vendor_map = {
> 'imx': 'fsl',
> 'ls': 'fsl',
> 'vf': 'fsl',
> 'qcom': 'qcom',
> 'am3' : 'ti',
> 'am4' : 'ti',
> 'am5' : 'ti',
> 'da' : 'ti',
> 'dm' : 'ti',
> 'dra' : 'ti',
> 'keystone' : 'ti',
> 'omap' : 'ti',
> 'nspire' : 'ti',
> 'armada' : 'marvell',
> 'berlin' : 'marvell',
> 'dove' : 'marvell',
> 'kirkwood' : 'marvell',
> 'orion' : 'marvell',
> 'pxa' : 'marvell',
> 'mvebu' : 'marvell',
> 'mmp2' : 'marvell',
> 'arm-' : 'arm',
> 'integ' : 'arm',
> 've' : 'arm',
> 'aspeed' : 'aspeed',
> 'at91' : 'atmel',
> 'sama' : 'atmel',
> 'bcm' : 'brcm',
> 'exynos' : 'samsung',
> 's3c' : 'samsung',
> 's5p' : 'samsung',
> 'gemini' : 'cortina',
> 'hi3' : 'hisilicon',
> 'hip' : 'hisilicon',
> 'hisi' : 'hisilicon',
> 'mt' : 'mediatek',
> 'meson' : 'amlogic',
> 'owl' : 'actions',
> 'r7' : 'renesas',
> 'r8' : 'renesas',
> 'r9' : 'renesas',
The above 'r' prefixes could be a bit longer if desired.
e.g.:
'r7s'
'r8a'
'r9a'
> 'rk' : 'rockchip',
> 'socfpga' : 'altera',
> 'st' : 'st',
> 'spear' : 'st',
> 'sun' : 'allwinner',
> 'tegra' : 'nvidia',
> 'zynq' : 'xilinx',
> 'wm' : 'wm',
> 'uniph' : 'socionext',
> 'zx' : 'zte',
For renesas I believe you also want:
'emev2'
'gr-peach'
'iwg20d-q7'
'sh'
> }
>
> if __name__ == "__main__":
> g = Git('.')
>
> g.checkout("HEAD", "arch/arm/boot/dts/Makefile")
> dts_make = open("arch/arm/boot/dts/Makefile", "r").read()
>
> # make entries 1 line
> make2 = re.sub(r'\\\n', '', dts_make)
>
> for k,v in vendor_map.items():
> for f in glob.iglob("arch/arm/boot/dts/" + k + "*.*"):
> new_dir = "arch/arm/boot/dts/" + v + "/"
> base = os.path.splitext(os.path.basename(f))[0]
>
> os.makedirs(new_dir, exist_ok=True)
> g.mv(f, new_dir)
>
> # Remove the file from the makefile
> dts_make = re.sub('.*' + base + r'\.dtb.*\\\n', '', dts_make)
> dts_make = re.sub('.*' + base + r'\.dtb', '', dts_make)
>
> # extract the matching makefile entry
> reg = re.search(r'.*' + base + r'.*', make2)
> if not reg:
> continue
>
> entry = reg.group(0)
> make2 = re.sub(r'.*' + base + r'.*', '', make2)
> if entry:
> makefile = open(new_dir + 'Makefile', 'a+')
> print(entry, file=makefile)
> makefile.close()
>
>
> for d in sorted(glob.iglob("arch/arm/boot/dts/*/")):
> dts_make += 'subdir-y += ' + d.split(os.path.sep)[-2] + '\n'
>
> # Add license and sort entries of sub-dir makefile
> vendor_make = '# SPDX-License-Identifier: GPL-2.0\n'
> make_lines = open(d + 'Makefile', 'r').readlines()
> for l in sorted(make_lines):
> vendor_make += l
>
> vendor_make = re.sub(r'\t', r'\\\n\t', vendor_make)
>
> f = open(d + 'Makefile', 'w')
> f.write(vendor_make)
> f.close()
> g.add(d + 'Makefile')
>
> # Remove entries with no dtbs left
> dts_make = re.sub(r'.*\+= \\\n\n', '', dts_make)
>
> open("arch/arm/boot/dts/Makefile", "w").write(dts_make)
> g.add("arch/arm/boot/dts/Makefile")
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2018-12-04 22:22 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-04 18:36 Moving ARM dts files Rob Herring
2018-12-04 18:47 ` Alexandre Belloni
2018-12-04 19:09 ` Rob Herring
2018-12-04 22:21 ` Simon Horman [this message]
2018-12-05 1:22 ` Andreas Färber
2018-12-05 4:17 ` Rob Herring
2018-12-05 17:33 ` Tom Rini
2018-12-06 13:32 ` Andreas Färber
2018-12-06 19:06 ` Rob Herring
2018-12-06 20:06 ` Mark Brown
2018-12-06 20:49 ` Olof Johansson
2018-12-07 14:57 ` Rob Herring
2018-12-07 15:16 ` Mark Brown
2018-12-07 15:29 ` Rob Herring
2018-12-06 20:14 ` Tom Rini
2018-12-05 4:18 ` Masahiro Yamada
2018-12-05 9:48 ` Michal Simek
2018-12-05 6:02 ` Jisheng Zhang
2018-12-05 8:19 ` Linus Walleij
2018-12-05 8:34 ` Jisheng Zhang
2018-12-05 9:04 ` Linus Walleij
2018-12-05 15:01 ` Rob Herring
2018-12-05 21:03 ` Linus Walleij
2018-12-06 13:39 ` Uwe Kleine-König
2018-12-06 13:58 ` Rob Herring
2018-12-06 14:05 ` Alexandre Belloni
2018-12-06 14:30 ` Linus Walleij
2018-12-06 16:57 ` Rob Herring
2018-12-06 22:12 ` Linus Walleij
2018-12-07 23:35 ` Tony Lindgren
2018-12-05 8:13 ` Nicolas.Ferre
2018-12-05 15:14 ` Neil Armstrong
2018-12-05 17:36 ` Li Yang
2018-12-07 22:33 ` Rob Herring
2018-12-08 9:25 ` Krzysztof Kozlowski
2018-12-08 22:40 ` Linus Walleij
2018-12-11 15:58 ` Olof Johansson
2018-12-08 10:07 ` Ian Campbell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181204222156.4wy3qk5yv23o5d4k@verge.net.au \
--to=horms@verge.net.au \
--cc=afaerber@suse.de \
--cc=alexandre.belloni@bootlin.com \
--cc=andrew@lunn.ch \
--cc=andy.gross@linaro.org \
--cc=arm@kernel.org \
--cc=daniel@zonque.org \
--cc=devicetree@vger.kernel.org \
--cc=f.fainelli@gmail.com \
--cc=gregory.clement@bootlin.com \
--cc=jason@lakedaemon.net \
--cc=joel@jms.id.au \
--cc=khilman@kernel.org \
--cc=krzk@kernel.org \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=liviu.dudau@arm.com \
--cc=mcoquelin.stm32@gmail.com \
--cc=michal.simek@xilinx.com \
--cc=robh@kernel.org \
--cc=shawnguo@kernel.org \
--cc=thierry.reding@gmail.com \
--cc=tony@atomide.com \
--cc=yamada.masahiro@socionext.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).