Thread (8 messages) 8 messages, 2 authors, 2019-03-19

Re: [PATCH v2 2/2] Input: add Apple SPI keyboard and trackpad driver.

From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date: 2019-02-26 08:51:36
Also in: lkml

On Mon, Feb 25, 2019 at 12:05:29AM -0800, Life is hard, and then you die wrote:
On Thu, Feb 21, 2019 at 02:56:09AM -0800, Ronald Tschalär wrote:
quoted
The keyboard and trackpad on recent MacBook's (since 8,1) and
MacBookPro's (13,* and 14,*) are attached to an SPI controller instead
of USB, as previously. The higher level protocol is not publicly
documented and hence has been reverse engineered. As a consequence there
are still a number of unknown fields and commands. However, the known
parts have been working well and received extensive testing and use.

In order for this driver to work, the proper SPI drivers need to be
loaded too; for MB8,1 these are spi_pxa2xx_platform and spi_pxa2xx_pci;
for all others they are spi_pxa2xx_platform and intel_lpss_pci. For this
reason enabling this driver in the config implies enabling the above
drivers.
quoted
+/**
+ * This is a reduced version of print_hex_dump() that uses dev_printk().
+ */
...and this should follow kernel doc as stated by comment style.
quoted
+static void dev_print_hex_dump(const char *level, const struct device *dev,
+			       const char *prefix_str,
+			       int rowsize, int groupsize,
+			       const void *buf, size_t len, bool ascii)
+{
+	const u8 *ptr = buf;
+	int i, linelen, remaining = len;
+	unsigned char linebuf[32 * 3 + 2 + 32 + 1];
+
+	if (rowsize != 16 && rowsize != 32)
+		rowsize = 16;
+
+	for (i = 0; i < len; i += rowsize) {
+		linelen = min(remaining, rowsize);
+		remaining -= rowsize;
+
+		hex_dump_to_buffer(ptr + i, linelen, rowsize, groupsize,
+				   linebuf, sizeof(linebuf), ascii);
+
+		dev_printk(level, dev, "%s%s\n", prefix_str, linebuf);
+	}
+}
Apologies, I should've have fixed this before posting v2: I'll
introduce an additional patch to add this function to the core to
avoid duplication and because I presume this may be useful for others
too.
Yes, makes sense.

-- 
With Best Regards,
Andy Shevchenko
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help