lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <71fb0ff289e84c55bd92ecd96bc9aa76@svr-chch-ex1.atlnz.lc> Date: Thu, 4 Apr 2019 01:50:20 +0000 From: Chris Packham <Chris.Packham@...iedtelesis.co.nz> To: "pantelis.antoniou@...sulko.com" <pantelis.antoniou@...sulko.com>, "frowand.list@...il.com" <frowand.list@...il.com>, "robh+dt@...nel.org" <robh+dt@...nel.org> CC: "devicetree@...r.kernel.org" <devicetree@...r.kernel.org>, "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>, Hamish Martin <Hamish.Martin@...iedtelesis.co.nz> Subject: Using device tree overlays in Linux Hi, I'm implementing support for some modular Linux based systems using device tree overlays. The code is working but it seems a little more fiddly that than it should be so I'm wondering if I'm doing it right. An example of what I'm doing is arch/arm/boot/dts/Makefile: DTC_FLAGS_myboard += -@ drivers/foo/Makefile: obj-y += myplugin.dtb.o obj-y += mydriver.o drivers/foo/myplugin.dts: /dts-v1/; /plugin/; /{ fragment@0 { target = <&i2c0>; __overlay__ { gpio@74 { compatible = "nxp,pca9539"; reg = <0x74> }; }; }; }; drivers/foo/mydriver.c: extern uint8_t __dtb_myplugin_begin[]; extern uint8_t __dtb_myplugin_end[]; int mydriver_probe(struct platform_device *pdev) { u32 size = __dtb_myplugin_end - __dtb_myplugin_begin; int overlay_id; int ret; ret = of_overlay_fdt_apply(__dtb_myplugin_begin, size, &overlay_id); return ret; } The first issue is that I need to add -@ to the DTC_FLAGS for my board dtb. I kind of understand that I only need -@ if my overlay targets something symbolic so I might not need it but I was surprised that there wasn't a Kconfig option that makes this happen automatically. externing things in C files makes checkpatch.pl complain. I see the of/unittests.c and rcar_du_of.c hide this with a macro. I was again surprised that there wasn't a common macro to declare these.
Powered by blists - more mailing lists