drivers/hid/hid-penmount.c

Source file repositories/reference/linux-study-clean/drivers/hid/hid-penmount.c

File Facts

System
Linux kernel
Corpus path
drivers/hid/hid-penmount.c
Extension
.c
Size
1253 bytes
Lines
51
Domain
Driver Families
Bucket
drivers/hid
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

if (((usage->hid - 1) & HID_USAGE) == 0) {
			hid_map_usage(hi, usage, bit, max, EV_KEY, BTN_TOUCH);
			return 1;
		} else {
			return -1;
		}
	}

	return 0;
}

static const struct hid_device_id penmount_devices[] = {
	{ HID_USB_DEVICE(USB_VENDOR_ID_PENMOUNT, USB_DEVICE_ID_PENMOUNT_6000) },
	{ }
};
MODULE_DEVICE_TABLE(hid, penmount_devices);

static struct hid_driver penmount_driver = {
	.name = "hid-penmount",
	.id_table = penmount_devices,
	.input_mapping = penmount_input_mapping,
};

module_hid_driver(penmount_driver);

MODULE_AUTHOR("Christian Gmeiner <christian.gmeiner@gmail.com>");
MODULE_DESCRIPTION("PenMount HID TouchScreen driver");
MODULE_LICENSE("GPL");

Annotation

Implementation Notes