When in kernel source code, make this work:

$grep-func-call -e "device_driver\s+\w.*;"  --nc -a

output:

-*- mode: grep; default-directory: "~/src/android/kernel/kernel/include/linux/" -*-
Grep started at Thu Aug 15 14:55:11

grep-func-call -e "device_driver\s+\w.*;"  --nc -a

Beagrep index found at /home/bhj/.cache/for-code-reading//home/bhj/src/android/kernel/kernel/.beagrep
/home/bhj/src/android/kernel/kernel/include/linux/hid.h:640: <= struct hid_driver {
/home/bhj/src/android/kernel/kernel/include/linux/hid.h:677: >= 	struct device_driver driver;
/home/bhj/src/android/kernel/kernel/include/linux/i2c.h:161: <= struct i2c_driver {
/home/bhj/src/android/kernel/kernel/include/linux/i2c.h:192: >= 	struct device_driver driver;
/home/bhj/src/android/kernel/kernel/include/linux/mmc/card.h:477: <= struct mmc_driver {
/home/bhj/src/android/kernel/kernel/include/linux/mmc/card.h:478: >= 	struct device_driver drv;
/home/bhj/src/android/kernel/kernel/include/linux/mmc/sdio_func.h:94: <= struct sdio_driver {
/home/bhj/src/android/kernel/kernel/include/linux/mmc/sdio_func.h:101: >= 	struct device_driver drv;
/home/bhj/src/android/kernel/kernel/include/linux/of_platform.h:61: <= struct of_platform_driver
/home/bhj/src/android/kernel/kernel/include/linux/of_platform.h:71: >= 	struct device_driver	driver;
/home/bhj/src/android/kernel/kernel/include/linux/pci.h:544: <= struct pci_driver {
/home/bhj/src/android/kernel/kernel/include/linux/pci.h:556: >= 	struct device_driver	driver;
/home/bhj/src/android/kernel/kernel/include/linux/platform_device.h:164: <= struct platform_driver {
/home/bhj/src/android/kernel/kernel/include/linux/platform_device.h:170: >= 	struct device_driver driver;
/home/bhj/src/android/kernel/kernel/include/linux/serio.h:58: <= struct serio_driver {
/home/bhj/src/android/kernel/kernel/include/linux/serio.h:71: >= 	struct device_driver driver;
/home/bhj/src/android/kernel/kernel/include/linux/spi/spi.h:176: <= struct spi_driver {
/home/bhj/src/android/kernel/kernel/include/linux/spi/spi.h:183: >= 	struct device_driver	driver;
/home/bhj/src/android/kernel/kernel/include/linux/usb/gadget.h:835: <= struct usb_gadget_driver {
/home/bhj/src/android/kernel/kernel/include/linux/usb/gadget.h:846: >= 	struct device_driver	driver;
/home/bhj/src/android/kernel/kernel/include/linux/usb.h:808: <= struct usbdrv_wrap {
/home/bhj/src/android/kernel/kernel/include/linux/usb.h:809: >= 	struct device_driver driver;
/home/bhj/src/android/kernel/kernel/include/linux/virtio.h:89: <= struct virtio_driver {
/home/bhj/src/android/kernel/kernel/include/linux/virtio.h:90: >= 	struct device_driver driver;
/home/bhj/src/android/kernel/kernel/include/scsi/scsi_driver.h:13: <= struct scsi_driver {
/home/bhj/src/android/kernel/kernel/include/scsi/scsi_driver.h:15: >= 	struct device_driver	gendrv;

Grep finished (matches found) at Thu Aug 15 14:55:12

Signed-off-by: Bao Haojun <baohaojun@gmail.com>