All of lore.kernel.org
 help / color / mirror / Atom feed
From: Roger Quadros <rogerq-l0cyMroinI0@public.gmane.org>
To: Hans de Goede <hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: Oliver Schinagl <oliver-dxLnbx3+1qmEVqv0pETR8A@public.gmane.org>,
	Maxime Ripard
	<maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
	Richard Zhu
	<Hong-Xing.Zhu-KZfg59tc24xl57MIdRCFDg@public.gmane.org>,
	linux-ide-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	devicetree <devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
Subject: Re: [PATCH v5 07/14] ahci-platform: "Library-ise" ahci_probe functionality
Date: Mon, 27 Jan 2014 13:03:36 +0200	[thread overview]
Message-ID: <52E63D08.6080704@ti.com> (raw)
In-Reply-To: <52E63A1F.6080301-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>

On 01/27/2014 12:51 PM, Hans de Goede wrote:
> Hi,
> 
> On 01/27/2014 11:39 AM, Roger Quadros wrote:
>> Hi,
>>
>> On 01/22/2014 09:04 PM, Hans de Goede wrote:
> 
> <snip>
> 
>>> --- a/include/linux/ahci_platform.h
>>> +++ b/include/linux/ahci_platform.h
>>> @@ -20,7 +20,13 @@
>>>   struct device;
>>>   struct ata_port_info;
>>>   struct ahci_host_priv;
>>> +struct platform_device;
>>>
>>> +/*
>>> + * Note ahci_platform_data is deprecated. New drivers which need to override
>>> + * any of these, should instead declare there own platform_driver struct, and
>>> + * use ahci_platform* functions in their own probe, suspend and resume methods.
>>> + */
>>>   struct ahci_platform_data {
>>>       int (*init)(struct device *dev, struct ahci_host_priv *hpriv);
>>>       void (*exit)(struct device *dev);
>>> @@ -35,5 +41,13 @@ int ahci_platform_enable_clks(struct ahci_host_priv *hpriv);
>>>   void ahci_platform_disable_clks(struct ahci_host_priv *hpriv);
>>>   int ahci_platform_enable_resources(struct ahci_host_priv *hpriv);
>>>   void ahci_platform_disable_resources(struct ahci_host_priv *hpriv);
>>> +struct ahci_host_priv *ahci_platform_get_resources(
>>> +    struct platform_device *pdev);
>>
>> Why not use 'struct device' as the argument?
> 
> Because of calls to platform_get_resource inside the function.
> 
>>> +void ahci_platform_put_resources(struct ahci_host_priv *hpriv);
>>
>> Can we have 'struct device' as the argument? Else it becomes
>> impossible to get 'struct device' from 'hpriv' if we need to call e.g.
>> pm_runtime_*() APIs.
> 
> The plan for is for this function to go away once we have a
> devm version of of_clk_get, so if you need to put pm_runtime_calls
> somewhere, please don't put them here. This sounds like something which
> should go in enable / disable resources instead ?

OK. I need to add pm_runtime_enable() + pm_runtime_get_sync() during
initialization and pm_runtime_put_sync() + pm_runtime_disable() during cleanup.

If ahci_platform_enable/disable_resources is the right place then we must be
able to access struct device from there. 

Is it a good to add 'struct device *dev' into the 'struct ahci_host_priv'?
Then you can leave this series as is and i'll add a new patch for that.

If there is a better way, please let me know.

cheers,
-roger

WARNING: multiple messages have this Message-ID (diff)
From: rogerq@ti.com (Roger Quadros)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v5 07/14] ahci-platform: "Library-ise" ahci_probe functionality
Date: Mon, 27 Jan 2014 13:03:36 +0200	[thread overview]
Message-ID: <52E63D08.6080704@ti.com> (raw)
In-Reply-To: <52E63A1F.6080301@redhat.com>

