diff mbox

[v2,5/8] Input: cros_ec_keyb - Switch to SPDX identifier.

Message ID 20180605175429.9072-6-enric.balletbo@collabora.com (mailing list archive)
State New, archived
Headers show

Commit Message

Enric Balletbo i Serra June 5, 2018, 5:54 p.m. UTC
Adopt the SPDX license identifier headers to ease license compliance
management.

Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
---

Changes in v2:
- [6/9] Do not remove last paragraph.

 drivers/input/keyboard/cros_ec_keyb.c | 34 ++++++++++-----------------
 1 file changed, 12 insertions(+), 22 deletions(-)

Comments

Fabio Estevam June 5, 2018, 6:04 p.m. UTC | #1
Hi Enric,

On Tue, Jun 5, 2018 at 2:54 PM, Enric Balletbo i Serra
<enric.balletbo@collabora.com> wrote:
> Adopt the SPDX license identifier headers to ease license compliance
> management.
>
> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
> ---
>
> Changes in v2:
> - [6/9] Do not remove last paragraph.
>
>  drivers/input/keyboard/cros_ec_keyb.c | 34 ++++++++++-----------------
>  1 file changed, 12 insertions(+), 22 deletions(-)
>
> diff --git a/drivers/input/keyboard/cros_ec_keyb.c b/drivers/input/keyboard/cros_ec_keyb.c
> index 79eb29550c34..91b2839c12df 100644
> --- a/drivers/input/keyboard/cros_ec_keyb.c
> +++ b/drivers/input/keyboard/cros_ec_keyb.c
> @@ -1,25 +1,15 @@
> -/*
> - * ChromeOS EC keyboard driver
> - *
> - * Copyright (C) 2012 Google, Inc
> - *
> - * This software is licensed under the terms of the GNU General Public
> - * License version 2, as published by the Free Software Foundation, and

Original text says GPL-2.0...

> - * may be copied, distributed, and modified under those terms.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * This driver uses the Chrome OS EC byte-level message-based protocol for
> - * communicating the keyboard state (which keys are pressed) from a keyboard EC
> - * to the AP over some bus (such as i2c, lpc, spi).  The EC does debouncing,
> - * but everything else (including deghosting) is done here.  The main
> - * motivation for this is to keep the EC firmware as simple as possible, since
> - * it cannot be easily upgraded and EC flash/IRAM space is relatively
> - * expensive.
> - */
> +// SPDX-License-Identifier: GPL-2.0+

but here you add a GPL-2.0+ type.
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Enric Balletbo i Serra June 5, 2018, 6:14 p.m. UTC | #2
Hi Fabio,

On 05/06/18 20:04, Fabio Estevam wrote:
> Hi Enric,
> 
> On Tue, Jun 5, 2018 at 2:54 PM, Enric Balletbo i Serra
> <enric.balletbo@collabora.com> wrote:
>> Adopt the SPDX license identifier headers to ease license compliance
>> management.
>>
>> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
>> ---
>>
>> Changes in v2:
>> - [6/9] Do not remove last paragraph.
>>
>>  drivers/input/keyboard/cros_ec_keyb.c | 34 ++++++++++-----------------
>>  1 file changed, 12 insertions(+), 22 deletions(-)
>>
>> diff --git a/drivers/input/keyboard/cros_ec_keyb.c b/drivers/input/keyboard/cros_ec_keyb.c
>> index 79eb29550c34..91b2839c12df 100644
>> --- a/drivers/input/keyboard/cros_ec_keyb.c
>> +++ b/drivers/input/keyboard/cros_ec_keyb.c
>> @@ -1,25 +1,15 @@
>> -/*
>> - * ChromeOS EC keyboard driver
>> - *
>> - * Copyright (C) 2012 Google, Inc
>> - *
>> - * This software is licensed under the terms of the GNU General Public
>> - * License version 2, as published by the Free Software Foundation, and
> 
> Original text says GPL-2.0...
> 
>> - * may be copied, distributed, and modified under those terms.
>> - *
>> - * This program is distributed in the hope that it will be useful,
>> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
>> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>> - * GNU General Public License for more details.
>> - *
>> - * This driver uses the Chrome OS EC byte-level message-based protocol for
>> - * communicating the keyboard state (which keys are pressed) from a keyboard EC
>> - * to the AP over some bus (such as i2c, lpc, spi).  The EC does debouncing,
>> - * but everything else (including deghosting) is done here.  The main
>> - * motivation for this is to keep the EC firmware as simple as possible, since
>> - * it cannot be easily upgraded and EC flash/IRAM space is relatively
>> - * expensive.
>> - */
>> +// SPDX-License-Identifier: GPL-2.0+
> 
> but here you add a GPL-2.0+ type.
> 

