Re: PATCH: linux-2.4.7-pre3/drivers/char/sonypi.c would hang some non-Sony notebooks

2001-07-08 Thread Robert J.Dunlop

Hi again,

On Sun, Jul 08, 2001 at 03:26:48AM -0700, Adam J. Richter wrote:
> 
>   Yes, although that is a task that is never complete.  So, I
> would recommend that we adopt a simple test that should work into the
> stock kernels with the expectation that the test will probably be
> refined in the future.  Perhaps we could check the Cardbus bridge.
> Does "lspci -v" on your Sony Vaio indicate that its cardbus bridge
> have a subsystem vendor ID of Sony?

OK. lspic -v shows

  CardBus bridge: Ricoh Co Ltd RL5c475 (rev 80)
  Subsystem: Sony Corporation: Unknown device 8082

Class 0x0607, vendor 0x1180, dev 0x0x0475, subv 0x104D, subd 0x8082

I guess that's a pretty safe signature if the other VAIO lap and
palmtops have it.

-- 
Bob Dunlop
[EMAIL PROTECTED]
www.xyzzy.clara.co.uk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



Re: PATCH: linux-2.4.7-pre3/drivers/char/sonypi.c would hang some non-Sony notebooks

2001-07-08 Thread arjan

In article <[EMAIL PROTECTED]> you wrote:

> I guess this'll still pickup Sony desktops.
> Perhaps we need a survey of lspci -nv results for sony and non-sony
> machines ?

The DMI table might be bettur up to this job instead...
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



Re: PATCH: linux-2.4.7-pre3/drivers/char/sonypi.c would hang some non-Sony notebooks

2001-07-08 Thread Adam J. Richter

>From: "Robert J.Dunlop" <[EMAIL PROTECTED]>
>Hi,

>First off, it works for me on my VAIO PCG-Z600NE.

Great.  Thanks for testing it!

[...]
>Just a niggle however. This still isn't a very good test to finding a
>Sony laptop. What'll happen on machines that have any sort of Sony
>plugin device ?

>How's about we test for a machine that has a host bridge with the Sony
>subvendor ID, rather than any device.

On my Sony Vaio C1VN PictureBook, the host bridge subsystem
vendor ID is Transmeta, not Sony.  The device with the Sony subsystem
vendor ID are the firewire controller, sound devices, soft modem,
cardbus bridge and video.  So, you could would not work on it (although
I did not actually try it).

>I guess this'll still pickup Sony desktops.

Sony desktops are also called "Vaio."  I do not know whether
they have the hardware that sonypi tries to talk to.


>Perhaps we need a survey of lspci -nv results for sony and non-sony
>machines ?

Yes, although that is a task that is never complete.  So, I
would recommend that we adopt a simple test that should work into the
stock kernels with the expectation that the test will probably be
refined in the future.  Perhaps we could check the Cardbus bridge.
Does "lspci -v" on your Sony Vaio indicate that its cardbus bridge
have a subsystem vendor ID of Sony?

Adam J. Richter __ __   4880 Stevens Creek Blvd, Suite 104
[EMAIL PROTECTED] \ /  San Jose, California 95129-1034
+1 408 261-6630 | g g d r a s i l   United States of America
fax +1 408 261-6631  "Free Software For The Rest Of Us."
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



Re: PATCH: linux-2.4.7-pre3/drivers/char/sonypi.c would hang some non-Sony notebooks

2001-07-08 Thread Robert J.Dunlop

Hi,

First off, it works for me on my VAIO PCG-Z600NE.


On Sun, Jul 08, 2001 at 09:30:44AM +0100, Adam J. Richter wrote:
>   The pci_device_id tables in linux-2.4.7-pre3/drivers/char/sonypi.c
> claims that the driver wants to be loaded on all computers that have
> an that have a PCI device with vendor id PCI_VENDOR_ID_INTEL and
...
> "lspci -v" on my Sony Vaio Picturebook, I see that, while none of the
> PCI devices have Sony's vendor ID, a number of them have Sony's
> vendor ID as their subsystem vendor ID's.  So, I have implemented the


Just a niggle however. This still isn't a very good test to finding a
Sony laptop. What'll happen on machines that have any sort of Sony
plugin device ?

How's about we test for a machine that has a host bridge with the Sony
subvendor ID, rather than any device.


WARNING!! untested code.

static int __init sonypi_init_module(void) {
struct pci_dev *dev;

if ((dev = pci_find_class(PCI_CLASS_BRIDGE_HOST << 8, NULL)) == NULL)
return -ENODEV; /* Bizzare. No host bridge */

if (dev->subsystem_vendor != PCI_VENDOR_ID_SONY)
return -ENODEV; /* Not a Sony machine */

return pci_module_init(&sonypi_driver);
}


I guess this'll still pickup Sony desktops.
Perhaps we need a survey of lspci -nv results for sony and non-sony
machines ?


-- 
Bob Dunlop
[EMAIL PROTECTED]
www.xyzzy.clara.co.uk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



PATCH: linux-2.4.7-pre3/drivers/char/sonypi.c would hang some non-Sony notebooks

2001-07-07 Thread Adam J. Richter

The pci_device_id tables in linux-2.4.7-pre3/drivers/char/sonypi.c
claims that the driver wants to be loaded on all computers that have
an that have a PCI device with vendor id PCI_VENDOR_ID_INTEL and
a device ID of either PCI_DEVICE_ID_INTEL_82371AB_3 (0x7110) or
PCI_DEVICE_ID_INTEL_82801BA_10 (0x244c).  My Kapok 1100m notebook
computer has an Intel 82371ab, so the sonypi module automatically
loads at boot time and hangs the computer.

sonypi_init_module needs to do some kind of test to figure out
if it is on a Sony Vaio and abort otherwise.  Looking at the result of
"lspci -v" on my Sony Vaio Picturebook, I see that, while none of the
PCI devices have Sony's vendor ID, a number of them have Sony's
vendor ID as their subsystem vendor ID's.  So, I have implemented the
following test to cause sonypi only to be loadable on machines that
have at least one PCI device that has a subsystem vendor ID of
PCI_VENDOR_ID_SONY.

-- 
Adam J. Richter __ __   4880 Stevens Creek Blvd, Suite 104
[EMAIL PROTECTED] \ /  San Jose, California 95129-1034
+1 408 261-6630 | g g d r a s i l   United States of America
fax +1 408 261-6631  "Free Software For The Rest Of Us."


--- linux-2.4.7-pre3/drivers/char/sonypi.c  Sat Jul  7 18:00:12 2001
+++ linux/drivers/char/sonypi.c Sat Jul  7 18:00:28 2001
@@ -690,7 +690,11 @@
 };
 
 static int __init sonypi_init_module(void) {
-   return pci_module_init(&sonypi_driver);
+   if (pci_find_subsys(PCI_ANY_ID, PCI_ANY_ID,
+   PCI_VENDOR_ID_SONY, PCI_ANY_ID, NULL) != NULL)
+   return pci_module_init(&sonypi_driver);
+   else
+   return -ENODEV;
 }
 
 static void __exit sonypi_cleanup_module(void) {