On 01/27/2014 12:51 PM, Hans de Goede wrote:
> Hi,
> 
> On 01/27/2014 11:39 AM, Roger Quadros wrote:
>> Hi,
>>
>> On 01/22/2014 09:04 PM, Hans de Goede wrote:
> 
> <snip>
> 
>>> --- a/include/linux/ahci_platform.h
>>> +++ b/include/linux/ahci_platform.h
>>> @@ -20,7 +20,13 @@
>>>   struct device;
>>>   struct ata_port_info;
>>>   struct ahci_host_priv;
>>> +struct platform_device;
>>>
>>> +/*
>>> + * Note ahci_platform_data is deprecated. New drivers which need to override
>>> + * any of these, should instead declare there own platform_driver struct, and
>>> + * use ahci_platform* functions in their own probe, suspend and resume methods.
>>> + */
>>>   struct ahci_platform_data {
>>>       int (*init)(struct device *dev, struct ahci_host_priv *hpriv);
>>>       void (*exit)(struct device *dev);
>>> @@ -35,5 +41,13 @@ int ahci_platform_enable_clks(struct ahci_host_priv *hpriv);
>>>   void ahci_platform_disable_clks(struct ahci_host_priv *hpriv);
>>>   int ahci_platform_enable_resources(struct ahci_host_priv *hpriv);
>>>   void ahci_platform_disable_resources(struct ahci_host_priv *hpriv);
>>> +struct ahci_host_priv *ahci_platform_get_resources(
>>> +    struct platform_device *pdev);
>>
>> Why not use 'struct device' as the argument?
> 
> Because of calls to platform_get_resource inside the function.
> 
>>> +void ahci_platform_put_resources(struct ahci_host_priv *hpriv);
>>
>> Can we have 'struct device' as the argument? Else it becomes
>> impossible to get 'struct device' from 'hpriv' if we need to call e.g.
>> pm_runtime_*() APIs.
> 
> The plan for is for this function to go away once we have a
> devm version of of_clk_get, so if you need to put pm_runtime_calls
> somewhere, please don't put them here. This sounds like something which
> should go in enable / disable resources instead ?

OK. I need to add pm_runtime_enable() + pm_runtime_get_sync() during
initialization and pm_runtime_put_sync() + pm_runtime_disable() during cleanup.

If ahci_platform_enable/disable_resources is the right place then we must be
able to access struct device from there. 

Is it a good to add 'struct device *dev' into the 'struct ahci_host_priv'?
Then you can leave this series as is and i'll add a new patch for that.

If there is a better way, please let me know.

cheers,
-roger

  parent reply	other threads:[~2014-01-27 11:03 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-22 19:04 [PATCH v5 00/14] ahci: library-ise ahci_platform, add sunxi driver and cleanup imx driver Hans de Goede
2014-01-22 19:04 ` Hans de Goede
     [not found] ` <1390417489-5354-1-git-send-email-hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-01-22 19:04   ` [PATCH v5 01/14] libahci: Allow drivers to override start_engine Hans de Goede
2014-01-22 19:04     ` Hans de Goede
2014-01-22 19:04   ` [PATCH v5 02/14] libahci: Move ahci_host_priv declaration to include/linux/ahci.h Hans de Goede
2014-01-22 19:04     ` Hans de Goede
2014-01-22 19:04   ` [PATCH v5 03/14] ahci-platform: Pass ahci_host_priv ptr to ahci_platform_data init method Hans de Goede
2014-01-22 19:04     ` Hans de Goede
2014-01-22 19:04   ` [PATCH v5 04/14] ahci-platform: Add support for devices with more then 1 clock Hans de Goede
2014-01-22 19:04     ` Hans de Goede
2014-01-22 19:04   ` [PATCH v5 05/14] ahci-platform: Add support for an optional regulator for sata-target power Hans de Goede
2014-01-22 19:04     ` Hans de Goede
2014-01-22 19:04   ` [PATCH v5 06/14] ahci-platform: Add enable_ / disable_resources helper functions Hans de Goede
2014-01-22 19:04     ` Hans de Goede
2014-01-22 19:04   ` [PATCH v5 07/14] ahci-platform: "Library-ise" ahci_probe functionality Hans de Goede
2014-01-22 19:04     ` Hans de Goede
2014-01-27 10:39     ` Roger Quadros
2014-01-27 10:39       ` Roger Quadros
     [not found]       ` <52E63778.5000509-l0cyMroinI0@public.gmane.org>
2014-01-27 10:51         ` Hans de Goede
2014-01-27 10:51           ` Hans de Goede
     [not found]           ` <52E63A1F.6080301-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-01-27 11:03             ` Roger Quadros [this message]
2014-01-27 11:03               ` Roger Quadros
     [not found]               ` <52E63D08.6080704-l0cyMroinI0@public.gmane.org>
2014-01-27 11:28                 ` Hans de Goede
2014-01-27 11:28                   ` Hans de Goede
     [not found]                   ` <52E642F7.3000308-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-01-27 14:27                     ` Roger Quadros
2014-01-27 14:27                       ` Roger Quadros
2014-01-22 19:04   ` [PATCH v5 08/14] ahci-platform: "Library-ise" suspend / resume functionality Hans de Goede
2014-01-22 19:04     ` Hans de Goede
2014-02-03 14:53     ` Arnd Bergmann
2014-02-03 14:53       ` Arnd Bergmann
     [not found]       ` <201402031553.46083.arnd-r2nGTMty4D4@public.gmane.org>
2014-02-04 10:20         ` Hans de Goede
2014-02-04 10:20           ` Hans de Goede
2014-01-22 19:04   ` [PATCH v5 09/14] ARM: sunxi: Add support for Allwinner SUNXi SoCs sata to ahci_platform Hans de Goede
2014-01-22 19:04     ` Hans de Goede
2014-01-22 19:04   ` [PATCH v5 10/14] ahci-imx: Port to library-ised ahci_platform Hans de Goede
2014-01-22 19:04     ` Hans de Goede
2014-01-22 19:04   ` [PATCH v5 11/14] ahci-imx: Add imx_ahci_phy_init / _exit helpers Hans de Goede
2014-01-22 19:04     ` Hans de Goede
2014-01-22 19:04   ` [PATCH v5 12/14] ahci-imx: Fix link not coming back up after suspend / resume Hans de Goede
2014-01-22 19:04     ` Hans de Goede
2014-01-22 19:04   ` [PATCH v5 13/14] ARM: sun4i: dts: Add ahci / sata support Hans de Goede
2014-01-22 19:04     ` Hans de Goede
     [not found]     ` <1390417489-5354-14-git-send-email-hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-01-23  8:34       ` Chen-Yu Tsai
2014-01-23  8:34         ` [linux-sunxi] " Chen-Yu Tsai
     [not found]         ` <CAGb2v65mYK7Lo_KC+sGvYG7P2kDOy7CZgGane2eY8+-pMvH1mw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-23 14:48           ` Hans de Goede
2014-01-23 14:48             ` [linux-sunxi] " Hans de Goede
2014-01-31 13:45       ` Maxime Ripard
2014-01-31 13:45         ` Maxime Ripard
2014-02-03 10:35         ` Hans de Goede
2014-02-03 10:35           ` Hans de Goede
     [not found]           ` <52EF70E2.6070803-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-02-04  9:44             ` Maxime Ripard
2014-02-04  9:44               ` Maxime Ripard
2014-01-22 19:04   ` [PATCH v5 14/14] ARM: sun7i: " Hans de Goede
2014-01-22 19:04     ` Hans de Goede
     [not found]     ` <1390417489-5354-15-git-send-email-hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-01-31 13:46       ` Maxime Ripard
2014-01-31 13:46         ` Maxime Ripard
2014-02-03 22:10         ` Hans de Goede
2014-02-03 22:10           ` Hans de Goede
2014-02-03 16:09   ` [PATCH v5 00/14] ahci: library-ise ahci_platform, add sunxi driver and cleanup imx driver Tejun Heo
2014-02-03 16:09     ` Tejun Heo
     [not found]     ` <20140203160936.GC30250-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2014-02-03 22:07       ` Hans de Goede
2014-02-03 22:07         ` Hans de Goede

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=52E63D08.6080704@ti.com \
    --to=rogerq-l0cymroini0@public.gmane.org \
    --cc=Hong-Xing.Zhu-KZfg59tc24xl57MIdRCFDg@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-ide-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org \
    --cc=maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
    --cc=oliver-dxLnbx3+1qmEVqv0pETR8A@public.gmane.org \
    --cc=tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.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.