Hello,
I was looking at the code and ACPI for a number of different embedded
controllers while adding support for a Lenovo mainboard.
The mainboard in question has an EC nearly identical to the Twist S230U
(Compal KB9012), so I planned to factor out the S230U's EC code/ACPI
into its own chip.
While doing this, I noticed there were several duplicate functions
across the `ec/` directory, so I'd like to potentially submit some
patches to clean them up. However, I'm not sure of the best way to
go about this.
The following is what I currently have in mind:
- Removing most individual `ec_write_cmd()`
and similar functions andreplacing calls with their respective `ec/acpi/ec.c` library functions
- Removing individual `kbc_` polling functions and sharing the ones defined
in `drivers/pc80/keyboard.c`
- Should public library functions for sending and receiving data from
a PC80 keyboard controller be defined in the PC80 driver and exported
in `include/pc80/keyboard.h`?
- We already have `send_keyboard()` there,
which sends a command and receives data - would it be good to add
individual functions for those operations as well?
Any suggestions or recommendations would be appreciated. I looked for
guidelines on suggested code organization in the docs/commit history/
mailing list, but came up mostly empty-handed.
Thanks!