Right, but the module license is set to GPL which means GNU Public License v2 or
later, see [1]. So, there is a mismatch. In such cases I assumed GPL-2.0+ as the
default. These mismatches are common so I think that should be fine for the
authors, if someone is disagree just let me know and I will change.

Best regards,
 Enric

[1]
https://elixir.bootlin.com/linux/v4.17/source/drivers/input/keyboard/cros_ec_keyb.c#L677
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Fabio Estevam June 5, 2018, 6:16 p.m. UTC | #3
Hi Enric,

On Tue, Jun 5, 2018 at 3:14 PM, Enric Balletbo i Serra
<enric.balletbo@collabora.com> wrote:

> Right, but the module license is set to GPL which means GNU Public License v2 or
> later, see [1]. So, there is a mismatch. In such cases I assumed GPL-2.0+ as the
> default. These mismatches are common so I think that should be fine for the
> authors, if someone is disagree just let me know and I will change.

Ok, but I think you should add this explanation in the commit log to
make it clearer.
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Dmitry Torokhov June 5, 2018, 6:29 p.m. UTC | #4
On Tue, Jun 05, 2018 at 03:16:40PM -0300, Fabio Estevam wrote:
> Hi Enric,
> 
> On Tue, Jun 5, 2018 at 3:14 PM, Enric Balletbo i Serra
> <enric.balletbo@collabora.com> wrote:
> 
> > Right, but the module license is set to GPL which means GNU Public License v2 or
> > later, see [1]. So, there is a mismatch. In such cases I assumed GPL-2.0+ as the
> > default. These mismatches are common so I think that should be fine for the
> > authors, if someone is disagree just let me know and I will change.
> 
> Ok, but I think you should add this explanation in the commit log to
> make it clearer.

If there is a conflict between the license notice and MODULE_LICENSE()
we should go by the license notice. The license note is usually approved
by companies, whereas MIODULE_LICENSE()s get moved, adjusted, etc.

For ChromeOS kernel changes license notice is GPL v2 as documented at:

https://www.chromium.org/chromium-os/how-tos-and-troubleshooting/kernel-faq

section "Which copyright header should I use?"

Thanks.
Enric Balletbo i Serra June 5, 2018, 6:45 p.m. UTC | #5
Hi Dmitry,

On 05/06/18 20:29, Dmitry Torokhov wrote:
> On Tue, Jun 05, 2018 at 03:16:40PM -0300, Fabio Estevam wrote:
>> Hi Enric,
>>
>> On Tue, Jun 5, 2018 at 3:14 PM, Enric Balletbo i Serra
>> <enric.balletbo@collabora.com> wrote:
>>
>>> Right, but the module license is set to GPL which means GNU Public License v2 or
>>> later, see [1]. So, there is a mismatch. In such cases I assumed GPL-2.0+ as the
>>> default. These mismatches are common so I think that should be fine for the
>>> authors, if someone is disagree just let me know and I will change.
>>
>> Ok, but I think you should add this explanation in the commit log to
>> make it clearer.
> 
> If there is a conflict between the license notice and MODULE_LICENSE()
> we should go by the license notice. The license note is usually approved
> by companies, whereas MIODULE_LICENSE()s get moved, adjusted, etc.
> 
> For ChromeOS kernel changes license notice is GPL v2 as documented at:
> 
> https://www.chromium.org/chromium-os/how-tos-and-troubleshooting/kernel-faq
> 
> section "Which copyright header should I use?"
> 

Many thanks to share and clarify this.

There is lots of mismatches so I'll send another version fixing this and
changing all to GPL v2. I assume I should also modify the MODULE_LICENSE when
it's wrong.

Thanks.
 Enric

