|
@@ -156,6 +156,12 @@ static const struct file_operations fops_vring = {
|
|
|
.llseek = seq_lseek,
|
|
|
};
|
|
|
|
|
|
+static void wil_seq_hexdump(struct seq_file *s, void *p, int len,
|
|
|
+ const char *prefix)
|
|
|
+{
|
|
|
+ seq_hex_dump(s, prefix, DUMP_PREFIX_NONE, 16, 1, p, len, false);
|
|
|
+}
|
|
|
+
|
|
|
static void wil_print_ring(struct seq_file *s, const char *prefix,
|
|
|
void __iomem *off)
|
|
|
{
|
|
@@ -212,8 +218,6 @@ static void wil_print_ring(struct seq_file *s, const char *prefix,
|
|
|
le16_to_cpu(hdr.seq), len,
|
|
|
le16_to_cpu(hdr.type), hdr.flags);
|
|
|
if (len <= MAX_MBOXITEM_SIZE) {
|
|
|
- int n = 0;
|
|
|
- char printbuf[16 * 3 + 2];
|
|
|
unsigned char databuf[MAX_MBOXITEM_SIZE];
|
|
|
void __iomem *src = wmi_buffer(wil, d.addr) +
|
|
|
sizeof(struct wil6210_mbox_hdr);
|
|
@@ -223,16 +227,7 @@ static void wil_print_ring(struct seq_file *s, const char *prefix,
|
|
|
* reading header
|
|
|
*/
|
|
|
wil_memcpy_fromio_32(databuf, src, len);
|
|
|
- while (n < len) {
|
|
|
- int l = min(len - n, 16);
|
|
|
-
|
|
|
- hex_dump_to_buffer(databuf + n, l,
|
|
|
- 16, 1, printbuf,
|
|
|
- sizeof(printbuf),
|
|
|
- false);
|
|
|
- seq_printf(s, " : %s\n", printbuf);
|
|
|
- n += l;
|
|
|
- }
|
|
|
+ wil_seq_hexdump(s, databuf, len, " : ");
|
|
|
}
|
|
|
} else {
|
|
|
seq_puts(s, "\n");
|
|
@@ -867,22 +862,6 @@ static const struct file_operations fops_wmi = {
|
|
|
.open = simple_open,
|
|
|
};
|
|
|
|
|
|
-static void wil_seq_hexdump(struct seq_file *s, void *p, int len,
|
|
|
- const char *prefix)
|
|
|
-{
|
|
|
- char printbuf[16 * 3 + 2];
|
|
|
- int i = 0;
|
|
|
-
|
|
|
- while (i < len) {
|
|
|
- int l = min(len - i, 16);
|
|
|
-
|
|
|
- hex_dump_to_buffer(p + i, l, 16, 1, printbuf,
|
|
|
- sizeof(printbuf), false);
|
|
|
- seq_printf(s, "%s%s\n", prefix, printbuf);
|
|
|
- i += l;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
static void wil_seq_print_skb(struct seq_file *s, struct sk_buff *skb)
|
|
|
{
|
|
|
int i = 0;
|