vivaldi-fmap.c (1000B)
1// SPDX-License-Identifier: GPL-2.0 2/* 3 * Helpers for ChromeOS Vivaldi keyboard function row mapping 4 * 5 * Copyright (C) 2022 Google, Inc 6 */ 7 8#include <linux/export.h> 9#include <linux/input/vivaldi-fmap.h> 10#include <linux/kernel.h> 11#include <linux/module.h> 12#include <linux/types.h> 13 14/** 15 * vivaldi_function_row_physmap_show - Print vivaldi function row physmap attribute 16 * @data: The vivaldi function row map 17 * @buf: Buffer to print the function row phsymap to 18 */ 19ssize_t vivaldi_function_row_physmap_show(const struct vivaldi_data *data, 20 char *buf) 21{ 22 ssize_t size = 0; 23 int i; 24 const u32 *physmap = data->function_row_physmap; 25 26 if (!data->num_function_row_keys) 27 return 0; 28 29 for (i = 0; i < data->num_function_row_keys; i++) 30 size += scnprintf(buf + size, PAGE_SIZE - size, 31 "%s%02X", size ? " " : "", physmap[i]); 32 if (size) 33 size += scnprintf(buf + size, PAGE_SIZE - size, "\n"); 34 35 return size; 36} 37EXPORT_SYMBOL_GPL(vivaldi_function_row_physmap_show); 38 39MODULE_LICENSE("GPL");