> Thanks.
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Dmitry Torokhov June 5, 2018, 6:52 p.m. UTC | #6
On Tue, Jun 05, 2018 at 08:45:44PM +0200, Enric Balletbo i Serra wrote:
> Hi Dmitry,
> 
> On 05/06/18 20:29, Dmitry Torokhov wrote:
> > On Tue, Jun 05, 2018 at 03:16:40PM -0300, Fabio Estevam wrote:
> >> Hi Enric,
> >>
> >> On Tue, Jun 5, 2018 at 3:14 PM, Enric Balletbo i Serra
> >> <enric.balletbo@collabora.com> wrote:
> >>
> >>> Right, but the module license is set to GPL which means GNU Public License v2 or
> >>> later, see [1]. So, there is a mismatch. In such cases I assumed GPL-2.0+ as the
> >>> default. These mismatches are common so I think that should be fine for the
> >>> authors, if someone is disagree just let me know and I will change.
> >>
> >> Ok, but I think you should add this explanation in the commit log to
> >> make it clearer.
> > 
> > If there is a conflict between the license notice and MODULE_LICENSE()
> > we should go by the license notice. The license note is usually approved
> > by companies, whereas MIODULE_LICENSE()s get moved, adjusted, etc.
> > 
> > For ChromeOS kernel changes license notice is GPL v2 as documented at:
> > 
> > https://www.chromium.org/chromium-os/how-tos-and-troubleshooting/kernel-faq
> > 
> > section "Which copyright header should I use?"
> > 
> 
> Many thanks to share and clarify this.
> 
> There is lots of mismatches so I'll send another version fixing this and
> changing all to GPL v2. I assume I should also modify the MODULE_LICENSE when
> it's wrong.

I'd have a round of changes having MODULE_LICENSE() match the license
notice, and then separate patches for changing over to SPDX tags.

Thanks.
Greg Kroah-Hartman June 25, 2018, 1:57 a.m. UTC | #7
On Tue, Jun 05, 2018 at 08:14:24PM +0200, Enric Balletbo i Serra wrote:
> Hi Fabio,
> 
> On 05/06/18 20:04, Fabio Estevam wrote:
> > Hi Enric,
> > 
> > On Tue, Jun 5, 2018 at 2:54 PM, Enric Balletbo i Serra
> > <enric.balletbo@collabora.com> wrote:
> >> Adopt the SPDX license identifier headers to ease license compliance
> >> management.
> >>
> >> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
> >> ---
> >>
> >> Changes in v2:
> >> - [6/9] Do not remove last paragraph.
> >>
> >>  drivers/input/keyboard/cros_ec_keyb.c | 34 ++++++++++-----------------
> >>  1 file changed, 12 insertions(+), 22 deletions(-)
> >>
> >> diff --git a/drivers/input/keyboard/cros_ec_keyb.c b/drivers/input/keyboard/cros_ec_keyb.c
> >> index 79eb29550c34..91b2839c12df 100644
> >> --- a/drivers/input/keyboard/cros_ec_keyb.c
> >> +++ b/drivers/input/keyboard/cros_ec_keyb.c
> >> @@ -1,25 +1,15 @@
> >> -/*
> >> - * ChromeOS EC keyboard driver
> >> - *
> >> - * Copyright (C) 2012 Google, Inc
> >> - *
> >> - * This software is licensed under the terms of the GNU General Public
> >> - * License version 2, as published by the Free Software Foundation, and
> > 
> > Original text says GPL-2.0...
> > 
> >> - * may be copied, distributed, and modified under those terms.
> >> - *
> >> - * This program is distributed in the hope that it will be useful,
> >> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> >> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> >> - * GNU General Public License for more details.
> >> - *
> >> - * This driver uses the Chrome OS EC byte-level message-based protocol for
> >> - * communicating the keyboard state (which keys are pressed) from a keyboard EC
> >> - * to the AP over some bus (such as i2c, lpc, spi).  The EC does debouncing,
> >> - * but everything else (including deghosting) is done here.  The main
> >> - * motivation for this is to keep the EC firmware as simple as possible, since
> >> - * it cannot be easily upgraded and EC flash/IRAM space is relatively
> >> - * expensive.
> >> - */
> >> +// SPDX-License-Identifier: GPL-2.0+
> > 
> > but here you add a GPL-2.0+ type.
> > 
> 
> Right, but the module license is set to GPL which means GNU Public License v2 or
> later, see [1]. So, there is a mismatch. In such cases I assumed GPL-2.0+ as the
> default. These mismatches are common so I think that should be fine for the
> authors, if someone is disagree just let me know and I will change.

NO!

The license text is what you need to follow as almost everyone gets the
MODULE_LICENSE() stuff wrong.  You can not follow the MODULE_LICENSE
marking for determining GPLv2 vs. GPLv2+ at this point in time.  After
we get the SPDX stuff all cleaned up then we can go and fix up the
MODULE_LICENSE mismatch.

So again, always defer to the license text in the file, NOT the
MODULE_LICENSE() marking.

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Enric Balletbo i Serra June 25, 2018, 6:23 a.m. UTC | #8
Hi Grek,

