[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <add7aa29-d49d-8d3b-06d1-2275660fc7e7@linaro.org>
Date: Wed, 15 Jun 2022 13:58:06 -0700
From: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
To: Gireesh.Hiremath@...bosch.com, krzysztof.kozlowski+dt@...aro.org
Cc: m.felsch@...gutronix.de, linux-omap@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-input@...r.kernel.org, bcousson@...libre.com,
tony@...mide.com, robh+dt@...nel.org, dmitry.torokhov@...il.com,
mkorpershoek@...libre.com, davidgow@...gle.com,
swboyd@...omium.org, fengping.yu@...iatek.com,
y.oudjana@...tonmail.com, rdunlap@...radead.org,
colin.king@...el.com, sjoerd.simons@...labora.co.uk,
VinayKumar.Shettar@...bosch.com,
Govindaraji.Sivanantham@...bosch.com, anaclaudia.dias@...bosch.com
Subject: Re: [v2,2/4] Input: mt-matrix-keypad: Add Bosch mt matrix keypad
driver
On 13/06/2022 01:06, Gireesh.Hiremath@...bosch.com wrote:
> From: Gireesh Hiremath <Gireesh.Hiremath@...bosch.com>
>
> Hi Krzysztof,
>
>> You wrote pretty long message explaining how the device works, but I
>> still do not see the answer to questions - why it cannot be part of
>> matrix keypad?
>
> Following are the difference between matrix keypad and Bosch keypad
> make us to add another keypad driver.
>
> matrix keypad:
> - By hardware schematic, a column GPIO line will intersect only
> with row GPIO lines, not with the other column GPIO lines
> - so, row and column GPIO property are fixed, because of this
> - key scanning work based on interrupt mode
> - and key press is determined based on setting column as output,
> row GPIO as input and set interrupt to monitor the changes in state,
> serve the key pressed in ISR
>
> Bosch keypad:
> - By hardware schematic column GPIO line can intersect with row GPIO line
> as well as other column GPIO lines
> - so, all GPIO act as row as well as column, because of this
> - key scanning based on polling mode
> - a key pressed is determined by setting one of GPIO line as output and
> other as input and poll for change in the state of input GPIO lines.
> Setting one of a GPIO line as output and remaining GPIO lines as input is on
> round robin bases.
Which is still not the answer "why it cannot be part of matrix keypad?".
To me looks similar enough, although maybe not exactly superset of the
other.
>>
>> "It looks like this driver has smaller number of features than
>> matrix-keypad, so it should be integrated into the matrix-keypad.
>> matrix-keypad features are superset to this one."
>>
>> "But anyway this should be just merged into matrix-keypad. It's a
>> simpler set of that binding."
>
> This keypad driver specific to Bosch measuring tool or similar devices.
> Please let me know to send latest patch which resolves build warning
> and gpiod API support.
That's a poor reason not to merge into existing driver... I am sorry,
but our entire Linux kernel concept is to integrate, not duplicate. If
each of vendors wanted their own feature, we would have unmanageable
monstrosity with millions of drivers doing almost the same...
Best regards,
Krzysztof
Powered by blists - more mailing lists