linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ray Jui <ray.jui@broadcom.com>
To: Scott Branden <scott.branden@broadcom.com>,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	Raveendra Padasalagi <raveendra.padasalagi@broadcom.com>
Cc: Rob Herring <robh@kernel.org>,
	Russell King <linux@arm.linux.org.uk>,
	Arnd Bergmann <arnd@arndb.de>,
	devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-input@vger.kernel.org, Pawel Moll <pawel.moll@arm.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Ian Campbell <ijc+devicetree@hellion.org.uk>,
	Kumar Gala <galak@codeaurora.org>,
	Jonathan Richardson <jonathar@broadcom.com>,
	Jon Mason <jonmason@broadcom.com>,
	Florian Fainelli <f.fainelli@gmail.com>,
	Anup Patel <anup.patel@broadcom.com>, Ray Jui <rjui@broadcom.com>,
	Scott Branden <sbranden@broadcom.com>,
	linux-kernel@vger.kernel.org,
	bcm-kernel-feedback-list@broadcom.com
Subject: Re: [PATCH v2 1/3] input: cygnus-update touchscreen dt node document
Date: Mon, 22 Feb 2016 11:48:47 -0800	[thread overview]
Message-ID: <47ef2a75-3f97-644f-a817-c93e6b3bc658@broadcom.com> (raw)
In-Reply-To: <56CB6471.3020400@broadcom.com>



On 2/22/2016 11:41 AM, Scott Branden wrote:
> My comments below
>
> On 16-02-22 11:36 AM, Dmitry Torokhov wrote:
>> On Fri, Feb 19, 2016 at 11:43:50AM +0530, Raveendra Padasalagi wrote:
>>> On Thu, Feb 18, 2016 at 8:06 PM, Rob Herring <robh@kernel.org> wrote:
>>>> On Wed, Feb 17, 2016 at 03:13:44PM +0530, Raveendra Padasalagi wrote:
>>>>> In Cygnus SOC touch screen controller registers are shared
>>>>> with ADC and flex timer. Using readl/writel could lead to
>>>>> race condition. So touch screen driver is enhanced to support
>>>>>
>>>>> 1. If touchscreen register's are not shared. Register access
>>>>> is handled through readl/writel if "brcm,iproc-touchscreen"
>>>>> compatible is provided in touchscreen dt node. This will help
>>>>> for future SOC's if comes with dedicated touchscreen IP register's.
>>>>>
>>>>> 2. If touchscreen register's are shared with other IP's, register
>>>>> access is handled through syscon framework API's to take care of
>>>>> mutually exclusive access. This feature can be enabled by selecting
>>>>> "brcm,iproc-touchscreen-syscon" compatible string in the touchscreen
>>>>> dt node.
>>>>>
>>>>> Hence touchscreen dt node bindings document is updated to take care
>>>>> of above changes in the touchscreen driver.
>>>>>
>>>>> Signed-off-by: Raveendra Padasalagi
>>>>> <raveendra.padasalagi@broadcom.com>
>>>>> Reviewed-by: Ray Jui <ray.jui@broadcom.com>
>>>>> Reviewed-by: Scott Branden <scott.branden@broadcom.com>
>>>>> ---
>>>>>   .../input/touchscreen/brcm,iproc-touchscreen.txt   | 57
>>>>> +++++++++++++++++++---
>>>>>   1 file changed, 51 insertions(+), 6 deletions(-)
>>>>>
>>>>> diff --git
>>>>> a/Documentation/devicetree/bindings/input/touchscreen/brcm,iproc-touchscreen.txt
>>>>> b/Documentation/devicetree/bindings/input/touchscreen/brcm,iproc-touchscreen.txt
>>>>>
>>>>> index 34e3382..f530c25 100644
>>>>> ---
>>>>> a/Documentation/devicetree/bindings/input/touchscreen/brcm,iproc-touchscreen.txt
>>>>>
>>>>> +++
>>>>> b/Documentation/devicetree/bindings/input/touchscreen/brcm,iproc-touchscreen.txt
>>>>>
>>>>> @@ -1,12 +1,30 @@
>>>>>   * Broadcom's IPROC Touchscreen Controller
>>>>>
>>>>>   Required properties:
>>>>> -- compatible: must be "brcm,iproc-touchscreen"
>>>>> -- reg: physical base address of the controller and length of
>>>>> memory mapped
>>>>> -  region.
>>>>> +- compatible: should be one of
>>>>> +        "brcm,iproc-touchscreen"
>>>>> +        "brcm,iproc-touchscreen-syscon"
>>>>
>>>> More specific and this is not how you do syscon. Either the block is or
>>>> isn't. You can't have it both ways.
>>>
>>> Existing driver has support for reg, if we modify now to support only
>>> syscon
>>> then this driver will not work if some one wishes to use previous
>>> kernel version's
>>> dt and vice versa. Basically this breaks dt compatibility. Is that ok ?
>>
>> But the issue is that the driver does not actually work correctly with
>> direct register access on those systems, since the registers are
>> actually shared with other components. I am not quite sure if it is OK
>> to break DT binding in this case...
>
> The driver does work correctly with direct register access on those
> systems because the other components using those registers are not
> active in those systems - so syscon is not needed in those cases.
>
> I'm ok with not containing backwards compatibility though and always
> using syscon.  There are no deployed systems using older versions of the
> upstreamed kernel.
>>
>> Thanks.
>>
>
> Regards,
> Scott