On 25/06/18 03:57, Greg KH wrote:
> On Tue, Jun 05, 2018 at 08:14:24PM +0200, Enric Balletbo i Serra wrote:
>> Hi Fabio,
>>
>> On 05/06/18 20:04, Fabio Estevam wrote:
>>> Hi Enric,
>>>
>>> On Tue, Jun 5, 2018 at 2:54 PM, Enric Balletbo i Serra
>>> <enric.balletbo@collabora.com> wrote:
>>>> Adopt the SPDX license identifier headers to ease license compliance
>>>> management.
>>>>
>>>> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
>>>> ---
>>>>
>>>> Changes in v2:
>>>> - [6/9] Do not remove last paragraph.
>>>>
>>>>  drivers/input/keyboard/cros_ec_keyb.c | 34 ++++++++++-----------------
>>>>  1 file changed, 12 insertions(+), 22 deletions(-)
>>>>
>>>> diff --git a/drivers/input/keyboard/cros_ec_keyb.c b/drivers/input/keyboard/cros_ec_keyb.c
>>>> index 79eb29550c34..91b2839c12df 100644
>>>> --- a/drivers/input/keyboard/cros_ec_keyb.c
>>>> +++ b/drivers/input/keyboard/cros_ec_keyb.c
>>>> @@ -1,25 +1,15 @@
>>>> -/*
>>>> - * ChromeOS EC keyboard driver
>>>> - *
>>>> - * Copyright (C) 2012 Google, Inc
>>>> - *
>>>> - * This software is licensed under the terms of the GNU General Public
>>>> - * License version 2, as published by the Free Software Foundation, and
>>>
>>> Original text says GPL-2.0...
>>>
>>>> - * may be copied, distributed, and modified under those terms.
>>>> - *
>>>> - * This program is distributed in the hope that it will be useful,
>>>> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
>>>> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>>>> - * GNU General Public License for more details.
>>>> - *
>>>> - * This driver uses the Chrome OS EC byte-level message-based protocol for
>>>> - * communicating the keyboard state (which keys are pressed) from a keyboard EC
>>>> - * to the AP over some bus (such as i2c, lpc, spi).  The EC does debouncing,
>>>> - * but everything else (including deghosting) is done here.  The main
>>>> - * motivation for this is to keep the EC firmware as simple as possible, since
>>>> - * it cannot be easily upgraded and EC flash/IRAM space is relatively
>>>> - * expensive.
>>>> - */
>>>> +// SPDX-License-Identifier: GPL-2.0+
>>>
>>> but here you add a GPL-2.0+ type.
>>>
>>
>> Right, but the module license is set to GPL which means GNU Public License v2 or
>> later, see [1]. So, there is a mismatch. In such cases I assumed GPL-2.0+ as the
>> default. These mismatches are common so I think that should be fine for the
>> authors, if someone is disagree just let me know and I will change.
> 
> NO!
> 
> The license text is what you need to follow as almost everyone gets the
> MODULE_LICENSE() stuff wrong.  You can not follow the MODULE_LICENSE
> marking for determining GPLv2 vs. GPLv2+ at this point in time.  After
> we get the SPDX stuff all cleaned up then we can go and fix up the
> MODULE_LICENSE mismatch.
> 
> So again, always defer to the license text in the file, NOT the
> MODULE_LICENSE() marking.
> 

Many thanks for your feedback, Dmitry already told me that I was doing wrong
this and I sent another version following the license text, so this patchset was
superseded for v3 [1].

[1] https://patchwork.ozlabs.org/cover/925906/

Thanks,
 Enric

