在哪里可以按文件名查找 Linux 内核驱动程序文档

在哪里可以按文件名查找 Linux 内核驱动程序文档

简单的、顶级的问题(令人抓狂的是,我的谷歌搜索水平却令人抓狂):

在我的(诚然已经过时的)机器中查看,我发现以下文件:

/lib/modules/4.9.0-0.bpo.14-amd64/kernel/drivers/input/keyboard/max7359_keypad.ko

如何确定该驱动程序可寻址哪种类型的键盘?寻找一个以非程序员也可以访问的方式提供信息的来源。

答案1

没有任何信息来源可以保证非程序员可以访问。

然而,您可以使用一些工具来确定给定内核模块的用途(这就是您正在查看的文件的用途);第一个是

sudo modinfo max7359_keypad

这将为您提供该模块的简短描述:

MAX7359按键开关控制器驱动器

这并没有说明太多,但它确实表明它不是支持特定键盘型号(或系列)的驱动程序。网络搜索将引导您找到MAX7359 的制造商页面这会告诉您更多信息,至少它可能与大多数最终用户无关。

答案2

如果您使用系统包管理实用程序下载 Linux 源代码或克隆 Linux 源代码 Git 存储库,您可以获得更多信息。例如(我使用股份公司):

$ cd /usr/src/linux
$ ag max7359_keypad
drivers/input/keyboard/Kconfig
425:      module will be called max7359_keypad.

drivers/input/keyboard/max7359_keypad.c
3: * max7359_keypad.c - MAX7359 Key Switch Controller Driver
56:struct max7359_keypad {
87:     struct max7359_keypad *keypad = dev_id;
129:    struct max7359_keypad *keypad = input_get_drvdata(dev);
138:    struct max7359_keypad *keypad = input_get_drvdata(dev);
163:    struct max7359_keypad *keypad;
182:    keypad = devm_kzalloc(&client->dev, sizeof(struct max7359_keypad),

drivers/input/keyboard/Makefile
41:obj-$(CONFIG_KEYBOARD_MAX7359)               += max7359_keypad.o

在 drivers/input/keyboard/Kconfig 中它说:

config KEYBOARD_MAX7359
    tristate "Maxim MAX7359 Key Switch Controller"
    select INPUT_MATRIXKMAP
    depends on I2C
    help
      If you say yes here you get support for the Maxim MAX7359 Key
      Switch Controller chip. This providers microprocessors with
      management of up to 64 key switches

      To compile this driver as a module, choose M here: the
      module will be called max7359_keypad.

drivers/input/keyboard/max7359_keypad.c 是驱动程序实现:

// SPDX-License-Identifier: GPL-2.0-only
/*
 * max7359_keypad.c - MAX7359 Key Switch Controller Driver
 *
 * Copyright (C) 2009 Samsung Electronics
 * Kim Kyuwon <[email protected]>
 *
 * Based on pxa27x_keypad.c
 *
 * Datasheet: http://www.maxim-ic.com/quick_view2.cfm/qv_pk/5456
 */

相关内容