The iproc touchscreen is currently activated in the "bcm9hmidc.dtsi" 
that represents the optional daughter card installed on reference boards 
bcm958300k and bcm958305k. While not maintaining backwards compatibility 
*might not* be a serious issue, it would be nice if we can at least make 
sure the driver change and DT are merged into the same kernel version so 
they stay in sync.

Going forward, if we are only going to support syscon based 
implementation, the existing compatible string "brcm,iproc-touchscreen" 
is preferred over "brcm,iproc-touchscreen-syscon".

Thanks,

Ray

  reply	other threads:[~2016-02-22 19:48 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-17  9:43 [PATCH v2 0/3] Syscon support for iProc touchscreen driver Raveendra Padasalagi
2016-02-17  9:43 ` [PATCH v2 1/3] input: cygnus-update touchscreen dt node document Raveendra Padasalagi
2016-02-17  9:45   ` Arnd Bergmann
2016-02-17  9:53     ` Raveendra Padasalagi
2016-02-18 14:36   ` Rob Herring
2016-02-19  6:13     ` Raveendra Padasalagi
2016-02-22 19:36       ` Dmitry Torokhov
2016-02-22 19:41         ` Scott Branden
2016-02-22 19:48           ` Ray Jui [this message]
2016-02-27  6:49             ` Raveendra Padasalagi
2016-02-17  9:43 ` [PATCH v2 2/3] input: syscon support in bcm_iproc_tsc driver Raveendra Padasalagi
2016-02-17  9:43 ` [PATCH v2 3/3] ARM: dts: use syscon in cygnus touchscreen dt node Raveendra Padasalagi

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=47ef2a75-3f97-644f-a817-c93e6b3bc658@broadcom.com \
    --to=ray.jui@broadcom.com \
    --cc=anup.patel@broadcom.com \
    --cc=arnd@arndb.de \
    --cc=bcm-kernel-feedback-list@broadcom.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=f.fainelli@gmail.com \
    --cc=galak@codeaurora.org \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=jonathar@broadcom.com \
    --cc=jonmason@broadcom.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=mark.rutland@arm.com \
    --cc=pawel.moll@arm.com \
    --cc=raveendra.padasalagi@broadcom.com \
    --cc=rjui@broadcom.com \
    --cc=robh@kernel.org \
    --cc=sbranden@broadcom.com \
    --cc=scott.branden@broadcom.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).