[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <bddcf7ea-e58c-637a-e546-9978fd2cb540@redhat.com>
Date: Sun, 11 Mar 2018 19:24:18 +0100
From: Hans de Goede <hdegoede@...hat.com>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: Darren Hart <dvhart@...radead.org>,
Andy Shevchenko <andy@...radead.org>,
MyungJoo Ham <myungjoo.ham@...sung.com>,
Chanwoo Choi <cw00.choi@...sung.com>,
Mathias Nyman <mathias.nyman@...el.com>,
Heikki Krogerus <heikki.krogerus@...ux.intel.com>,
Guenter Roeck <linux@...ck-us.net>,
platform-driver-x86@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-usb@...r.kernel.org
Subject: Re: [PATCH v6 01/12] drivers: base: Unified device connection lookup
Hi all,
On 09-03-18 18:53, Greg Kroah-Hartman wrote:
> On Fri, Mar 02, 2018 at 11:20:46AM +0100, Hans de Goede wrote:
>> From: Heikki Krogerus <heikki.krogerus@...ux.intel.com>
>>
>> Several frameworks - clk, gpio, phy, pmw, etc. - maintain
>> lookup tables for describing connections and provide custom
>> API for handling them. This introduces a single generic
>> lookup table and API for the connections.
>>
>> The motivation for this commit is centralizing the
>> connection lookup, but the goal is to ultimately extract the
>> connection descriptions also from firmware by using the
>> fwnode_graph_* functions and other mechanisms that are
>> available.
>>
>> Signed-off-by: Heikki Krogerus <heikki.krogerus@...ux.intel.com>
>> Reviewed-by: Hans de Goede <hdegoede@...hat.com>
>> Reviewed-by: Andy Shevchenko <andy.shevchenko@...il.com>
>> Signed-off-by: Hans de Goede <hdegoede@...hat.com>
>
> Sorry for the delay, just now reviewing this patch...
>
> The content is fine (if not scary for the obvious reason of passing
> around 'struct device' of different bus types, but ok...), but the api
> naming is "rough":
Heikki, I think it is best if you answer Greg's remarks. FWIW I'm
fine with the changes Greg proposes.
I currently have significantly less bandwidth for this due to
personal circumstances, so if a new version of this patch-set
is necessary it would be great if you (Heikki) can do a v7.
Regards,
Hans
>
>> --- /dev/null
>> +++ b/include/linux/connection.h
>
> "connection.h" is vague, why not just put this in device.h? >
>> @@ -0,0 +1,34 @@
>> +// SPDX-License-Identifier: GPL-2.0
>> +
>> +#ifndef _LINUX_CONNECTION_H_
>> +#define _LINUX_CONNECTION_H_
>> +
>> +#include <linux/list.h>
>> +
>> +struct device;
>> +
>> +/**
>> + * struct devcon - Device Connection Descriptor
>> + * @endpoint: The names of the two devices connected together
>> + * @id: Unique identifier for the connection
>> + * @list: List head, private for devcon internal use only
>> + */
>> +struct devcon {
>
> 'struct device_connection'? Spell it out please, people might think
> this is a "developer conference" :)
>
>> + const char *endpoint[2];
>> + const char *id;
>> + struct list_head list;
>> +};
>> +
>> +void *__device_find_connection(struct device *dev, const char *con_id,
>> + void *data,
>> + void *(*match)(struct devcon *con, int ep,
>> + void *data));
>
> Ick, __* functions are usually "no lock needed", but here you are doing
> a lot "more" than the normal device_find_connection() call. Why not
> make this:
> device_connection_find_match()?
>
>> +
>> +struct device *device_find_connection(struct device *dev, const char *con_id);
>
> device_connection_find()?
>
>> +
>> +#define DEVCON(_ep0, _ep1, _id) (struct devcon) { { _ep0, _ep1 }, _id, }
>
> Can you use named identifiers here?
>
>> +
>> +void add_device_connection(struct devcon *con);
>> +void remove_device_connection(struct devcon *con);
>
> device_connection_add() and device_connection_remove()?
>
> I can make the api name changes in an add-on patch.
>
> thanks,
>
> greg k-h
>
Powered by blists - more mailing lists