> thanks,
> 
> greg k-h
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Greg Kroah-Hartman June 25, 2018, 6:42 a.m. UTC | #9
On Mon, Jun 25, 2018 at 08:23:38AM +0200, Enric Balletbo i Serra wrote:
> Hi Grek,
> 
> On 25/06/18 03:57, Greg KH wrote:
> > On Tue, Jun 05, 2018 at 08:14:24PM +0200, Enric Balletbo i Serra wrote:
> >> Hi Fabio,
> >>
> >> On 05/06/18 20:04, Fabio Estevam wrote:
> >>> Hi Enric,
> >>>
> >>> On Tue, Jun 5, 2018 at 2:54 PM, Enric Balletbo i Serra
> >>> <enric.balletbo@collabora.com> wrote:
> >>>> Adopt the SPDX license identifier headers to ease license compliance
> >>>> management.
> >>>>
> >>>> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
> >>>> ---
> >>>>
> >>>> Changes in v2:
> >>>> - [6/9] Do not remove last paragraph.
> >>>>
> >>>>  drivers/input/keyboard/cros_ec_keyb.c | 34 ++++++++++-----------------
> >>>>  1 file changed, 12 insertions(+), 22 deletions(-)
> >>>>
> >>>> diff --git a/drivers/input/keyboard/cros_ec_keyb.c b/drivers/input/keyboard/cros_ec_keyb.c
> >>>> index 79eb29550c34..91b2839c12df 100644
> >>>> --- a/drivers/input/keyboard/cros_ec_keyb.c
> >>>> +++ b/drivers/input/keyboard/cros_ec_keyb.c
> >>>> @@ -1,25 +1,15 @@
> >>>> -/*
> >>>> - * ChromeOS EC keyboard driver
> >>>> - *
> >>>> - * Copyright (C) 2012 Google, Inc
> >>>> - *
> >>>> - * This software is licensed under the terms of the GNU General Public
> >>>> - * License version 2, as published by the Free Software Foundation, and
> >>>
> >>> Original text says GPL-2.0...
> >>>
> >>>> - * may be copied, distributed, and modified under those terms.
> >>>> - *
> >>>> - * This program is distributed in the hope that it will be useful,
> >>>> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> >>>> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> >>>> - * GNU General Public License for more details.
> >>>> - *
> >>>> - * This driver uses the Chrome OS EC byte-level message-based protocol for
> >>>> - * communicating the keyboard state (which keys are pressed) from a keyboard EC
> >>>> - * to the AP over some bus (such as i2c, lpc, spi).  The EC does debouncing,
> >>>> - * but everything else (including deghosting) is done here.  The main
> >>>> - * motivation for this is to keep the EC firmware as simple as possible, since
> >>>> - * it cannot be easily upgraded and EC flash/IRAM space is relatively
> >>>> - * expensive.
> >>>> - */
> >>>> +// SPDX-License-Identifier: GPL-2.0+
> >>>
> >>> but here you add a GPL-2.0+ type.
> >>>
> >>
> >> Right, but the module license is set to GPL which means GNU Public License v2 or
> >> later, see [1]. So, there is a mismatch. In such cases I assumed GPL-2.0+ as the
> >> default. These mismatches are common so I think that should be fine for the
> >> authors, if someone is disagree just let me know and I will change.
> > 
> > NO!
> > 
> > The license text is what you need to follow as almost everyone gets the
> > MODULE_LICENSE() stuff wrong.  You can not follow the MODULE_LICENSE
> > marking for determining GPLv2 vs. GPLv2+ at this point in time.  After
> > we get the SPDX stuff all cleaned up then we can go and fix up the
> > MODULE_LICENSE mismatch.
> > 
> > So again, always defer to the license text in the file, NOT the
> > MODULE_LICENSE() marking.
> > 
> 
> Many thanks for your feedback, Dmitry already told me that I was doing wrong
> this and I sent another version following the license text, so this patchset was
> superseded for v3 [1].
> 
> [1] https://patchwork.ozlabs.org/cover/925906/

Ah, good, sorry for the noise then, I didn't see that series.

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/input/keyboard/cros_ec_keyb.c b/drivers/input/keyboard/cros_ec_keyb.c
index 79eb29550c34..91b2839c12df 100644
--- a/drivers/input/keyboard/cros_ec_keyb.c
+++ b/drivers/input/keyboard/cros_ec_keyb.c
@@ -1,25 +1,15 @@ 
-/*
- * ChromeOS EC keyboard driver
- *
- * Copyright (C) 2012 Google, Inc
- *
- * This software is licensed under the terms of the GNU General Public
- * License version 2, as published by the Free Software Foundation, and
- * may be copied, distributed, and modified under those terms.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * This driver uses the Chrome OS EC byte-level message-based protocol for
- * communicating the keyboard state (which keys are pressed) from a keyboard EC
- * to the AP over some bus (such as i2c, lpc, spi).  The EC does debouncing,
- * but everything else (including deghosting) is done here.  The main
- * motivation for this is to keep the EC firmware as simple as possible, since
- * it cannot be easily upgraded and EC flash/IRAM space is relatively
- * expensive.
- */
+// SPDX-License-Identifier: GPL-2.0+
+// ChromeOS EC keyboard driver
+//
+// Copyright (C) 2012 Google, Inc.
+//
+// This driver uses the ChromeOS EC byte-level message-based protocol for
+// communicating the keyboard state (which keys are pressed) from a keyboard EC
+// to the AP over some bus (such as i2c, lpc, spi).  The EC does debouncing,
+// but everything else (including deghosting) is done here.  The main
+// motivation for this is to keep the EC firmware as simple as possible, since
+// it cannot be easily upgraded and EC flash/IRAM space is relatively
+// expensive.
 
 #include <linux/module.h>
 #include <linux/bitops.h>