lkml.org 
[lkml]   [2015]   [Sep]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH v2 2/2] of: changesets: Introduce changeset helper methods
    From
    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.

    Gr{oetje,eeting}s,

    Geert

    --
    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


    \
     
     \ /
      Last update: 2015-09-21 15:41    [W:4.086 / U:1.620 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site