mbox series

[0/2,SRU,J] Add ODM driver rtc-pcf85263

Message ID 20231228031842.1147904-1-acelan.kao@canonical.com
Headers show
Series Add ODM driver rtc-pcf85263 | expand

Message

AceLan Kao Dec. 28, 2023, 3:18 a.m. UTC
From: "Chia-Lin Kao (AceLan)" <acelan.kao@canonical.com>

BugLink: https://bugs.launchpad.net/bugs/2045385

[ Impact ]
rtc-pcf85263 driver is needed for ODM partner

[ Test Plan ]
Load the driver setting the timestamp level to 0 (default to 1) :
modprobe rtc-pcf85263 tsl=0

export the rtc device:
echo "pcf85263 0x51" > /sys/bus/i2c/devices/i2c-1/new_device

RTC device should act as a standard RTC,
hwclock -r -f /dev/rtc1 #for reading
hwclock -w -f /dev/rtc1 #for writing

This driver has anti-tampering function.
Get the current tamper timestamp:
cat /sys/class/rtc/rtc1/device/timestamp1

unmount the bottom metal panel, unscrewing the 6x T-10 screws and let the anti-tampering goes in open state.
The timestamp should be updated to the current time.

[ Where problems could occur ]
Events could occur on the I2C bus communication.

Chia-Lin Kao (AceLan) (1):
  UBUNTU: [Config] updateconfigs for ODM drivers CONFIG_RTC_DRV_PCF85263

Filippo Copetti (1):
  UBUNTU: SAUCE: ODM: rtc: add PCF85263 RTC driver

 MAINTAINERS                      |    6 +
 debian.master/config/annotations |    1 +
 drivers/rtc/Kconfig              |   10 +
 drivers/rtc/Makefile             |    1 +
 drivers/rtc/rtc-pcf85263.c       | 1784 ++++++++++++++++++++++++++++++
 drivers/rtc/rtc-pcf85263.h       |  387 +++++++
 6 files changed, 2189 insertions(+)
 create mode 100644 drivers/rtc/rtc-pcf85263.c
 create mode 100644 drivers/rtc/rtc-pcf85263.h

Comments

Tim Gardner Jan. 3, 2024, 5:19 p.m. UTC | #1
On 12/27/23 8:18 PM, AceLan Kao wrote:
> From: "Chia-Lin Kao (AceLan)" <acelan.kao@canonical.com>
> 
> BugLink: https://bugs.launchpad.net/bugs/2045385
> 
> [ Impact ]
> rtc-pcf85263 driver is needed for ODM partner
> 
> [ Test Plan ]
> Load the driver setting the timestamp level to 0 (default to 1) :
> modprobe rtc-pcf85263 tsl=0
> 
> export the rtc device:
> echo "pcf85263 0x51" > /sys/bus/i2c/devices/i2c-1/new_device
> 
> RTC device should act as a standard RTC,
> hwclock -r -f /dev/rtc1 #for reading
> hwclock -w -f /dev/rtc1 #for writing
> 
> This driver has anti-tampering function.
> Get the current tamper timestamp:
> cat /sys/class/rtc/rtc1/device/timestamp1
> 
> unmount the bottom metal panel, unscrewing the 6x T-10 screws and let the anti-tampering goes in open state.
> The timestamp should be updated to the current time.
> 
> [ Where problems could occur ]
> Events could occur on the I2C bus communication.
> 
> Chia-Lin Kao (AceLan) (1):
>    UBUNTU: [Config] updateconfigs for ODM drivers CONFIG_RTC_DRV_PCF85263
> 
> Filippo Copetti (1):
>    UBUNTU: SAUCE: ODM: rtc: add PCF85263 RTC driver
> 
>   MAINTAINERS                      |    6 +
>   debian.master/config/annotations |    1 +
>   drivers/rtc/Kconfig              |   10 +
>   drivers/rtc/Makefile             |    1 +
>   drivers/rtc/rtc-pcf85263.c       | 1784 ++++++++++++++++++++++++++++++
>   drivers/rtc/rtc-pcf85263.h       |  387 +++++++
>   6 files changed, 2189 insertions(+)
>   create mode 100644 drivers/rtc/rtc-pcf85263.c
>   create mode 100644 drivers/rtc/rtc-pcf85263.h
> 

