[PATCHv6 0/5] hwspinlock core/omap dt support

2014-09-12 Thread Suman Anna
Hi Ohad,

This is an update to the hwspinlock dt support series. The series
is rebased onto v3.17-rc3, and addresses the review comments on the
previous v5 series. I have also split and left out the RFC patches
about the support for reserved locks (will post these as a separate
series) and return code convention changes in the hwspinlock core
(will not be needed anymore). The support for deferred probing of
clients is supported in the new of_hwspin_lock_get_id() function
itself.

Following are the main changes in v6 w.r.t v5:
- [Patch 1] Updated generic hwspinlock bindings after folding back
  the hwlock-base-id property from v5 Patch 8 [1]. [Patch 1]
- [Patch 4] Updated the common OF helpers patch based on review
  comments on v5. of_hwspin_lock_request_specific() is replaced
  with of_hwspin_lock_get_id(). of_hwspin_lock_simple_xlate() is
  made internal, and of_hwspin_lock_get_base_id() is added.
- [Patch 5] Updated the OMAP hwspinlock DT support patch to address
  review comments about hard-coded base-id, it is parsed from DT
  if present.
- Patches 2 and 3 are unchanged from previous version.
- Support patches for AM335x and AM437x SoCs (v5 patches 6 and 7)
  have been dropped as they are merged in separately for 3.17
- RFC patches (v5 patches 9 through 15) adding the concept of
  reserved locks and return code change convention dropped.

I had looked into dropping the patch to maintain the list of registered
spinlocks, but had to retain the patch as it was needed to perform the
validity of the args-specifier value in of_hwspin_lock_get_id().

The validation logs on all the applicable OMAP SoCs are at:
  OMAP4  - http://pastebin.ubuntu.com/8329228
  OMAP5  - http://pastebin.ubuntu.com/8329301
  DRA74x - http://pastebin.ubuntu.com/8329261
  AM33xx - http://pastebin.ubuntu.com/8329199
  AM43xx - http://pastebin.ubuntu.com/8329273

The above logs are generated with some additional test patches staged
here for reference:
https://github.com/sumananna/omap-kernel/commits/hwspinlock/test/3.17-rc3-dt-v6
https://github.com/sumananna/omap-kernel/commits/hwspinlock/submit/3.17-rc3-dt-v6

regards
Suman

[1] https://patchwork.kernel.org/patch/4096741/

---
v5:
http://marc.info/?l=linux-omap&m=139890478402807&w=2
- Rebased v4 patches plus additional RFC patches.
- Added back the patch to support DT-based hwlock-base-id property,
  for registration purposes.
- RFC patches introducing the concept of reserved locks.
- Staged patches for converting return convention to better support
  deferred probing of client drivers.

v4:
- The DT bindings are split into separate patches, and updated to
  add comments about #hwlock-cells
- Fixed a registration issue with repeated module installation and
  removal.
- Added a new OF helper to support #hwlock-cells in addition to the
  previous OF functions. The OMAP adaptation patch is updated to use
  the default translate function
- Updated hwspinlock documentation to adjust for the structure
  changes and the new api additions.
- Added build support for AM335x, AM43xx and DRA7xx
http://marc.info/?l=linux-omap&m=138965904015225&w=2

v3:
- Removed the DT property hwlock-base-id and associated OF helper
- Added changes in core to support requesting a specific hwlock using
  phandle + args approach
- Revised both the common and OMAP DT bindings document
http://marc.info/?l=linux-omap&m=138143992932197&w=2

v2:
- Added a new common DT binding documentation and OF helpers.
- Revised OMAP DT parse support to use the new OF helper (Patch2)
- OMAP5 hwspinlock support including the hwmod entry and DT node
- Add AM335x support to OMAP hwspinlock driver, including a fix
  needed in driver given that AM335 spinlock module requires s/w wakeup
- AM335 DT node for spinlock, and a hwmod change to enable smart-idle
  for AM335.
- OMAP4 DT node patch is unchanged
http://marc.info/?l=linux-omap&m=137944644112727&w=2

v1:
- Add DT parse support to OMAP hwspinlock driver
- Add OMAP4 DT node and bindings information
http://marc.info/?l=linux-omap&m=137823082308009&w=2

---

