lkml.org 
[lkml]   [2009]   [Feb]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH 1/2] User access to internal clocks
    From
    > You're not understanding the issue(s).
    >
    > 1. there is no 1:1 mapping between the identifiers (struct device +
    > connection ID) and the struct clk. It's actually a many-to-one
    > mapping.
    >
    > That means there is _no_ name associated with a struct clk.
    >
    > Conceptually, clk_get() gives you a struct clk for the struct device
    > and a connection ID. How that mapping is achieved isn't specified
    > in the API, all that's required is that such a mapping is performed.
    > It is _specifically_ intended that more than one set of {device,id}
    > pairs will map to the same clk.
    >
    > So, now to insist that you can go from a struct clk to some kind of
    > string identifier for it is changing this - you're now requiring
    > that every struct clk has a unique name. This is not the case.
    > PXA, for instance, struct clk's are now completely nameless. They
    > have no identifier.
    >
    > If you want to have a string identifier which works in every case,
    > this will:
    >
    > sprintf(identifer, "%p", clk);
    >
    > Or, I guess you could force every struct clk to have a 'sysfs_name'
    > field just to export them out via sysfs - and that'll be all that
    > it's used for.
    >
    > 2. there is no generic way to walk a set of struct clk's - indeed, there
    > may be no list of them (and there exists implmentations where that is
    > true) and the only list which does exist is a set ID to clk mapping
    > structures.
    >
    >> Otherwise, what do you suggest to enumerate and distinguish all system
    >> clocks ?
    >
    > There exists no such concept in the API, what you're asking for is
    > implementation specific.
    >

    Thank you for this explanation, now it's much more clear to me.

    What about adding a dedicated function to clk api that registers a struct clk
    in a linked list and associates it with a name, with the only specific purpose
    to enumerate and list (and possibly change rate and parents) all
    clocks in sysfs ?
    Obviously only specifically registered clocks will be visible in sysfs...


    \
     
     \ /
      Last update: 2009-02-09 19:21    [W:0.029 / U:2.312 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site