Messages in this thread | | | Subject | Re: [PATCH v2 2/2] of: changesets: Introduce changeset helper methods | From | Pantelis Antoniou <> | Date | Mon, 21 Sep 2015 16:11:19 +0300 |
| |
Hi Geert,
> On Sep 21, 2015, at 16:07 , Geert Uytterhoeven <geert@linux-m68k.org> wrote: > > Hi Pantelis, > > On Mon, Sep 21, 2015 at 2:49 PM, Pantelis Antoniou > <pantelis.antoniou@konsulko.com> wrote: >>> On Sep 21, 2015, at 15:47 , Geert Uytterhoeven <geert@linux-m68k.org> wrote: >>> On Mon, Sep 21, 2015 at 2:36 PM, Pantelis Antoniou >>> <pantelis.antoniou@konsulko.com> wrote: >>>>> On Sep 21, 2015, at 15:35 , Geert Uytterhoeven <geert@linux-m68k.org> wrote: >>>>> On Wed, Sep 16, 2015 at 6:11 PM, Pantelis Antoniou >>>>> <pantelis.antoniou@konsulko.com> wrote: >>>>>> Changesets are very powerful, but the lack of a helper API >>>>>> makes using them cumbersome. Introduce a simple copy based >>>>>> API that makes things considerably easier. >>>>>> >>>>>> To wit, adding a property using the raw API. >>>>>> >>>>>> struct property *prop; >>>>>> prop = kzalloc(sizeof(*prop)), GFP_KERNEL); >>>>>> prop->name = kstrdup("compatible"); >>>>>> prop->value = kstrdup("foo,bar"); >>>>>> prop->length = strlen(prop->value) + 1; >>>>>> of_changeset_add_property(ocs, np, prop); >>>>>> >>>>>> while using the helper API >>>>>> >>>>>> of_changeset_add_property_string(ocs, np, "compatible", >>>>>> "foo,bar"); >>>>> >>>>> What about removing properties? >>>> >>>> Once upon a time there was that capability. It was removed after we didn’t have >>>> a good use for them yet. Do you have any? I’d be happy to re-add it :) >>> >>> Aliases? >>> >>> If an overlay removes e.g. a serial port, it should remove its alias, too. >> >> Well, that case is handled. Addition of a property results in removal of a property when >> the overlay is reverted. > > Actually what I meant is the other way around: _adding_ the overlay would > _remove_ the alias. > > I have a board with an SDHI connector, and an expansion connector. > SDHI and serial on the expansion connector share the same pins. > By default, SDHI is enabled in the DTS. > > To add a serial port to the expansion connector, I disable the SDHI device, > add the alias, and add the serial device. > (dtsi in http://www.spinics.net/lists/devicetree/msg79438.html) > > Now imagine doing the opposite: having the serial device enabled by default. > Then the overlay should disable the serial device, remove the alias, and add > the SDHI device. >
Excellent; this is the use-case I was looking for :)
> Gr{oetje,eeting}s, > > Geert >
Regards
— Pantelis
> -- > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org > > In personal conversations with technical people, I call myself a hacker. But > when I'm talking to journalists I just say "programmer" or something like that. > -- Linus Torvalds
| |