Suman Anna (5):
  Documentation: dt: add common bindings for hwspinlock
  Documentation: dt: add the omap hwspinlock bindings document
  hwspinlock/core: maintain a list of registered hwspinlock banks
  hwspinlock/core: add common OF helpers
  hwspinlock/omap: add support for dt nodes

 .../devicetree/bindings/hwlock/hwlock.txt  |  55 +++
 .../devicetree/bindings/hwlock/omap-hwspinlock.txt |  24 +++
 Documentation/hwspinlock.txt   |  28 
 MAINTAINERS|   1 -
 arch/arm/mach-omap2/Makefile   |   3 -
 arch/arm/mach-omap2/hwspinlock.c   |  60 ---
 drivers/hwspinlock/hwspinlock_core.c   | 173 +
 drivers/hwspinlock/hwspinlock_internal.h   |   2 +
 drivers/hwspinlock/omap_hwspinlock.c   |  23 ++-
 include/linux/hwspinlock.h |  15 +-
 10 files changed, 3

Re: [PATCHv6 0/5] hwspinlock core/omap dt support

2014-09-30 Thread Suman Anna
Hi Ohad,

>
> This is an update to the hwspinlock dt support series. The series
> is rebased onto v3.17-rc3, and addresses the review comments on the
> previous v5 series. I have also split and left out the RFC patches
> about the support for reserved locks (will post these as a separate
> series) and return code convention changes in the hwspinlock core
> (will not be needed anymore). The support for deferred probing of
> clients is supported in the new of_hwspin_lock_get_id() function
> itself.
> 
> Following are the main changes in v6 w.r.t v5:
> - [Patch 1] Updated generic hwspinlock bindings after folding back
>   the hwlock-base-id property from v5 Patch 8 [1]. [Patch 1]
> - [Patch 4] Updated the common OF helpers patch based on review
>   comments on v5. of_hwspin_lock_request_specific() is replaced
>   with of_hwspin_lock_get_id(). of_hwspin_lock_simple_xlate() is
>   made internal, and of_hwspin_lock_get_base_id() is added.
> - [Patch 5] Updated the OMAP hwspinlock DT support patch to address
>   review comments about hard-coded base-id, it is parsed from DT
>   if present.
> - Patches 2 and 3 are unchanged from previous version.
> - Support patches for AM335x and AM437x SoCs (v5 patches 6 and 7)
>   have been dropped as they are merged in separately for 3.17
> - RFC patches (v5 patches 9 through 15) adding the concept of
>   reserved locks and return code change convention dropped.
> 
> I had looked into dropping the patch to maintain the list of registered
> spinlocks, but had to retain the patch as it was needed to perform the
> validity of the args-specifier value in of_hwspin_lock_get_id().

Ping, do you have any comments on this revised series? If not, can we
queue this for 3.18?

regards
Suman

> 
> The validation logs on all the applicable OMAP SoCs are at:
>   OMAP4  - http://pastebin.ubuntu.com/8329228
>   OMAP5  - http://pastebin.ubuntu.com/8329301
>   DRA74x - http://pastebin.ubuntu.com/8329261
>   AM33xx - http://pastebin.ubuntu.com/8329199
>   AM43xx - http://pastebin.ubuntu.com/8329273
> 
> The above logs are generated with some additional test patches staged
> here for reference:
> https://github.com/sumananna/omap-kernel/commits/hwspinlock/test/3.17-rc3-dt-v6
> https://github.com/sumananna/omap-kernel/commits/hwspinlock/submit/3.17-rc3-dt-v6
> 
> regards
> Suman
> 
> [1] https://patchwork.kernel.org/patch/4096741/
> 
> ---
> v5:
> http://marc.info/?l=linux-omap&m=139890478402807&w=2
> - Rebased v4 patches plus additional RFC patches.
> - Added back the patch to support DT-based hwlock-base-id property,
>   for registration purposes.
> - RFC patches introducing the concept of reserved locks.
> - Staged patches for converting return convention to better support
>   deferred probing of client drivers.
> 
> v4:
> - The DT bindings are split into separate patches, and updated to
>   add comments about #hwlock-cells
> - Fixed a registration issue with repeated module installation and
>   removal.
> - Added a new OF helper to support #hwlock-cells in addition to the
>   previous OF functions. The OMAP adaptation patch is updated to use
>   the default translate function
> - Updated hwspinlock documentation to adjust for the structure
>   changes and the new api additions.
> - Added build support for AM335x, AM43xx and DRA7xx
> http://marc.info/?l=linux-omap&m=138965904015225&w=2
> 
> v3:
> - Removed the DT property hwlock-base-id and associated OF helper
> - Added changes in core to support requesting a specific hwlock using
>   phandle + args approach
> - Revised both the common and OMAP DT bindings document
> http://marc.info/?l=linux-omap&m=138143992932197&w=2
> 
> v2:
> - Added a new common DT binding documentation and OF helpers.
> - Revised OMAP DT parse support to use the new OF helper (Patch2)
> - OMAP5 hwspinlock support including the hwmod entry and DT node
> - Add AM335x support to OMAP hwspinlock driver, including a fix
>   needed in driver given that AM335 spinlock module requires s/w wakeup
> - AM335 DT node for spinlock, and a hwmod change to enable smart-idle
>   for AM335.
> - OMAP4 DT node patch is unchanged
> http://marc.info/?l=linux-omap&m=137944644112727&w=2
> 
> v1:
> - Add DT parse support to OMAP hwspinlock driver
> - Add OMAP4 DT node and bindings information
> http://marc.info/?l=linux-omap&m=137823082308009&w=2
> 
> ---
> 
> Suman Anna (5):
>   Documentation: dt: add common bindings for hwspinlock
>   Documentation: dt: add the omap hwspinlock bindings document
>   hwspinlock/core: maintain a list of registered hwspinlock banks
>   hwspinlock/core: add common OF helpers
>   hwspinlock/omap: add support for dt nodes
> 
>  .../devicetree/bindings/hwlock/hwlock.txt  |  55 +++
>  .../devicetree/bindings/hwlock/omap-hwspinlock.txt |  24 +++
>  Documentation/hwspinlock.txt   |  28 
>  MAINTAINERS|   1 -
>  arch/arm/mach-omap2/Makefile   |   3 -
>  arch/arm/mach-omap2/hwsp

