Re: [PATCH] serio.c: dynamically control serio ports bindings via procfs (Was: [RFC/RFT] Raw access to serio ports)

From: Sau Dan Lee
Date: Thu Jun 03 2004 - 02:26:03 EST


>>>>> "Dmitry" == Dmitry Torokhov <dtor_core@xxxxxxxxxxxxx> writes:

>> Unfortunately, the connection between devices and drivers
>> (either in the serio.c interface or in the input.c interface)
>> is a graph. It is more complicated than an array. Yes, you
>> can represent a graph with a matrix or an adjacency list, both
>> representable as arrays in one way or another. Nothing in a
>> digital computer cannot be represented by an array of bits
>> anyway! But useability of the interface must not be ignored.
>>

Dmitry> I am not sure where you see the problem - consider a PCI
Dmitry> bus and all PCI devices and all drivers tyhat currently
Dmitry> present in kernel. They are using the new driver model and
Dmitry> sysfs and they come together quite nicely.

# ls -l /sys/bus/pci/devices/0000:01:00.0

-r--r--r-- 1 root root class
-rw-r--r-- 1 root root config
-rw-r--r-- 1 root root detach_state
-r--r--r-- 1 root root device
-r--r--r-- 1 root root irq
drwxr-xr-x 2 root root power
-r--r--r-- 1 root root resource
-r--r--r-- 1 root root subsystem_device
-r--r--r-- 1 root root subsystem_vendor
-r--r--r-- 1 root root vendor

# ls -l /sys/bus/pci/drivers/PIIX\ IDE

lrwxrwxrwx 1 root root 17:20 0000:00:07.1 ->
../../../../devices/pci0000:00/0000:00:07.1
--w------- 1 root root 17:20 new_id


The info are binary (shown in 0x???? notation). Each reflects
directly the binary value of the corresponding 'attribute'.

1) None of these are arrays. But in the input system, each device can
be attached to _multiple_ handlers, and each handler can handle
_multiple_ devices. That's an n-to-n relation.

2) I can't find out how to dynamically change the driver of a PCI
device.

3) PCI device<-->handler is a many-to-one relation. The input system
is many-to-many.

4) How to display/parse a device<-->handler connection? You want to
show and accept a pointer value?

The sysfs interface looks very confusing to me.




--
Sau Dan LEE ???(Big5) ~{@nJX6X~}(HZ)

E-mail: danlee@xxxxxxxxxxxxxxxxxxxxxxxxxx
Home page: http://www.informatik.uni-freiburg.de/~danlee

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/