From 2c2c41eb10e9ce7b7ae1550615f1fb48fbaa9e10 Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Tue, 27 Jan 2009 21:47:39 -0200 Subject: Add a small utility for retrieving sysfs bus path From: Mauro Carvalho Chehab Thanks to Carsten Meier for providing us a c++ code snippet for USB. This code is capable of getting the bus info for both USB and PCI devices. This is retrieved via bus_info returned by VIDIOC_QUERYCAP. The utility will output the following info for a usb device: bus info = usb-0000:00:1d.7-1 bus path = /sys/devices/pci0000:00/0000:00:1d.7/usb2/2-1 And, for PCI devices, it will output: bus info = PCI:0000:01:02.0 bus path = /sys/devices/pci0000:00/0000:00:1e.0/0000:01:02.0 Notice: This will only work for devices that uses the standard notation for the bus info: on PCI: sprintf(cap->bus_info, "PCI:%s", pci_name(dev->pci)); or sprintf(cap->bus_info, "PCIe:%s", pci_name(dev->pci)); on USB: usb_make_path(dev->udev, cap->bus_info, sizeof(cap->bus_info)); Priority: normal Signed-off-by: Mauro Carvalho Chehab --- v4l2-apps/util/Makefile | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'v4l2-apps/util/Makefile') diff --git a/v4l2-apps/util/Makefile b/v4l2-apps/util/Makefile index b80de190b..f2c4c0a38 100644 --- a/v4l2-apps/util/Makefile +++ b/v4l2-apps/util/Makefile @@ -7,7 +7,7 @@ endif CPPFLAGS += -I../include -D_GNU_SOURCE LDFLAGS += -lm -binaries = v4l2-ctl v4l2-dbg v4l2-compliance ivtv-ctl cx18-ctl +binaries = v4l2-ctl v4l2-dbg v4l2-compliance ivtv-ctl cx18-ctl v4l2_sysfs_path ifeq ($(prefix),) prefix = /usr @@ -34,6 +34,14 @@ v4l2-dbg: v4l2-dbg.o v4l2-chipids.o v4l2-dbg.o: v4l2-dbg.h v4l2-dbg-bttv.h v4l2-dbg-em28xx.h v4l2-dbg-saa7134.h +v4l2_sysfs_path.o: v4l2_sysfs_path.c ../lib/v4l2_driver.h + +v4l2_sysfs_path: v4l2_sysfs_path.o ../lib/libv4l2.a + $(CC) $^ -o $@ -lsysfs + +../lib/libv4l2.a: + $(MAKE) -C ../lib libv4l2.a + install: mkdir -p $(prefix)/bin cp $(binaries) $(prefix)/bin -- cgit v1.2.3