Re: [PATCHv6 0/5] hwspinlock core/omap dt support

2014-09-30 Thread Bjorn Andersson
On Fri, Sep 12, 2014 at 1:24 PM, Suman Anna  wrote:
> Hi Ohad,
>
> This is an update to the hwspinlock dt support series. The series
> is rebased onto v3.17-rc3, and addresses the review comments on the
> previous v5 series. I have also split and left out the RFC patches
> about the support for reserved locks (will post these as a separate
> series) and return code convention changes in the hwspinlock core
> (will not be needed anymore). The support for deferred probing of
> clients is supported in the new of_hwspin_lock_get_id() function
> itself.
>

Thanks for your reply to me, I had missed that you continued this work.


I find it somewhat awkward to have to call both of_hwspin_lock_get_id() and
then hwspin_lock_request_specific(), but I found the request from Ohad, so
let's stick with it.


Am I right that hwlock-num-locks and hwlock-base-id are optional from the
frameworks perspective and only there to aid the hwspin drivers? If so it is
strange to have in the common binding and have the helper functions in the core
for simply reading hwspin device specific properties.

Otherwise I think it looks sane, although I haven't spend that much time
reviewing it.

I did throw it into my tree and gave it a testrun with the Qualcomm code I've
been working on. So for the non-omap parts:

Tested-by: Bjorn Andersson 

Regards,
Bjorn
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCHv6 0/5] hwspinlock core/omap dt support

2014-09-30 Thread Suman Anna
Hi Bjorn,

On 09/30/2014 03:54 PM, Bjorn Andersson wrote:
> On Fri, Sep 12, 2014 at 1:24 PM, Suman Anna  wrote:
>> Hi Ohad,
>>
>> This is an update to the hwspinlock dt support series. The series
>> is rebased onto v3.17-rc3, and addresses the review comments on the
>> previous v5 series. I have also split and left out the RFC patches
>> about the support for reserved locks (will post these as a separate
>> series) and return code convention changes in the hwspinlock core
>> (will not be needed anymore). The support for deferred probing of
>> clients is supported in the new of_hwspin_lock_get_id() function
>> itself.
>>
> 
> Thanks for your reply to me, I had missed that you continued this work.
> 
> 
> I find it somewhat awkward to have to call both of_hwspin_lock_get_id() and
> then hwspin_lock_request_specific(), but I found the request from Ohad, so
> let's stick with it.
> 
> Am I right that hwlock-num-locks and hwlock-base-id are optional from the
> frameworks perspective and only there to aid the hwspin drivers? If so it is
> strange to have in the common binding and have the helper functions in the 
> core
> for simply reading hwspin device specific properties.

The hwlock-num-locks and hwlock-base-id would be common features to all
the hwspinlock drivers, so they are added as common bindings which the
individual implementations should use instead of defining their own
properties. These are added based on discussion way back on v1. You
ought to replace the "qcom,num-locks" with the first one.

I will respond to your v4 with a few comments so that we don't loose the
context in that thread.

> 
> Otherwise I think it looks sane, although I haven't spend that much time
> reviewing it.
> 
> I did throw it into my tree and gave it a testrun with the Qualcomm code I've
> been working on. So for the non-omap parts:
> 
> Tested-by: Bjorn Andersson 
> 

Thanks for testing this with the new Qualcomm driver.

regards
Suman

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html