All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sakari Ailus <sakari.ailus@iki.fi>
To: Sinan Kaya <okaya@codeaurora.org>
Cc: dmaengine@vger.kernel.org, timur@codeaurora.org,
	devicetree@vger.kernel.org, linux-acpi@vger.kernel.org,
	linux-arm-msm@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Len Brown <lenb@kernel.org>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Sakari Ailus <sakari.ailus@linux.intel.com>,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	Rob Herring <robh@kernel.org>,
	Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>,
	open list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH V6 3/7] device property: Introduce a common API to fetch device match data
Date: Thu, 7 Dec 2017 14:29:49 +0200	[thread overview]
Message-ID: <20171207122948.yyl6adb6lnb56gok@valkosipuli.retiisi.org.uk> (raw)
In-Reply-To: <1512493493-6464-4-git-send-email-okaya@codeaurora.org>

Hi Sinan,

Thanks for the update.

Just one small comment below.

On Tue, Dec 05, 2017 at 12:04:48PM -0500, Sinan Kaya wrote:
> There is an OF/ACPI function to obtain the driver data. We want to hide
> OF/ACPI details from the device drivers and abstract following the device
> family of functions.
> 
> Signed-off-by: Sinan Kaya <okaya@codeaurora.org>
> ---
>  drivers/base/property.c  | 6 ++++++
>  include/linux/fwnode.h   | 4 ++++
>  include/linux/property.h | 2 ++
>  3 files changed, 12 insertions(+)
> 
> diff --git a/drivers/base/property.c b/drivers/base/property.c
> index 7ed99c1..65bf6f2 100644
> --- a/drivers/base/property.c
> +++ b/drivers/base/property.c
> @@ -1335,3 +1335,9 @@ int fwnode_graph_parse_endpoint(const struct fwnode_handle *fwnode,
>  	return fwnode_call_int_op(fwnode, graph_parse_endpoint, endpoint);
>  }
>  EXPORT_SYMBOL(fwnode_graph_parse_endpoint);
> +
> +void *device_get_match_data(struct device *dev)
> +{
> +	return fwnode_call_ptr_op(dev_fwnode(dev), get_match_data, dev);
> +}
> +EXPORT_SYMBOL_GPL(device_get_match_data);
> diff --git a/include/linux/fwnode.h b/include/linux/fwnode.h
> index 0c35b6c..ab9aab5 100644
> --- a/include/linux/fwnode.h
> +++ b/include/linux/fwnode.h
> @@ -15,6 +15,7 @@
>  #include <linux/types.h>
>  
>  struct fwnode_operations;
> +struct device;
>  
>  struct fwnode_handle {
>  	struct fwnode_handle *secondary;
> @@ -66,6 +67,7 @@ struct fwnode_reference_args {
>   *			       endpoint node.
>   * @graph_get_port_parent: Return the parent node of a port node.
>   * @graph_parse_endpoint: Parse endpoint for port and endpoint id.
> + * @get_match_data: Return the driver match data.

Could you arrange the new get_match_data op closer to the other ops that
don't deal with the graphs? Such as device_is_available. As the ops are
dealing generally with fwnodes, I might call this device_get_match_data to
explicitly mention it's for devices.

>   */
>  struct fwnode_operations {
>  	void (*get)(struct fwnode_handle *fwnode);
> @@ -101,6 +103,8 @@ struct fwnode_operations {
>  	(*graph_get_port_parent)(struct fwnode_handle *fwnode);
>  	int (*graph_parse_endpoint)(const struct fwnode_handle *fwnode,
>  				    struct fwnode_endpoint *endpoint);
> +	void *(*get_match_data)(const struct fwnode_handle *fwnode,
> +				struct device *dev);

Same comment about the order here.

>  };
>  
>  #define fwnode_has_op(fwnode, op)				\
> diff --git a/include/linux/property.h b/include/linux/property.h
> index 6bebee1..01fa55b 100644
> --- a/include/linux/property.h
> +++ b/include/linux/property.h
> @@ -275,6 +275,8 @@ int device_add_properties(struct device *dev,
>  
>  enum dev_dma_attr device_get_dma_attr(struct device *dev);
>  
> +void *device_get_match_data(struct device *dev);
> +
>  int device_get_phy_mode(struct device *dev);
>  
>  void *device_get_mac_address(struct device *dev, char *addr, int alen);

-- 
Kind regards,

Sakari Ailus
e-mail: sakari.ailus@iki.fi

WARNING: multiple messages have this Message-ID (diff)
From: sakari.ailus@iki.fi (Sakari Ailus)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH V6 3/7] device property: Introduce a common API to fetch device match data
Date: Thu, 7 Dec 2017 14:29:49 +0200	[thread overview]
Message-ID: <20171207122948.yyl6adb6lnb56gok@valkosipuli.retiisi.org.uk> (raw)
In-Reply-To: <1512493493-6464-4-git-send-email-okaya@codeaurora.org>

Hi Sinan,

Thanks for the update.

Just one small comment below.

On Tue, Dec 05, 2017 at 12:04:48PM -0500, Sinan Kaya wrote:
> There is an OF/ACPI function to obtain the driver data. We want to hide
> OF/ACPI details from the device drivers and abstract following the device
> family of functions.
> 
> Signed-off-by: Sinan Kaya <okaya@codeaurora.org>
> ---
>  drivers/base/property.c  | 6 ++++++
>  include/linux/fwnode.h   | 4 ++++
>  include/linux/property.h | 2 ++
>  3 files changed, 12 insertions(+)
> 
> diff --git a/drivers/base/property.c b/drivers/base/property.c
> index 7ed99c1..65bf6f2 100644
> --- a/drivers/base/property.c
> +++ b/drivers/base/property.c
> @@ -1335,3 +1335,9 @@ int fwnode_graph_parse_endpoint(const struct fwnode_handle *fwnode,
>  	return fwnode_call_int_op(fwnode, graph_parse_endpoint, endpoint);
>  }
>  EXPORT_SYMBOL(fwnode_graph_parse_endpoint);
> +
> +void *device_get_match_data(struct device *dev)
> +{
> +	return fwnode_call_ptr_op(dev_fwnode(dev), get_match_data, dev);
> +}
> +EXPORT_SYMBOL_GPL(device_get_match_data);
> diff --git a/include/linux/fwnode.h b/include/linux/fwnode.h
> index 0c35b6c..ab9aab5 100644
> --- a/include/linux/fwnode.h
> +++ b/include/linux/fwnode.h
> @@ -15,6 +15,7 @@
>  #include <linux/types.h>
>  
>  struct fwnode_operations;
> +struct device;
>  
>  struct fwnode_handle {
>  	struct fwnode_handle *secondary;
> @@ -66,6 +67,7 @@ struct fwnode_reference_args {
>   *			       endpoint node.
>   * @graph_get_port_parent: Return the parent node of a port node.
>   * @graph_parse_endpoint: Parse endpoint for port and endpoint id.
> + * @get_match_data: Return the driver match data.

Could you arrange the new get_match_data op closer to the other ops that
don't deal with the graphs? Such as device_is_available. As the ops are
dealing generally with fwnodes, I might call this device_get_match_data to
explicitly mention it's for devices.

>   */
>  struct fwnode_operations {
>  	void (*get)(struct fwnode_handle *fwnode);
> @@ -101,6 +103,8 @@ struct fwnode_operations {
>  	(*graph_get_port_parent)(struct fwnode_handle *fwnode);
>  	int (*graph_parse_endpoint)(const struct fwnode_handle *fwnode,
>  				    struct fwnode_endpoint *endpoint);
> +	void *(*get_match_data)(const struct fwnode_handle *fwnode,
> +				struct device *dev);

Same comment about the order here.

>  };
>  
>  #define fwnode_has_op(fwnode, op)				\
> diff --git a/include/linux/property.h b/include/linux/property.h
> index 6bebee1..01fa55b 100644
> --- a/include/linux/property.h
> +++ b/include/linux/property.h
> @@ -275,6 +275,8 @@ int device_add_properties(struct device *dev,
>  
>  enum dev_dma_attr device_get_dma_attr(struct device *dev);
>  
> +void *device_get_match_data(struct device *dev);
> +
>  int device_get_phy_mode(struct device *dev);
>  
>  void *device_get_mac_address(struct device *dev, char *addr, int alen);

-- 
Kind regards,

Sakari Ailus
e-mail: sakari.ailus at iki.fi

  reply	other threads:[~2017-12-07 12:29 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-05 17:04 [PATCH V6 0/7] dmaengine: qcom_hidma: add support for bugfixed HW Sinan Kaya
2017-12-05 17:04 ` Sinan Kaya
     [not found] ` <1512493493-6464-1-git-send-email-okaya-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-12-05 17:04   ` [PATCH V6 1/7] Documentation: DT: qcom_hidma: Bump HW revision for the " Sinan Kaya
2017-12-05 17:04     ` Sinan Kaya
2017-12-05 17:04     ` Sinan Kaya
2017-12-05 17:04 ` [PATCH V6 2/7] ACPI / bus: Introduce acpi_get_match_data() function Sinan Kaya
2017-12-05 17:04   ` Sinan Kaya
2017-12-05 17:04   ` Sinan Kaya
2017-12-05 22:04   ` Rafael J. Wysocki
2017-12-05 22:04     ` Rafael J. Wysocki
2017-12-05 22:04     ` Rafael J. Wysocki
2017-12-06 16:41     ` Sinan Kaya
2017-12-06 16:41       ` Sinan Kaya
2017-12-06 16:41       ` Sinan Kaya
2017-12-05 17:04 ` [PATCH V6 3/7] device property: Introduce a common API to fetch device match data Sinan Kaya
2017-12-05 17:04   ` Sinan Kaya
2017-12-05 17:04   ` Sinan Kaya
2017-12-07 12:29   ` Sakari Ailus [this message]
2017-12-07 12:29     ` Sakari Ailus
2017-12-07 20:15     ` Sinan Kaya
2017-12-07 20:15       ` Sinan Kaya
2017-12-07 12:40   ` Sakari Ailus
2017-12-07 12:40     ` Sakari Ailus
2017-12-07 20:17     ` Sinan Kaya
2017-12-07 20:17       ` Sinan Kaya
2017-12-07 22:06       ` Sakari Ailus
2017-12-07 22:06         ` Sakari Ailus
2017-12-07 22:19         ` Rafael J. Wysocki
2017-12-07 22:19           ` Rafael J. Wysocki
2017-12-07 22:19           ` Rafael J. Wysocki
     [not found]           ` <CAJZ5v0inHMCLGyPaAeuJNo2VH7f3Th0KdpT2UkPBCsvrSDi0gQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-12-14 10:28             ` Sakari Ailus
2017-12-14 10:28               ` Sakari Ailus
2017-12-14 10:28               ` Sakari Ailus
2017-12-05 17:04 ` [PATCH V6 4/7] OF: properties: Implement get_match_data() callback Sinan Kaya
2017-12-05 17:04   ` Sinan Kaya
2017-12-05 17:04   ` Sinan Kaya
2017-12-05 21:21   ` Rob Herring
2017-12-05 21:21     ` Rob Herring
2017-12-05 21:21     ` Rob Herring
2017-12-07 12:38   ` Sakari Ailus
2017-12-07 12:38     ` Sakari Ailus
2017-12-07 13:10   ` Lothar Waßmann
2017-12-07 13:10     ` Lothar Waßmann
2017-12-07 13:10     ` Lothar Waßmann
2017-12-07 14:45     ` Sinan Kaya
2017-12-07 14:45       ` Sinan Kaya
     [not found]       ` <def8e351-bc2d-7adc-fdc5-362b365302a8-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-12-07 15:20         ` Lothar Waßmann
2017-12-07 15:20           ` Lothar Waßmann
2017-12-07 15:20           ` Lothar Waßmann
2017-12-07 17:50           ` Sinan Kaya
2017-12-07 17:50             ` Sinan Kaya
2017-12-08  8:09             ` Lothar Waßmann
2017-12-08  8:09               ` Lothar Waßmann
2017-12-08  9:11             ` Lothar Waßmann
2017-12-08  9:11               ` Lothar Waßmann
2017-12-08 14:33               ` Sinan Kaya
2017-12-08 14:33                 ` Sinan Kaya
2017-12-08 14:40                 ` Sinan Kaya
2017-12-08 14:40                   ` Sinan Kaya
2017-12-05 17:04 ` [PATCH V6 5/7] ACPI: " Sinan Kaya
2017-12-05 17:04   ` Sinan Kaya
2017-12-05 17:04   ` Sinan Kaya
2017-12-05 17:04 ` [PATCH V6 6/7] dmaengine: qcom_hidma: Add support for the new revision Sinan Kaya
2017-12-05 17:04   ` Sinan Kaya
2017-12-05 17:04   ` Sinan Kaya
2017-12-05 17:04 ` [PATCH V6 7/7] dmaengine: qcom_hidma: Add identity register support Sinan Kaya
2017-12-05 17:04   ` Sinan Kaya
2017-12-05 17:04   ` Sinan Kaya
2017-12-05 22:05 ` [PATCH V6 0/7] dmaengine: qcom_hidma: add support for bugfixed HW Rafael J. Wysocki
2017-12-05 22:05   ` Rafael J. Wysocki
2017-12-07 12:41   ` Sakari Ailus
2017-12-07 12:41     ` Sakari Ailus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171207122948.yyl6adb6lnb56gok@valkosipuli.retiisi.org.uk \
    --to=sakari.ailus@iki.fi \
    --cc=devicetree@vger.kernel.org \
    --cc=dmaengine@vger.kernel.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=kieran.bingham+renesas@ideasonboard.com \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mika.westerberg@linux.intel.com \
    --cc=okaya@codeaurora.org \
    --cc=rjw@rjwysocki.net \
    --cc=robh@kernel.org \
    --cc=sakari.ailus@linux.intel.com \
    --cc=timur@codeaurora.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.