I'm not keen to add an out of tree driver with sketchy provenance to a 
stable kernel. Besides, this driver should be added to newer kernels 
first. What happens when users of this Jammy kernel with this driver 
perform an upgrade to a newer kernel ?
Anthony Wong Jan. 5, 2024, 8:55 a.m. UTC | #2
On Thu, Jan 4, 2024 at 1:20 AM Tim Gardner <tim.gardner@canonical.com> wrote:
>
> On 12/27/23 8:18 PM, AceLan Kao wrote:
> > From: "Chia-Lin Kao (AceLan)" <acelan.kao@canonical.com>
> >
> > BugLink: https://bugs.launchpad.net/bugs/2045385
> >
> > [ Impact ]
> > rtc-pcf85263 driver is needed for ODM partner
> >
> > [ Test Plan ]
> > Load the driver setting the timestamp level to 0 (default to 1) :
> > modprobe rtc-pcf85263 tsl=0
> >
> > export the rtc device:
> > echo "pcf85263 0x51" > /sys/bus/i2c/devices/i2c-1/new_device
> >
> > RTC device should act as a standard RTC,
> > hwclock -r -f /dev/rtc1 #for reading
> > hwclock -w -f /dev/rtc1 #for writing
> >
> > This driver has anti-tampering function.
> > Get the current tamper timestamp:
> > cat /sys/class/rtc/rtc1/device/timestamp1
> >
> > unmount the bottom metal panel, unscrewing the 6x T-10 screws and let the anti-tampering goes in open state.
> > The timestamp should be updated to the current time.
> >
> > [ Where problems could occur ]
> > Events could occur on the I2C bus communication.
> >
> > Chia-Lin Kao (AceLan) (1):
> >    UBUNTU: [Config] updateconfigs for ODM drivers CONFIG_RTC_DRV_PCF85263
> >
> > Filippo Copetti (1):
> >    UBUNTU: SAUCE: ODM: rtc: add PCF85263 RTC driver
> >
> >   MAINTAINERS                      |    6 +
> >   debian.master/config/annotations |    1 +
> >   drivers/rtc/Kconfig              |   10 +
> >   drivers/rtc/Makefile             |    1 +
> >   drivers/rtc/rtc-pcf85263.c       | 1784 ++++++++++++++++++++++++++++++
> >   drivers/rtc/rtc-pcf85263.h       |  387 +++++++
> >   6 files changed, 2189 insertions(+)
> >   create mode 100644 drivers/rtc/rtc-pcf85263.c
> >   create mode 100644 drivers/rtc/rtc-pcf85263.h
> >
>
> I'm not keen to add an out of tree driver with sketchy provenance to a
> stable kernel. Besides, this driver should be added to newer kernels
> first. What happens when users of this Jammy kernel with this driver
> perform an upgrade to a newer kernel ?

Understand that these are our general guidelines but this pertain to
the ODM program in which Acelan has worked directly with Eurotech's
engineer on refining the details of this driver until he was satisfied
with the quality that deems it good enough to submit, so in this case
the Eurotech engineer who signed off this driver is our primary
contact, it's not something we randomly discovered and tried to
incorporate into our kernel. Meanwhile, we are also working with them
to push the drivers upstream. Hope this helps clarify the situation.

Thanks,
Anthony
Stefan Bader Jan. 9, 2024, 11:05 a.m. UTC | #3
On 28.12.23 04:18, AceLan Kao wrote:
> From: "Chia-Lin Kao (AceLan)" <acelan.kao@canonical.com>
> 
> BugLink: https://bugs.launchpad.net/bugs/2045385
> 
> [ Impact ]
> rtc-pcf85263 driver is needed for ODM partner
> 
> [ Test Plan ]
> Load the driver setting the timestamp level to 0 (default to 1) :
> modprobe rtc-pcf85263 tsl=0
> 
> export the rtc device:
> echo "pcf85263 0x51" > /sys/bus/i2c/devices/i2c-1/new_device
> 
> RTC device should act as a standard RTC,
> hwclock -r -f /dev/rtc1 #for reading
> hwclock -w -f /dev/rtc1 #for writing
> 
> This driver has anti-tampering function.
> Get the current tamper timestamp:
> cat /sys/class/rtc/rtc1/device/timestamp1
> 
> unmount the bottom metal panel, unscrewing the 6x T-10 screws and let the anti-tampering goes in open state.
> The timestamp should be updated to the current time.
> 
> [ Where problems could occur ]
> Events could occur on the I2C bus communication.
> 
> Chia-Lin Kao (AceLan) (1):
>    UBUNTU: [Config] updateconfigs for ODM drivers CONFIG_RTC_DRV_PCF85263
> 
> Filippo Copetti (1):
>    UBUNTU: SAUCE: ODM: rtc: add PCF85263 RTC driver
> 
>   MAINTAINERS                      |    6 +
>   debian.master/config/annotations |    1 +
>   drivers/rtc/Kconfig              |   10 +
>   drivers/rtc/Makefile             |    1 +
>   drivers/rtc/rtc-pcf85263.c       | 1784 ++++++++++++++++++++++++++++++
>   drivers/rtc/rtc-pcf85263.h       |  387 +++++++
>   6 files changed, 2189 insertions(+)
>   create mode 100644 drivers/rtc/rtc-pcf85263.c
>   create mode 100644 drivers/rtc/rtc-pcf85263.h
> 
So this adds a completely new driver we are contractually obliged to 
support. And the target is a server install which makes the GA kernel 
the right place. Still not sure whether it would not be better to also 
have these things also in the hwe backports. But that needs a bit more 
thinking as we probably want a method which activates things only when 
building in previous LTS. For now ...

