간단하고 최상위 수준의 질문입니다(그리고 내 인터넷 검색 기술은 정말 미친 수준입니다).
내 (오래된) 컴퓨터를 살펴보면 다음 파일을 발견했습니다.
/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
*/