Acked-by: Stefan Bader <stefan.bader@canonical.com>
Roxana Nicolescu Jan. 9, 2024, 11:54 a.m. UTC | #4
On 28/12/2023 04:18, AceLan Kao wrote:
> From: "Chia-Lin Kao (AceLan)" <acelan.kao@canonical.com>
>
> BugLink: https://bugs.launchpad.net/bugs/2045385
>
> [ Impact ]
> rtc-pcf85263 driver is needed for ODM partner
>
> [ Test Plan ]
> Load the driver setting the timestamp level to 0 (default to 1) :
> modprobe rtc-pcf85263 tsl=0
>
> export the rtc device:
> echo "pcf85263 0x51" > /sys/bus/i2c/devices/i2c-1/new_device
>
> RTC device should act as a standard RTC,
> hwclock -r -f /dev/rtc1 #for reading
> hwclock -w -f /dev/rtc1 #for writing
>
> This driver has anti-tampering function.
> Get the current tamper timestamp:
> cat /sys/class/rtc/rtc1/device/timestamp1
>
> unmount the bottom metal panel, unscrewing the 6x T-10 screws and let the anti-tampering goes in open state.
> The timestamp should be updated to the current time.
>
> [ Where problems could occur ]
> Events could occur on the I2C bus communication.
>
> Chia-Lin Kao (AceLan) (1):
>    UBUNTU: [Config] updateconfigs for ODM drivers CONFIG_RTC_DRV_PCF85263
>
> Filippo Copetti (1):
>    UBUNTU: SAUCE: ODM: rtc: add PCF85263 RTC driver
>
>   MAINTAINERS                      |    6 +
>   debian.master/config/annotations |    1 +
>   drivers/rtc/Kconfig              |   10 +
>   drivers/rtc/Makefile             |    1 +
>   drivers/rtc/rtc-pcf85263.c       | 1784 ++++++++++++++++++++++++++++++
>   drivers/rtc/rtc-pcf85263.h       |  387 +++++++
>   6 files changed, 2189 insertions(+)
>   create mode 100644 drivers/rtc/rtc-pcf85263.c
>   create mode 100644 drivers/rtc/rtc-pcf85263.h
>
Acked-by: Roxana Nicolescu <roxana.nicolescu@canonical.com>
Stefan Bader Jan. 9, 2024, 1:56 p.m. UTC | #5
On 28.12.23 04:18, AceLan Kao wrote:
> From: "Chia-Lin Kao (AceLan)" <acelan.kao@canonical.com>
> 
> BugLink: https://bugs.launchpad.net/bugs/2045385
> 
> [ Impact ]
> rtc-pcf85263 driver is needed for ODM partner
> 
> [ Test Plan ]
> Load the driver setting the timestamp level to 0 (default to 1) :
> modprobe rtc-pcf85263 tsl=0
> 
> export the rtc device:
> echo "pcf85263 0x51" > /sys/bus/i2c/devices/i2c-1/new_device
> 
> RTC device should act as a standard RTC,
> hwclock -r -f /dev/rtc1 #for reading
> hwclock -w -f /dev/rtc1 #for writing
> 
> This driver has anti-tampering function.
> Get the current tamper timestamp:
> cat /sys/class/rtc/rtc1/device/timestamp1
> 
> unmount the bottom metal panel, unscrewing the 6x T-10 screws and let the anti-tampering goes in open state.
> The timestamp should be updated to the current time.
> 
> [ Where problems could occur ]
> Events could occur on the I2C bus communication.
> 
> Chia-Lin Kao (AceLan) (1):
>    UBUNTU: [Config] updateconfigs for ODM drivers CONFIG_RTC_DRV_PCF85263
> 
> Filippo Copetti (1):
>    UBUNTU: SAUCE: ODM: rtc: add PCF85263 RTC driver
> 
>   MAINTAINERS                      |    6 +
>   debian.master/config/annotations |    1 +
>   drivers/rtc/Kconfig              |   10 +
>   drivers/rtc/Makefile             |    1 +
>   drivers/rtc/rtc-pcf85263.c       | 1784 ++++++++++++++++++++++++++++++
>   drivers/rtc/rtc-pcf85263.h       |  387 +++++++
>   6 files changed, 2189 insertions(+)
>   create mode 100644 drivers/rtc/rtc-pcf85263.c
>   create mode 100644 drivers/rtc/rtc-pcf85263.h
> 

Applied to jammy:linux/master-next. Thanks.

-Stefan