Re: [PATCH]is_power_of_2-kernel/kfifo.c

2007-06-14 Thread Stelian Pop
On Thu, Jun 14, 2007 at 04:05:06PM +0530, vignesh babu wrote:
> 
> 
> Replacing (n & (n-1)) in the context of power of 2 checks
> with is_power_of_2
> 
> Signed-off-by: vignesh babu <[EMAIL PROTECTED]>

Signed-off-by: Stelian Pop <[EMAIL PROTECTED]>

Thanks,

Stelian.
-- 
Stelian Pop <[EMAIL PROTECTED]>
-
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]is_power_of_2-kernel/kfifo.c

2007-06-14 Thread Stelian Pop
On Thu, Jun 14, 2007 at 04:05:06PM +0530, vignesh babu wrote:
 
 
 Replacing (n  (n-1)) in the context of power of 2 checks
 with is_power_of_2
 
 Signed-off-by: vignesh babu [EMAIL PROTECTED]

Signed-off-by: Stelian Pop [EMAIL PROTECTED]

Thanks,

Stelian.
-- 
Stelian Pop [EMAIL PROTECTED]
-
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: [RFC][PATCH 1/1] support for user-space buffers in kfifo

2007-06-13 Thread Stelian Pop
Le mardi 12 juin 2007 à 21:21 -0500, Nelson Castillo a écrit :
> On 6/12/07, Stelian Pop <[EMAIL PROTECTED]> wrote:
> > Le mardi 12 juin 2007 à 11:24 -0500, Nelson Castillo a écrit :
> > > On 6/12/07, Stelian Pop <[EMAIL PROTECTED]> wrote:
> > > (cut)
> > > > accessing userspace memory with a spinlock taken (moreover an
> > > > irqsave()
> > > > one) is bad bad bad.
> > >
> > > Hi Stelian.
> > >
> > > I'm sending the new patch without kfifo_put_user and kfifo_get_user.
> > 
> > Ok, I have a few formatting/documentation comments:
> 
> Applied, thanks.
> 
> > Other than that I'm ok with this patch.
> 
> Submitting.
> 
> Regards, Nelson.-
> 
> Signed-off-by: Nelson Castillo <[EMAIL PROTECTED]>

Signed-off-by: Stelian Pop <[EMAIL PROTECTED]>

Thanks,

Stelian.

-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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: [RFC][PATCH 1/1] support for user-space buffers in kfifo

2007-06-13 Thread Stelian Pop
Le mardi 12 juin 2007 à 21:21 -0500, Nelson Castillo a écrit :
 On 6/12/07, Stelian Pop [EMAIL PROTECTED] wrote:
  Le mardi 12 juin 2007 à 11:24 -0500, Nelson Castillo a écrit :
   On 6/12/07, Stelian Pop [EMAIL PROTECTED] wrote:
   (cut)
accessing userspace memory with a spinlock taken (moreover an
irqsave()
one) is bad bad bad.
  
   Hi Stelian.
  
   I'm sending the new patch without kfifo_put_user and kfifo_get_user.
  
  Ok, I have a few formatting/documentation comments:
 
 Applied, thanks.
 
  Other than that I'm ok with this patch.
 
 Submitting.
 
 Regards, Nelson.-
 
 Signed-off-by: Nelson Castillo [EMAIL PROTECTED]

Signed-off-by: Stelian Pop [EMAIL PROTECTED]

Thanks,

Stelian.

-- 
Stelian Pop [EMAIL PROTECTED]

-
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: [RFC][PATCH 1/1] support for user-space buffers in kfifo

2007-06-12 Thread Stelian Pop
Le mardi 12 juin 2007 à 11:24 -0500, Nelson Castillo a écrit :
> On 6/12/07, Stelian Pop <[EMAIL PROTECTED]> wrote:
> (cut)
> > accessing userspace memory with a spinlock taken (moreover an
> > irqsave()
> > one) is bad bad bad.
> 
> Hi Stelian.
> 
> I'm sending the new patch without kfifo_put_user and kfifo_get_user.

Ok, I have a few formatting/documentation comments:

> + * This function copies at most @len bytes from the @buffer into
> + * the FIFO depending on the free space, and returns the number of
> + * bytes copied.

... or -EFAULT if copy_from_user fails

> + *
> + * Note that with only one concurrent reader and one concurrent
> + * writer, you don't need extra locking to use these functions.
> + */
> +int __kfifo_put_user(struct kfifo *fifo, const unsigned char __user *buffer,
> + unsigned int len)

spacing ?

> + if(copy_from_user(fifo->buffer + (fifo->in & (fifo->size - 1)),
> +   buffer, l))

leave a space after the if please

> + * This function copies at most @len bytes from the FIFO into the
> + * @buffer and returns the number of copied bytes.

or -EFAULT

> + *
> + * Note that with only one concurrent reader and one concurrent
> + * writer, you don't need extra locking to use these functions.
> + */
> +
> +int __kfifo_get_user(struct kfifo *fifo,
> +  unsigned char __user *buffer, unsigned int len)

spacing.

Other than that I'm ok with this patch.

Thanks,

Stelian.
-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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: [RFC][PATCH 1/1] support for user-space buffers in kfifo

2007-06-12 Thread Stelian Pop
Le lundi 11 juin 2007 à 16:26 -0500, Nelson Castillo a écrit :
> Hi.
> 
> I just added support for user space buffers in kfifo. I found useful
> __kfifo_get_user to copy data to a user buffer in a read call. I didn't
> like the idea of having an extra buffer.
> 
> * Is it ok to add this support?

I suppose it is, however:

> + spin_lock_irqsave(fifo->lock, flags);
> +
> + ret = __kfifo_put_user(fifo, buffer, len);
> +
> + spin_unlock_irqrestore(fifo->lock, flags);
[...]

> +int __kfifo_put_user(struct kfifo *fifo, const unsigned char __user *buffer,
> + unsigned int len)
[...]

> + if(copy_from_user(fifo->buffer + (fifo->in & (fifo->size - 1)),
> +   buffer, l))
> + return  -EFAULT;
[...]

accessing userspace memory with a spinlock taken (moreover an irqsave()
one) is bad bad bad.

Stelian.
-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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: [RFC][PATCH 1/1] support for user-space buffers in kfifo

2007-06-12 Thread Stelian Pop
Le lundi 11 juin 2007 à 16:26 -0500, Nelson Castillo a écrit :
 Hi.
 
 I just added support for user space buffers in kfifo. I found useful
 __kfifo_get_user to copy data to a user buffer in a read call. I didn't
 like the idea of having an extra buffer.
 
 * Is it ok to add this support?

I suppose it is, however:

 + spin_lock_irqsave(fifo-lock, flags);
 +
 + ret = __kfifo_put_user(fifo, buffer, len);
 +
 + spin_unlock_irqrestore(fifo-lock, flags);
[...]

 +int __kfifo_put_user(struct kfifo *fifo, const unsigned char __user *buffer,
 + unsigned int len)
[...]

 + if(copy_from_user(fifo-buffer + (fifo-in  (fifo-size - 1)),
 +   buffer, l))
 + return  -EFAULT;
[...]

accessing userspace memory with a spinlock taken (moreover an irqsave()
one) is bad bad bad.

Stelian.
-- 
Stelian Pop [EMAIL PROTECTED]

-
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: [RFC][PATCH 1/1] support for user-space buffers in kfifo

2007-06-12 Thread Stelian Pop
Le mardi 12 juin 2007 à 11:24 -0500, Nelson Castillo a écrit :
 On 6/12/07, Stelian Pop [EMAIL PROTECTED] wrote:
 (cut)
  accessing userspace memory with a spinlock taken (moreover an
  irqsave()
  one) is bad bad bad.
 
 Hi Stelian.
 
 I'm sending the new patch without kfifo_put_user and kfifo_get_user.

Ok, I have a few formatting/documentation comments:

 + * This function copies at most @len bytes from the @buffer into
 + * the FIFO depending on the free space, and returns the number of
 + * bytes copied.

... or -EFAULT if copy_from_user fails

 + *
 + * Note that with only one concurrent reader and one concurrent
 + * writer, you don't need extra locking to use these functions.
 + */
 +int __kfifo_put_user(struct kfifo *fifo, const unsigned char __user *buffer,
 + unsigned int len)

spacing ?

 + if(copy_from_user(fifo-buffer + (fifo-in  (fifo-size - 1)),
 +   buffer, l))

leave a space after the if please

 + * This function copies at most @len bytes from the FIFO into the
 + * @buffer and returns the number of copied bytes.

or -EFAULT

 + *
 + * Note that with only one concurrent reader and one concurrent
 + * writer, you don't need extra locking to use these functions.
 + */
 +
 +int __kfifo_get_user(struct kfifo *fifo,
 +  unsigned char __user *buffer, unsigned int len)

spacing.

Other than that I'm ok with this patch.

Thanks,

Stelian.
-- 
Stelian Pop [EMAIL PROTECTED]

-
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/


PREEMPT_RT + HRT latencies on x86_64 SMP.

2007-01-31 Thread Stelian Pop
Hi,

I have a dual Opteron dual-core machine here and while it behaves quite
well on PREEMPT_RT when using the clock_nanosleep() tests, it doesn't
work so well when using the timer primitives.

I ran the tests on 2.6.20-rc6-rt6 - using the precompiled x86_64 kernel
from Ingo's yum repository. The box is running RHEL 4, libc 2.3.4.

The latencies are reproductible even without any specific load and even
when using cyclictest on one or two threads only:
./cyclictest -b 1 -t 2 -p 90

1) a standard run gives a few latencies, like in:

0.57 0.16 0.32 1/150 3754 
T: 0 ( 3732) P:90 I:1000 C:  10109 Min: 46 Act:   95 Avg:   93 Max: 240
T: 1 ( 3733) P:89 I:1500 C:   6741 Min: 52 Act:   92 Avg:   93 Max: 178

Are the maximum latencies observed here (values around 200-300 us are
common) the expected ones ? Or are they caused by some problems which
needs to be investigated ?

2) some big latencies (>10 ms) are observed in some conditions. I
haven't been able to point out exactly what external activity - if any -
causes this, but it seems to happen every 10 minutes or so :

1.82 1.86 1.53 6/150 3658
T: 0 ( 3621) P:90 I:1000 C:1596828 Min: 20 Act:   25 Avg:   93 Max: 512
T: 1 ( 3622) P:89 I:1500 C:1064525 Min: 53 Act:   95 Avg:   94 Max:   15586

I have captured a latency trace for the above run (using cyclictest -b
as shown above), but I'm not sure it makes much sense. It weights almost
4 MB, so I'll not put in inline, get it from:
http://www.popies.net/tmp/latency-trace-1

Any idea ?

Thanks,
-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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/


PREEMPT_RT + HRT latencies on x86_64 SMP.

2007-01-31 Thread Stelian Pop
Hi,

I have a dual Opteron dual-core machine here and while it behaves quite
well on PREEMPT_RT when using the clock_nanosleep() tests, it doesn't
work so well when using the timer primitives.

I ran the tests on 2.6.20-rc6-rt6 - using the precompiled x86_64 kernel
from Ingo's yum repository. The box is running RHEL 4, libc 2.3.4.

The latencies are reproductible even without any specific load and even
when using cyclictest on one or two threads only:
./cyclictest -b 1 -t 2 -p 90

1) a standard run gives a few latencies, like in:

0.57 0.16 0.32 1/150 3754 
T: 0 ( 3732) P:90 I:1000 C:  10109 Min: 46 Act:   95 Avg:   93 Max: 240
T: 1 ( 3733) P:89 I:1500 C:   6741 Min: 52 Act:   92 Avg:   93 Max: 178

Are the maximum latencies observed here (values around 200-300 us are
common) the expected ones ? Or are they caused by some problems which
needs to be investigated ?

2) some big latencies (10 ms) are observed in some conditions. I
haven't been able to point out exactly what external activity - if any -
causes this, but it seems to happen every 10 minutes or so :

1.82 1.86 1.53 6/150 3658
T: 0 ( 3621) P:90 I:1000 C:1596828 Min: 20 Act:   25 Avg:   93 Max: 512
T: 1 ( 3622) P:89 I:1500 C:1064525 Min: 53 Act:   95 Avg:   94 Max:   15586

I have captured a latency trace for the above run (using cyclictest -b
as shown above), but I'm not sure it makes much sense. It weights almost
4 MB, so I'll not put in inline, get it from:
http://www.popies.net/tmp/latency-trace-1

Any idea ?

Thanks,
-- 
Stelian Pop [EMAIL PROTECTED]

-
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] Fix __ucmpdi2 in v4l2_norm_to_name()

2007-01-15 Thread Stelian Pop
Le dimanche 07 janvier 2007 à 09:44 -0200, Mauro Carvalho Chehab a
écrit :

> > > We can, however use this approach as a workaround, with
> > > the proper documentation. I'll handle it after I return from vacations
> > > next week.
> Ok, I've wrote such patch. I should send today or tomorrow to Linus,
> together with other patches.

Hi Mauro,

The __ucmpdi2() problem is still present in 2.6.20-rc5, please (re)send
your patch to Linus before 2.6.20 goes final...

Thanks.

-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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] Fix __ucmpdi2 in v4l2_norm_to_name()

2007-01-15 Thread Stelian Pop
Le dimanche 07 janvier 2007 à 09:44 -0200, Mauro Carvalho Chehab a
écrit :

   We can, however use this approach as a workaround, with
   the proper documentation. I'll handle it after I return from vacations
   next week.
 Ok, I've wrote such patch. I should send today or tomorrow to Linus,
 together with other patches.

Hi Mauro,

The __ucmpdi2() problem is still present in 2.6.20-rc5, please (re)send
your patch to Linus before 2.6.20 goes final...

Thanks.

-- 
Stelian Pop [EMAIL PROTECTED]

-
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: sonypi not for 64bit?

2007-01-07 Thread Stelian Pop
Le dimanche 07 janvier 2007 à 03:21 +0100, Jan Engelhardt a écrit :
> Hi sonypi (ex-)maintainers ;-)
> 
> 
> drivers/char/Kconfig lists SONYPI as being !64BIT, however, there seem 
> to be sony users with x86_64 [1] around.

Indeed, I have had (private) reports about it working on x86_64 too.

>  Is it just caution (it's also 
> marked EXPERIMENTAL) or is it definitely known to break on 64bit?

Frankly I don't recall anymore. The 64 bit restriction wasn't there from
the beginning, it was added by a patch from someone 2 or 3 years ago.
git doesn't seem to have the history for that, maybe old bk does...

-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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: sonypi not for 64bit?

2007-01-07 Thread Stelian Pop
Le dimanche 07 janvier 2007 à 03:21 +0100, Jan Engelhardt a écrit :
 Hi sonypi (ex-)maintainers ;-)
 
 
 drivers/char/Kconfig lists SONYPI as being !64BIT, however, there seem 
 to be sony users with x86_64 [1] around.

Indeed, I have had (private) reports about it working on x86_64 too.

  Is it just caution (it's also 
 marked EXPERIMENTAL) or is it definitely known to break on 64bit?

Frankly I don't recall anymore. The 64 bit restriction wasn't there from
the beginning, it was added by a patch from someone 2 or 3 years ago.
git doesn't seem to have the history for that, maybe old bk does...

-- 
Stelian Pop [EMAIL PROTECTED]

-
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: sonypc with Sony Vaio VGN-SZ1VP

2007-01-05 Thread Stelian Pop
Le jeudi 04 janvier 2007 à 20:15 +0100, Mattia Dongili a écrit :

> > > What needs to happen is
> > > 1. a maintainer for sony_acpi.c needs to step forward
> > > I can't do this, I'm not allowed to be in the reverse engineering 
> > > business.
> > 
> > Well, I can't do this either, because I just don't have the required
> > hardware anymore.
> > 
> > If someone want to step forward now it is a great time !
> 
> I have the hw and I'd be happy to do some basic working on the code

FYI, sonypi is also searching for a new maintainer, and it is quite
closely related to sony_acpi...

If you are interested by the job, it is all yours. :)

Stelian.
-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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: sonypc with Sony Vaio VGN-SZ1VP

2007-01-05 Thread Stelian Pop
Le vendredi 05 janvier 2007 à 01:11 +0100, Jan Engelhardt a écrit :
> On Jan 5 2007 00:36, Stelian Pop wrote:
> >@@ -61,6 +61,7 @@ static struct acpi_driver sony_acpi_driv
> > 
> > static acpi_handle sony_acpi_handle;
> > static struct proc_dir_entry *sony_acpi_dir;
> >+static struct acpi_device *sony_acpi_acpi_device = NULL;
> 
> acpi_acpi?

Yeah, maybe Mattia will have more imagination than I at naming
variables :)

-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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: sonypc with Sony Vaio VGN-SZ1VP

2007-01-05 Thread Stelian Pop
Le jeudi 04 janvier 2007 à 20:16 -0800, Andrew Morton a écrit :
> On Fri, 05 Jan 2007 00:54:32 +0100
> Stelian Pop <[EMAIL PROTECTED]> wrote:
> 
> > Le jeudi 04 janvier 2007 à 15:44 -0800, Andrew Morton a écrit :
> > > On Fri, 05 Jan 2007 00:36:23 +0100
> > > Stelian Pop <[EMAIL PROTECTED]> wrote:
> > > 
> > > > Added acpi_bus_generate event for forwarding Fn-keys pressed to acpi 
> > > > subsystem,
> > > > and made correspondent necessary changes for this to work.
> > > 
> > > neato.
> > > 
> > > err, how does one use this?
> > 
> > :)
> > 
> > Well, it seems that on some Vaios (including Nilton's pcg-frv26 but not
> > only this one), the Fn key events aren't seen by sonypi or sony_acpi
> > GHKE method, but do generate an ACPI notify event.
> 
> Speak English ;)

Oh, sorry, I'll try again :)

There are several ways of detecting the Fn key events, depending on the
Vaio series:
- some Vaios report them using the SPIC device (driven by sonypi)
- some Vaios let the driver poll for the Fn key status using the GHKE
ACPI method of the SNC device (driven by sony_acpi)
- some Vaios generate an ACPI notify event on the SNC device when a Fn
key is pressed - this is what the latest patch is for.

Unfortunately there are way too many different Vaio series, and no
information about what series support what method. I should have
maintained some sort of wiki to let the users build themselves a
comprehensive list, but I never get around to do it. Maybe Mattia could
do it if he has the time and will...

> > For those laptops, the patch forwards the ACPI event to the ACPI system
> > and can be later interpreted in userspace using
> > acpid's /etc/acpi/default.sh (example directly from Nilton):
> 
> The only things Mr Red Hat gave me are /etc/acpi/events/sample.conf and
> /etc/acpi/events/video.conf.

Well, there was an /etc/acpi/default.sh in an older version of acpid...
I'm not sure what it looks like now on a recent Fedora but on my Ubuntu
I still have an acpid package, which has some files in /etc/acpi/
looking familiar.

> I pressed then released a button and dmesg said
> 
> [   76.961568] evbug.c: Event. Dev: , Type: 1, Code: 148, Value: 1
> [   76.961576] evbug.c: Event. Dev: , Type: 0, Code: 0, Value: 0
> [   76.963277] evbug.c: Event. Dev: , Type: 1, Code: 148, Value: 0
> [   76.963284] evbug.c: Event. Dev: , Type: 0, Code: 0, Value: 0
> [   76.967341] evbug.c: Event. Dev: , Type: 1, Code: 148, Value: 1
> [   76.967349] evbug.c: Event. Dev: , Type: 0, Code: 0, Value: 0
> [   76.968136] evbug.c: Event. Dev: , Type: 1, Code: 148, Value: 0
> [   76.968143] evbug.c: Event. Dev: , Type: 0, Code: 0, Value: 0
> 
> Nothing else happened.

Well, you got the events from evdev, which means you probably got them
directly from sonypi (or the regular keyboard..)

Unless your distribution does some neat tricks and somehow feeds the
events coming from somewhere into the event subsystem (like Ubuntu's
acpi_fakekey for example...).

Stelian.
-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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: sonypc with Sony Vaio VGN-SZ1VP

2007-01-05 Thread Stelian Pop
Le jeudi 04 janvier 2007 à 20:16 -0800, Andrew Morton a écrit :
 On Fri, 05 Jan 2007 00:54:32 +0100
 Stelian Pop [EMAIL PROTECTED] wrote:
 
  Le jeudi 04 janvier 2007 à 15:44 -0800, Andrew Morton a écrit :
   On Fri, 05 Jan 2007 00:36:23 +0100
   Stelian Pop [EMAIL PROTECTED] wrote:
   
Added acpi_bus_generate event for forwarding Fn-keys pressed to acpi 
subsystem,
and made correspondent necessary changes for this to work.
   
   neato.
   
   err, how does one use this?
  
  :)
  
  Well, it seems that on some Vaios (including Nilton's pcg-frv26 but not
  only this one), the Fn key events aren't seen by sonypi or sony_acpi
  GHKE method, but do generate an ACPI notify event.
 
 Speak English ;)

Oh, sorry, I'll try again :)

There are several ways of detecting the Fn key events, depending on the
Vaio series:
- some Vaios report them using the SPIC device (driven by sonypi)
- some Vaios let the driver poll for the Fn key status using the GHKE
ACPI method of the SNC device (driven by sony_acpi)
- some Vaios generate an ACPI notify event on the SNC device when a Fn
key is pressed - this is what the latest patch is for.

Unfortunately there are way too many different Vaio series, and no
information about what series support what method. I should have
maintained some sort of wiki to let the users build themselves a
comprehensive list, but I never get around to do it. Maybe Mattia could
do it if he has the time and will...

  For those laptops, the patch forwards the ACPI event to the ACPI system
  and can be later interpreted in userspace using
  acpid's /etc/acpi/default.sh (example directly from Nilton):
 
 The only things Mr Red Hat gave me are /etc/acpi/events/sample.conf and
 /etc/acpi/events/video.conf.

Well, there was an /etc/acpi/default.sh in an older version of acpid...
I'm not sure what it looks like now on a recent Fedora but on my Ubuntu
I still have an acpid package, which has some files in /etc/acpi/
looking familiar.

 I pressed then released a button and dmesg said
 
 [   76.961568] evbug.c: Event. Dev: NULL, Type: 1, Code: 148, Value: 1
 [   76.961576] evbug.c: Event. Dev: NULL, Type: 0, Code: 0, Value: 0
 [   76.963277] evbug.c: Event. Dev: NULL, Type: 1, Code: 148, Value: 0
 [   76.963284] evbug.c: Event. Dev: NULL, Type: 0, Code: 0, Value: 0
 [   76.967341] evbug.c: Event. Dev: NULL, Type: 1, Code: 148, Value: 1
 [   76.967349] evbug.c: Event. Dev: NULL, Type: 0, Code: 0, Value: 0
 [   76.968136] evbug.c: Event. Dev: NULL, Type: 1, Code: 148, Value: 0
 [   76.968143] evbug.c: Event. Dev: NULL, Type: 0, Code: 0, Value: 0
 
 Nothing else happened.

Well, you got the events from evdev, which means you probably got them
directly from sonypi (or the regular keyboard..)

Unless your distribution does some neat tricks and somehow feeds the
events coming from somewhere into the event subsystem (like Ubuntu's
acpi_fakekey for example...).

Stelian.
-- 
Stelian Pop [EMAIL PROTECTED]

-
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: sonypc with Sony Vaio VGN-SZ1VP

2007-01-05 Thread Stelian Pop
Le vendredi 05 janvier 2007 à 01:11 +0100, Jan Engelhardt a écrit :
 On Jan 5 2007 00:36, Stelian Pop wrote:
 @@ -61,6 +61,7 @@ static struct acpi_driver sony_acpi_driv
  
  static acpi_handle sony_acpi_handle;
  static struct proc_dir_entry *sony_acpi_dir;
 +static struct acpi_device *sony_acpi_acpi_device = NULL;
 
 acpi_acpi?

Yeah, maybe Mattia will have more imagination than I at naming
variables :)

-- 
Stelian Pop [EMAIL PROTECTED]

-
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: sonypc with Sony Vaio VGN-SZ1VP

2007-01-05 Thread Stelian Pop
Le jeudi 04 janvier 2007 à 20:15 +0100, Mattia Dongili a écrit :

   What needs to happen is
   1. a maintainer for sony_acpi.c needs to step forward
   I can't do this, I'm not allowed to be in the reverse engineering 
   business.
  
  Well, I can't do this either, because I just don't have the required
  hardware anymore.
  
  If someone want to step forward now it is a great time !
 
 I have the hw and I'd be happy to do some basic working on the code

FYI, sonypi is also searching for a new maintainer, and it is quite
closely related to sony_acpi...

If you are interested by the job, it is all yours. :)

Stelian.
-- 
Stelian Pop [EMAIL PROTECTED]

-
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: sonypc with Sony Vaio VGN-SZ1VP

2007-01-04 Thread Stelian Pop
Le jeudi 04 janvier 2007 à 15:44 -0800, Andrew Morton a écrit :
> On Fri, 05 Jan 2007 00:36:23 +0100
> Stelian Pop <[EMAIL PROTECTED]> wrote:
> 
> > Added acpi_bus_generate event for forwarding Fn-keys pressed to acpi 
> > subsystem,
> > and made correspondent necessary changes for this to work.
> 
> neato.
> 
> err, how does one use this?

:)

Well, it seems that on some Vaios (including Nilton's pcg-frv26 but not
only this one), the Fn key events aren't seen by sonypi or sony_acpi
GHKE method, but do generate an ACPI notify event.

For those laptops, the patch forwards the ACPI event to the ACPI system
and can be later interpreted in userspace using
acpid's /etc/acpi/default.sh (example directly from Nilton):

> case "$group" in
> button)
> case "$action" in
> power) /usr/sbin/hibernate
> ;;
>
> lid) cat /proc/acpi/button/lid/LID/state
> ;;
> 
> *)  logger "ACPI action $action is not defined ($@)"
> ;;
> esac
> ;;
> 
> SNC) echo "$@" > /dev/tcp/localhost/50007
> ;;
> 
> *) logger "ACPI group $group / action $action is not defined"
> ;;
> esac
> 
> In which I just forward the SNC event to another userspace application
> listening on a TCP port.

Stelian.
-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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: sonypc with Sony Vaio VGN-SZ1VP

2007-01-04 Thread Stelian Pop
pi_remove(struct acpi_
acpi_status status;
struct sony_acpi_value *item;
 
-   if (debug) {
-   status = acpi_remove_notify_handler(sony_acpi_handle,
-   ACPI_DEVICE_NOTIFY,
-   sony_acpi_notify);
-   if (ACPI_FAILURE(status))
-   printk(LOG_PFX "unable to remove notify handler\n");
-   }
+   sony_acpi_acpi_device = NULL;
+
+   status = acpi_remove_notify_handler(sony_acpi_handle,
+   ACPI_DEVICE_NOTIFY,
+   sony_acpi_notify);
+   if (ACPI_FAILURE(status))
+   printk(LOG_PFX "unable to remove notify handler\n");
 
for (item = sony_acpi_values; item->name; ++item)
if (item->proc)

-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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: sonypc with Sony Vaio VGN-SZ1VP

2007-01-04 Thread Stelian Pop
Le jeudi 04 janvier 2007 à 20:15 +0100, Mattia Dongili a écrit :

> > If someone want to step forward now it is a great time !
> 
> I have the hw and I'd be happy to do some basic working on the code

Cool ! 

> but:
> - I'll probably need some help;

Feel free to ask...

> - I'll have an almost-blackout between the end of February and the end
>   of April as I'm moving to a different country and I'll need some time
>   before I can be active again (I hope I'll have at least easy mail
>   access for all the time though).

Well, I am the current "maintainer" for this and it has probably been a
year since I left Sony's laptop world, so I guess it won't make much
difference if you're not very active for a month or two :)

Stelian.
-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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] Fix __ucmpdi2 in v4l2_norm_to_name()

2007-01-04 Thread Stelian Pop
Le jeudi 04 janvier 2007 à 20:59 -0200, Mauro Carvalho Chehab a écrit :

> > The largest value we use here is 0x0200.  Perhaps v4l2_std_id shouldn't
> > be 64-bit?
> Too late to change it to 32 bits. It is at V4L2 userspace API since
> kernel 2.6.0. We can, however use this approach as a workaround, with
> the proper documentation.

Maybe with a BUG_ON(id > UINT_MAX) ?

Linus, do you want a patch for this or will you take the _ucmppdi2 ppc
patch as per http://lkml.org/lkml/2006/12/17/46 instead ?

Thanks,

Stelian.
-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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: [v4l-dvb-maintainer] [PATCH] Fix __ucmpdi2 in v4l2_norm_to_name()

2007-01-04 Thread Stelian Pop
Le jeudi 04 janvier 2007 à 04:09 -0800, Trent Piepho a écrit :
> On Thu, 4 Jan 2007, Stelian Pop wrote:
> > This patch replaces a switch statement using 64 bit values with the
> > if/else equivalent in order to prevent a call __ucmpdi2 generated by
> > some versions of gcc (verified with gcc-4.1.2 20060928):
> >
> > drivers/built-in.o: In function `v4l2_norm_to_name':
> > (.text+0x71100): undefined reference to `__ucmpdi2'
> >
> > Signed-off-by: Stelian Pop <[EMAIL PROTECTED]>
> 
> It looks like there is a much better way to handle this problem here:
> http://lkml.org/lkml/2006/12/17/46
> 
> Basically:
> A. Fix gcc so it doesn't call in __ucmpdi2 (already fixed?)
> B. Link in __ucmpdi2 from libgcc
> C. Write arch specific code to provide __ucmpdi2

Indeed, I didn't see that thread.

Linus, just make sure you apply a fix for this problem before 2.4.20
goes final...

Thanks and sorry for the noise.

Stelian.
-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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] Fix __ucmpdi2 in v4l2_norm_to_name()

2007-01-04 Thread Stelian Pop
Hi,

This patch replaces a switch statement using 64 bit values with the
if/else equivalent in order to prevent a call __ucmpdi2 generated by
some versions of gcc (verified with gcc-4.1.2 20060928):

drivers/built-in.o: In function `v4l2_norm_to_name':
(.text+0x71100): undefined reference to `__ucmpdi2'

Signed-off-by: Stelian Pop <[EMAIL PROTECTED]>

---

 drivers/media/video/v4l2-common.c |  126 ++---
 1 files changed, 62 insertions(+), 64 deletions(-)

diff --git a/drivers/media/video/v4l2-common.c 
b/drivers/media/video/v4l2-common.c
index 752c82c..0c3c2f6 100644
--- a/drivers/media/video/v4l2-common.c
+++ b/drivers/media/video/v4l2-common.c
@@ -91,70 +91,68 @@ char *v4l2_norm_to_name(v4l2_std_id id)
 {
char *name;
 
-   switch (id) {
-   case V4L2_STD_PAL:
-   name="PAL"; break;
-   case V4L2_STD_PAL_BG:
-   name="PAL-BG";  break;
-   case V4L2_STD_PAL_DK:
-   name="PAL-DK";  break;
-   case V4L2_STD_PAL_B:
-   name="PAL-B";   break;
-   case V4L2_STD_PAL_B1:
-   name="PAL-B1";  break;
-   case V4L2_STD_PAL_G:
-   name="PAL-G";   break;
-   case V4L2_STD_PAL_H:
-   name="PAL-H";   break;
-   case V4L2_STD_PAL_I:
-   name="PAL-I";   break;
-   case V4L2_STD_PAL_D:
-   name="PAL-D";   break;
-   case V4L2_STD_PAL_D1:
-   name="PAL-D1";  break;
-   case V4L2_STD_PAL_K:
-   name="PAL-K";   break;
-   case V4L2_STD_PAL_M:
-   name="PAL-M";   break;
-   case V4L2_STD_PAL_N:
-   name="PAL-N";   break;
-   case V4L2_STD_PAL_Nc:
-   name="PAL-Nc";  break;
-   case V4L2_STD_PAL_60:
-   name="PAL-60";  break;
-   case V4L2_STD_NTSC:
-   name="NTSC";break;
-   case V4L2_STD_NTSC_M:
-   name="NTSC-M";  break;
-   case V4L2_STD_NTSC_M_JP:
-   name="NTSC-M-JP";   break;
-   case V4L2_STD_NTSC_443:
-   name="NTSC-443";break;
-   case V4L2_STD_NTSC_M_KR:
-   name="NTSC-M-KR";   break;
-   case V4L2_STD_SECAM:
-   name="SECAM";   break;
-   case V4L2_STD_SECAM_DK:
-   name="SECAM-DK";break;
-   case V4L2_STD_SECAM_B:
-   name="SECAM-B"; break;
-   case V4L2_STD_SECAM_D:
-   name="SECAM-D"; break;
-   case V4L2_STD_SECAM_G:
-   name="SECAM-G"; break;
-   case V4L2_STD_SECAM_H:
-   name="SECAM-H"; break;
-   case V4L2_STD_SECAM_K:
-   name="SECAM-K"; break;
-   case V4L2_STD_SECAM_K1:
-   name="SECAM-K1";break;
-   case V4L2_STD_SECAM_L:
-   name="SECAM-L"; break;
-   case V4L2_STD_SECAM_LC:
-   name="SECAM-LC";break;
-   default:
-   name="Unknown"; break;
-   }
+   if (id == V4L2_STD_PAL)
+   name = "PAL";
+   else if (id == V4L2_STD_PAL_BG)
+   name = "PAL-BG";
+   else if (id == V4L2_STD_PAL_DK)
+   name = "PAL-DK";
+   else if (id == V4L2_STD_PAL_B)
+   name = "PAL-B";
+   else if (id == V4L2_STD_PAL_B1)
+   name = "PAL-B1";
+   else if (id == V4L2_STD_PAL_G)
+   name = "PAL-G";
+   else if (id == V4L2_STD_PAL_H)
+   name = "PAL-H";
+   else if (id == V4L2_STD_PAL_I)
+   name = "PAL-I";
+   else if (id == V4L2_STD_PAL_D)
+   name = "PAL-D";
+   else if (id == V4L2_STD_PAL_D1)
+   name = "PAL-D1";
+   else if (id == V4L2_STD_PAL_K)
+   name = "PAL-K";
+   else if (id == V4L2_STD_PAL_M)
+   name = "PAL-M";
+   else if (id == V4L2_STD_PAL_N)
+   name = "PAL-N";
+   else if (id == V4L2_STD_PAL_Nc)
+   name = "PAL-Nc";
+   else if (id == V4L2_STD_PAL_60)
+   name = "PAL-60";
+   else if (id == V4L2_STD_NTSC)
+   name = "NTSC";
+   else if (id == V4L2_STD_NTSC_M)
+   name = "NTSC-M";
+   else if (id == V4L2_STD_NTSC_M_JP)
+   name = "NTSC-M-JP"

Re: sonypc with Sony Vaio VGN-SZ1VP

2007-01-04 Thread Stelian Pop
Le jeudi 04 janvier 2007 à 00:24 -0500, Len Brown a écrit :

> > > I'd like to keep this driver out-of-tree
> > > until we prove that we can't enhance the
> > > generic code to handle this hardware
> > > without the addition of a new driver.
> > 
> > How long is this going to take ?
> 
> How about 2.6.21?

Good news !

> What needs to happen is
> 1. a maintainer for sony_acpi.c needs to step forward
> I can't do this, I'm not allowed to be in the reverse engineering 
> business.

Well, I can't do this either, because I just don't have the required
hardware anymore.

If someone want to step forward now it is a great time !
> 
> 2. /proc/acpi/sony API needs to be deleted
> 
> 3. source needs to move out of drivers/acpi, and into drivers/misc along with 
> msi.

Sensible suggestions, the new maintainer will have to work on this.

Thanks Len.

-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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] Fix __ucmpdi2 in v4l2_norm_to_name()

2007-01-04 Thread Stelian Pop
Hi,

This patch replaces a switch statement using 64 bit values with the
if/else equivalent in order to prevent a call __ucmpdi2 generated by
some versions of gcc (verified with gcc-4.1.2 20060928):

drivers/built-in.o: In function `v4l2_norm_to_name':
(.text+0x71100): undefined reference to `__ucmpdi2'

Signed-off-by: Stelian Pop [EMAIL PROTECTED]

---

 drivers/media/video/v4l2-common.c |  126 ++---
 1 files changed, 62 insertions(+), 64 deletions(-)

diff --git a/drivers/media/video/v4l2-common.c 
b/drivers/media/video/v4l2-common.c
index 752c82c..0c3c2f6 100644
--- a/drivers/media/video/v4l2-common.c
+++ b/drivers/media/video/v4l2-common.c
@@ -91,70 +91,68 @@ char *v4l2_norm_to_name(v4l2_std_id id)
 {
char *name;
 
-   switch (id) {
-   case V4L2_STD_PAL:
-   name=PAL; break;
-   case V4L2_STD_PAL_BG:
-   name=PAL-BG;  break;
-   case V4L2_STD_PAL_DK:
-   name=PAL-DK;  break;
-   case V4L2_STD_PAL_B:
-   name=PAL-B;   break;
-   case V4L2_STD_PAL_B1:
-   name=PAL-B1;  break;
-   case V4L2_STD_PAL_G:
-   name=PAL-G;   break;
-   case V4L2_STD_PAL_H:
-   name=PAL-H;   break;
-   case V4L2_STD_PAL_I:
-   name=PAL-I;   break;
-   case V4L2_STD_PAL_D:
-   name=PAL-D;   break;
-   case V4L2_STD_PAL_D1:
-   name=PAL-D1;  break;
-   case V4L2_STD_PAL_K:
-   name=PAL-K;   break;
-   case V4L2_STD_PAL_M:
-   name=PAL-M;   break;
-   case V4L2_STD_PAL_N:
-   name=PAL-N;   break;
-   case V4L2_STD_PAL_Nc:
-   name=PAL-Nc;  break;
-   case V4L2_STD_PAL_60:
-   name=PAL-60;  break;
-   case V4L2_STD_NTSC:
-   name=NTSC;break;
-   case V4L2_STD_NTSC_M:
-   name=NTSC-M;  break;
-   case V4L2_STD_NTSC_M_JP:
-   name=NTSC-M-JP;   break;
-   case V4L2_STD_NTSC_443:
-   name=NTSC-443;break;
-   case V4L2_STD_NTSC_M_KR:
-   name=NTSC-M-KR;   break;
-   case V4L2_STD_SECAM:
-   name=SECAM;   break;
-   case V4L2_STD_SECAM_DK:
-   name=SECAM-DK;break;
-   case V4L2_STD_SECAM_B:
-   name=SECAM-B; break;
-   case V4L2_STD_SECAM_D:
-   name=SECAM-D; break;
-   case V4L2_STD_SECAM_G:
-   name=SECAM-G; break;
-   case V4L2_STD_SECAM_H:
-   name=SECAM-H; break;
-   case V4L2_STD_SECAM_K:
-   name=SECAM-K; break;
-   case V4L2_STD_SECAM_K1:
-   name=SECAM-K1;break;
-   case V4L2_STD_SECAM_L:
-   name=SECAM-L; break;
-   case V4L2_STD_SECAM_LC:
-   name=SECAM-LC;break;
-   default:
-   name=Unknown; break;
-   }
+   if (id == V4L2_STD_PAL)
+   name = PAL;
+   else if (id == V4L2_STD_PAL_BG)
+   name = PAL-BG;
+   else if (id == V4L2_STD_PAL_DK)
+   name = PAL-DK;
+   else if (id == V4L2_STD_PAL_B)
+   name = PAL-B;
+   else if (id == V4L2_STD_PAL_B1)
+   name = PAL-B1;
+   else if (id == V4L2_STD_PAL_G)
+   name = PAL-G;
+   else if (id == V4L2_STD_PAL_H)
+   name = PAL-H;
+   else if (id == V4L2_STD_PAL_I)
+   name = PAL-I;
+   else if (id == V4L2_STD_PAL_D)
+   name = PAL-D;
+   else if (id == V4L2_STD_PAL_D1)
+   name = PAL-D1;
+   else if (id == V4L2_STD_PAL_K)
+   name = PAL-K;
+   else if (id == V4L2_STD_PAL_M)
+   name = PAL-M;
+   else if (id == V4L2_STD_PAL_N)
+   name = PAL-N;
+   else if (id == V4L2_STD_PAL_Nc)
+   name = PAL-Nc;
+   else if (id == V4L2_STD_PAL_60)
+   name = PAL-60;
+   else if (id == V4L2_STD_NTSC)
+   name = NTSC;
+   else if (id == V4L2_STD_NTSC_M)
+   name = NTSC-M;
+   else if (id == V4L2_STD_NTSC_M_JP)
+   name = NTSC-M-JP;
+   else if (id == V4L2_STD_NTSC_443)
+   name = NTSC-443;
+   else if (id == V4L2_STD_NTSC_M_KR)
+   name = NTSC-M-KR;
+   else if (id == V4L2_STD_SECAM)
+   name = SECAM;
+   else if (id == V4L2_STD_SECAM_DK)
+   name = SECAM-DK;
+   else if (id == V4L2_STD_SECAM_B)
+   name = SECAM-B;
+   else if (id == V4L2_STD_SECAM_D)
+   name = SECAM-D;
+   else if (id == V4L2_STD_SECAM_G)
+   name = SECAM-G;
+   else if (id == V4L2_STD_SECAM_H)
+   name = SECAM-H;
+   else if (id

Re: [v4l-dvb-maintainer] [PATCH] Fix __ucmpdi2 in v4l2_norm_to_name()

2007-01-04 Thread Stelian Pop
Le jeudi 04 janvier 2007 à 04:09 -0800, Trent Piepho a écrit :
 On Thu, 4 Jan 2007, Stelian Pop wrote:
  This patch replaces a switch statement using 64 bit values with the
  if/else equivalent in order to prevent a call __ucmpdi2 generated by
  some versions of gcc (verified with gcc-4.1.2 20060928):
 
  drivers/built-in.o: In function `v4l2_norm_to_name':
  (.text+0x71100): undefined reference to `__ucmpdi2'
 
  Signed-off-by: Stelian Pop [EMAIL PROTECTED]
 
 It looks like there is a much better way to handle this problem here:
 http://lkml.org/lkml/2006/12/17/46
 
 Basically:
 A. Fix gcc so it doesn't call in __ucmpdi2 (already fixed?)
 B. Link in __ucmpdi2 from libgcc
 C. Write arch specific code to provide __ucmpdi2

Indeed, I didn't see that thread.

Linus, just make sure you apply a fix for this problem before 2.4.20
goes final...

Thanks and sorry for the noise.

Stelian.
-- 
Stelian Pop [EMAIL PROTECTED]

-
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: sonypc with Sony Vaio VGN-SZ1VP

2007-01-04 Thread Stelian Pop
Le jeudi 04 janvier 2007 à 00:24 -0500, Len Brown a écrit :

   I'd like to keep this driver out-of-tree
   until we prove that we can't enhance the
   generic code to handle this hardware
   without the addition of a new driver.
  
  How long is this going to take ?
 
 How about 2.6.21?

Good news !

 What needs to happen is
 1. a maintainer for sony_acpi.c needs to step forward
 I can't do this, I'm not allowed to be in the reverse engineering 
 business.

Well, I can't do this either, because I just don't have the required
hardware anymore.

If someone want to step forward now it is a great time !
 
 2. /proc/acpi/sony API needs to be deleted
 
 3. source needs to move out of drivers/acpi, and into drivers/misc along with 
 msi.

Sensible suggestions, the new maintainer will have to work on this.

Thanks Len.

-- 
Stelian Pop [EMAIL PROTECTED]

-
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] Fix __ucmpdi2 in v4l2_norm_to_name()

2007-01-04 Thread Stelian Pop
Le jeudi 04 janvier 2007 à 20:59 -0200, Mauro Carvalho Chehab a écrit :

  The largest value we use here is 0x0200.  Perhaps v4l2_std_id shouldn't
  be 64-bit?
 Too late to change it to 32 bits. It is at V4L2 userspace API since
 kernel 2.6.0. We can, however use this approach as a workaround, with
 the proper documentation.

Maybe with a BUG_ON(id  UINT_MAX) ?

Linus, do you want a patch for this or will you take the _ucmppdi2 ppc
patch as per http://lkml.org/lkml/2006/12/17/46 instead ?

Thanks,

Stelian.
-- 
Stelian Pop [EMAIL PROTECTED]

-
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: sonypc with Sony Vaio VGN-SZ1VP

2007-01-04 Thread Stelian Pop
Le jeudi 04 janvier 2007 à 20:15 +0100, Mattia Dongili a écrit :

  If someone want to step forward now it is a great time !
 
 I have the hw and I'd be happy to do some basic working on the code

Cool ! 

 but:
 - I'll probably need some help;

Feel free to ask...

 - I'll have an almost-blackout between the end of February and the end
   of April as I'm moving to a different country and I'll need some time
   before I can be active again (I hope I'll have at least easy mail
   access for all the time though).

Well, I am the current maintainer for this and it has probably been a
year since I left Sony's laptop world, so I guess it won't make much
difference if you're not very active for a month or two :)

Stelian.
-- 
Stelian Pop [EMAIL PROTECTED]

-
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: sonypc with Sony Vaio VGN-SZ1VP

2007-01-04 Thread Stelian Pop
,
-   sony_acpi_notify);
-   if (ACPI_FAILURE(status))
-   printk(LOG_PFX unable to remove notify handler\n);
-   }
+   sony_acpi_acpi_device = NULL;
+
+   status = acpi_remove_notify_handler(sony_acpi_handle,
+   ACPI_DEVICE_NOTIFY,
+   sony_acpi_notify);
+   if (ACPI_FAILURE(status))
+   printk(LOG_PFX unable to remove notify handler\n);
 
for (item = sony_acpi_values; item-name; ++item)
if (item-proc)

-- 
Stelian Pop [EMAIL PROTECTED]

-
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: sonypc with Sony Vaio VGN-SZ1VP

2007-01-04 Thread Stelian Pop
Le jeudi 04 janvier 2007 à 15:44 -0800, Andrew Morton a écrit :
 On Fri, 05 Jan 2007 00:36:23 +0100
 Stelian Pop [EMAIL PROTECTED] wrote:
 
  Added acpi_bus_generate event for forwarding Fn-keys pressed to acpi 
  subsystem,
  and made correspondent necessary changes for this to work.
 
 neato.
 
 err, how does one use this?

:)

Well, it seems that on some Vaios (including Nilton's pcg-frv26 but not
only this one), the Fn key events aren't seen by sonypi or sony_acpi
GHKE method, but do generate an ACPI notify event.

For those laptops, the patch forwards the ACPI event to the ACPI system
and can be later interpreted in userspace using
acpid's /etc/acpi/default.sh (example directly from Nilton):

 case $group in
 button)
 case $action in
 power) /usr/sbin/hibernate
 ;;

 lid) cat /proc/acpi/button/lid/LID/state
 ;;
 
 *)  logger ACPI action $action is not defined ($@)
 ;;
 esac
 ;;
 
 SNC) echo $@  /dev/tcp/localhost/50007
 ;;
 
 *) logger ACPI group $group / action $action is not defined
 ;;
 esac
 
 In which I just forward the SNC event to another userspace application
 listening on a TCP port.

Stelian.
-- 
Stelian Pop [EMAIL PROTECTED]

-
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: 2.6.13-rc7-git2 crashes on iBook

2005-09-01 Thread Stelian Pop
Le jeudi 01 septembre 2005 à 20:26 +0100, Daniel Drake a écrit :
> Hi,
> 
> Stelian Pop wrote:
> > Confirmed on an Apple Powerbook too.
> > 
> > For reference, the (already reverted) patch which needs to be applied is
> > below.
> > 
> > Signed-off-by: Stelian Pop <[EMAIL PROTECTED]>
> > 
> > Index: linux-2.6.git/drivers/pci/setup-res.c
[...]

> Sorry for my ignorance. Which tree was this reverted in? You are probably 
> aware that this bug made it into 2.6.13 (patch was not reverted there).

It must be my bad english but I wasn't implying that the patch was
reverted in 2.6.13 but that one should apply it (just apply, without -R,
because I didn't attach the original patch but a reversed version of it)
on a clean 2.6.13 tree in order to make it work. :)

However, a different fix (a real fix, not the workaround proposed above)
was discussed on lkml this week and BenH proposed a patch I haven't had
the chance to test yet (see http://lkml.org/lkml/2005/8/31/1 ).

Stelian.
-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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: 2.6.13-rc7-git2 crashes on iBook

2005-09-01 Thread Stelian Pop
Le jeudi 01 septembre 2005 à 20:26 +0100, Daniel Drake a écrit :
 Hi,
 
 Stelian Pop wrote:
  Confirmed on an Apple Powerbook too.
  
  For reference, the (already reverted) patch which needs to be applied is
  below.
  
  Signed-off-by: Stelian Pop [EMAIL PROTECTED]
  
  Index: linux-2.6.git/drivers/pci/setup-res.c
[...]

 Sorry for my ignorance. Which tree was this reverted in? You are probably 
 aware that this bug made it into 2.6.13 (patch was not reverted there).

It must be my bad english but I wasn't implying that the patch was
reverted in 2.6.13 but that one should apply it (just apply, without -R,
because I didn't attach the original patch but a reversed version of it)
on a clean 2.6.13 tree in order to make it work. :)

However, a different fix (a real fix, not the workaround proposed above)
was discussed on lkml this week and BenH proposed a patch I haven't had
the chance to test yet (see http://lkml.org/lkml/2005/8/31/1 ).

Stelian.
-- 
Stelian Pop [EMAIL PROTECTED]

-
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: 2.6.13-rc7-git2 crashes on iBook

2005-08-29 Thread Stelian Pop
Le dimanche 28 août 2005 à 22:02 -0600, Alex Williamson a écrit :
> On Sun, 2005-08-28 at 13:20 +0200, Andreas Schwab wrote:
> > The last change to drivers/pci/setup-res.c (Ignore disabled ROM resources
> > at setup) is breaking radeonfb on iBook G3 (with Radeon Mobility M6 LY).
> > It crashes in pci_map_rom when called from radeonfb_map_ROM.  This is
> > probably a dormant bug that was just uncovered by the change.
> 
>Same thing on Mac Mini.  2.6.13 doesn't boot.  Revert the
> drivers/pci/setup-res.c change from rc7-git2 and it seems ok.

Confirmed on an Apple Powerbook too.

For reference, the (already reverted) patch which needs to be applied is
below.

Signed-off-by: Stelian Pop <[EMAIL PROTECTED]>

Index: linux-2.6.git/drivers/pci/setup-res.c
===
--- linux-2.6.git.orig/drivers/pci/setup-res.c  2005-08-29 10:03:00.0 
+0200
+++ linux-2.6.git/drivers/pci/setup-res.c   2005-08-29 12:23:20.980716336 
+0200
@@ -53,9 +53,7 @@
if (resno < 6) {
reg = PCI_BASE_ADDRESS_0 + 4 * resno;
} else if (resno == PCI_ROM_RESOURCE) {
-   if (!(res->flags & IORESOURCE_ROM_ENABLE))
-   return;
-   new |= PCI_ROM_ADDRESS_ENABLE;
+   new |= res->flags & IORESOURCE_ROM_ENABLE;
reg = dev->rom_base_reg;
} else {
            /* Hmm, non-standard resource. */

Stelian.
-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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: 2.6.13-rc7-git2 crashes on iBook

2005-08-29 Thread Stelian Pop
Le dimanche 28 août 2005 à 22:02 -0600, Alex Williamson a écrit :
 On Sun, 2005-08-28 at 13:20 +0200, Andreas Schwab wrote:
  The last change to drivers/pci/setup-res.c (Ignore disabled ROM resources
  at setup) is breaking radeonfb on iBook G3 (with Radeon Mobility M6 LY).
  It crashes in pci_map_rom when called from radeonfb_map_ROM.  This is
  probably a dormant bug that was just uncovered by the change.
 
Same thing on Mac Mini.  2.6.13 doesn't boot.  Revert the
 drivers/pci/setup-res.c change from rc7-git2 and it seems ok.

Confirmed on an Apple Powerbook too.

For reference, the (already reverted) patch which needs to be applied is
below.

Signed-off-by: Stelian Pop [EMAIL PROTECTED]

Index: linux-2.6.git/drivers/pci/setup-res.c
===
--- linux-2.6.git.orig/drivers/pci/setup-res.c  2005-08-29 10:03:00.0 
+0200
+++ linux-2.6.git/drivers/pci/setup-res.c   2005-08-29 12:23:20.980716336 
+0200
@@ -53,9 +53,7 @@
if (resno  6) {
reg = PCI_BASE_ADDRESS_0 + 4 * resno;
} else if (resno == PCI_ROM_RESOURCE) {
-   if (!(res-flags  IORESOURCE_ROM_ENABLE))
-   return;
-   new |= PCI_ROM_ADDRESS_ENABLE;
+   new |= res-flags  IORESOURCE_ROM_ENABLE;
reg = dev-rom_base_reg;
} else {
/* Hmm, non-standard resource. */

Stelian.
-- 
Stelian Pop [EMAIL PROTECTED]

-
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] Export handle_mm_fault to modules.

2005-08-06 Thread Stelian Pop
Le vendredi 05 août 2005 à 16:43 -0700, Linus Torvalds a écrit :
> 
> On Fri, 5 Aug 2005, Olof Johansson wrote:
> >
> > On Fri, Aug 05, 2005 at 04:02:13PM -0700, Linus Torvalds wrote:
> > 
> > > The only thing that has ever exported it afaik is
> > > 
> > >   arch/ppc/kernel/ppc_ksyms.c:EXPORT_SYMBOL(handle_mm_fault); /* For MOL 
> > > */
> > > 
> > > and that looks pretty suspicious too (what is MOL, and regardless, 
> > > shouldn't it be an EXPORT_SYMBOL_GPL?).
> > 
> > Mac-on-Linux, see http://www.maconlinux.org/. Run MacOS in a virtualized
> > machine under Linux (or the other way around). It's GPL.
> 
> Ok. Then I suspect the right patch is this one. Stelian, can you verify?

I confirm, it works perfectly.

Stelian.

> 
>   Linus
> ---
> diff --git a/arch/ppc/kernel/ppc_ksyms.c b/arch/ppc/kernel/ppc_ksyms.c
> --- a/arch/ppc/kernel/ppc_ksyms.c
> +++ b/arch/ppc/kernel/ppc_ksyms.c
> @@ -324,7 +324,7 @@ EXPORT_SYMBOL(__res);
>  
>  EXPORT_SYMBOL(next_mmu_context);
>  EXPORT_SYMBOL(set_context);
> -EXPORT_SYMBOL(handle_mm_fault); /* For MOL */
> +EXPORT_SYMBOL_GPL(__handle_mm_fault); /* For MOL */
>  EXPORT_SYMBOL(disarm_decr);
>  #ifdef CONFIG_PPC_STD_MMU
>  extern long mol_trampoline;
> 
-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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] Export handle_mm_fault to modules.

2005-08-06 Thread Stelian Pop
Le vendredi 05 août 2005 à 16:43 -0700, Linus Torvalds a écrit :
 
 On Fri, 5 Aug 2005, Olof Johansson wrote:
 
  On Fri, Aug 05, 2005 at 04:02:13PM -0700, Linus Torvalds wrote:
  
   The only thing that has ever exported it afaik is
   
 arch/ppc/kernel/ppc_ksyms.c:EXPORT_SYMBOL(handle_mm_fault); /* For MOL 
   */
   
   and that looks pretty suspicious too (what is MOL, and regardless, 
   shouldn't it be an EXPORT_SYMBOL_GPL?).
  
  Mac-on-Linux, see http://www.maconlinux.org/. Run MacOS in a virtualized
  machine under Linux (or the other way around). It's GPL.
 
 Ok. Then I suspect the right patch is this one. Stelian, can you verify?

I confirm, it works perfectly.

Stelian.

 
   Linus
 ---
 diff --git a/arch/ppc/kernel/ppc_ksyms.c b/arch/ppc/kernel/ppc_ksyms.c
 --- a/arch/ppc/kernel/ppc_ksyms.c
 +++ b/arch/ppc/kernel/ppc_ksyms.c
 @@ -324,7 +324,7 @@ EXPORT_SYMBOL(__res);
  
  EXPORT_SYMBOL(next_mmu_context);
  EXPORT_SYMBOL(set_context);
 -EXPORT_SYMBOL(handle_mm_fault); /* For MOL */
 +EXPORT_SYMBOL_GPL(__handle_mm_fault); /* For MOL */
  EXPORT_SYMBOL(disarm_decr);
  #ifdef CONFIG_PPC_STD_MMU
  extern long mol_trampoline;
 
-- 
Stelian Pop [EMAIL PROTECTED]

-
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] Export handle_mm_fault to modules.

2005-08-05 Thread Stelian Pop
handle_mm_fault changed from an inline function to a non-inline one
(__handle_mm_fault), which is not available to external kernel modules.
The patch below fixes this.

Stelian.

Export __handle_mm_fault to modules (called by the inlined handle_mm_fault 
function).

Signed-off-by: Stelian Pop <[EMAIL PROTECTED]>

Index: linux-2.6.git/mm/memory.c
===
--- linux-2.6.git.orig/mm/memory.c  2005-08-05 22:26:20.0 +0200
+++ linux-2.6.git/mm/memory.c   2005-08-05 23:46:49.0 +0200
@@ -2061,6 +2061,7 @@
spin_unlock(>page_table_lock);
return VM_FAULT_OOM;
 }
+EXPORT_SYMBOL(__handle_mm_fault);
 
 #ifndef __PAGETABLE_PUD_FOLDED
 /*

-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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] Export handle_mm_fault to modules.

2005-08-05 Thread Stelian Pop
handle_mm_fault changed from an inline function to a non-inline one
(__handle_mm_fault), which is not available to external kernel modules.
The patch below fixes this.

Stelian.

Export __handle_mm_fault to modules (called by the inlined handle_mm_fault 
function).

Signed-off-by: Stelian Pop [EMAIL PROTECTED]

Index: linux-2.6.git/mm/memory.c
===
--- linux-2.6.git.orig/mm/memory.c  2005-08-05 22:26:20.0 +0200
+++ linux-2.6.git/mm/memory.c   2005-08-05 23:46:49.0 +0200
@@ -2061,6 +2061,7 @@
spin_unlock(mm-page_table_lock);
return VM_FAULT_OOM;
 }
+EXPORT_SYMBOL(__handle_mm_fault);
 
 #ifndef __PAGETABLE_PUD_FOLDED
 /*

-- 
Stelian Pop [EMAIL PROTECTED]

-
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: powerbook power-off and 2.6.13-rc[3,4]

2005-08-02 Thread Stelian Pop
Le mardi 02 août 2005 à 14:54 +0200, Pavel Machek a écrit :
> Hi!
> 
> > > > Pavel Machek wrote:
> > > > 
> > > > >Can you try without USB?
> > > > >
> > > > Not really. The keyboard is USB, and there's no PS/2 connector. I guess 
> > > > I maybe could do it via a timer, unload the modules and then have it 
> > > > shut down afterwards...
> > > 
> > > I'll build a kernel without USB and drive the laptop over the net and
> > > see what happens.
> > 
> > Without CONFIG_USB the poweroff still hangs, and this time the panel
> > goes completly white with dark spots appearing all over it (kinda scary
> > btw). A 5 seconds press on the power button force it to power off.
> 
> Yep, looks like screen burning, right?

Exactly.

>  So it is different kind of hang
> => USB has some problem but there's another one, too?

Seems that this is the case, yes.

> > This is on a 2.6.13-rc4, and I'm attaching the .config in case it
> > matters.
> 
> Could you try inserting printks to see where it hangs? Aha, with
> display turned off that is not going to be funny.

Unfortunately I won't have time to debug this right now (I leave on
vacation tomorrow), so somebody else will have to do it (and no, it is
not going to be funny to do this without display, serial port, buzzer
etc)

Stelian.
-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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: powerbook power-off and 2.6.13-rc[3,4]

2005-08-02 Thread Stelian Pop
Le mardi 02 août 2005 à 13:43 +0200, Stelian Pop a écrit :

> > Pavel Machek wrote:
> > 
> > >Can you try without USB?
> > >
> > Not really. The keyboard is USB, and there's no PS/2 connector. I guess 
> > I maybe could do it via a timer, unload the modules and then have it 
> > shut down afterwards...
> 
> I'll build a kernel without USB and drive the laptop over the net and
> see what happens.

Without CONFIG_USB the poweroff still hangs, and this time the panel
goes completly white with dark spots appearing all over it (kinda scary
btw). A 5 seconds press on the power button force it to power off.

This is on a 2.6.13-rc4, and I'm attaching the .config in case it
matters.

Stelian.
-- 
Stelian Pop <[EMAIL PROTECTED]>
CONFIG_MMU=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_HAVE_DEC_LOCK=y
CONFIG_PPC=y
CONFIG_PPC32=y
CONFIG_GENERIC_NVRAM=y
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=""
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSCTL=y
CONFIG_HOTPLUG=y
CONFIG_KOBJECT_UEVENT=y
CONFIG_KALLSYMS=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SHMEM=y
CONFIG_CC_ALIGN_FUNCTIONS=0
CONFIG_CC_ALIGN_LABELS=0
CONFIG_CC_ALIGN_LOOPS=0
CONFIG_CC_ALIGN_JUMPS=0
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_OBSOLETE_MODPARM=y
CONFIG_MODVERSIONS=y
CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_KMOD=y
CONFIG_6xx=y
CONFIG_PPC_FPU=y
CONFIG_ALTIVEC=y
CONFIG_TAU=y
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
CONFIG_CPU_FREQ_STAT=y
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
CONFIG_CPU_FREQ_PMAC=y
CONFIG_PM=y
CONFIG_PPC_STD_MMU=y
CONFIG_PPC_MULTIPLATFORM=y
CONFIG_PPC_CHRP=y
CONFIG_PPC_PMAC=y
CONFIG_PPC_PREP=y
CONFIG_PPC_OF=y
CONFIG_PPCBUG_NVRAM=y
CONFIG_HIGHMEM=y
CONFIG_HZ_250=y
CONFIG_HZ=250
CONFIG_PREEMPT_NONE=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_BINFMT_ELF=y
CONFIG_PROC_DEVICETREE=y
CONFIG_PREP_RESIDUAL=y
CONFIG_PROC_PREPRESIDUAL=y
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE="console=ttyS0,9600 console=tty0 root=/dev/sda2"
CONFIG_SOFTWARE_SUSPEND=y
CONFIG_PM_STD_PARTITION=""
CONFIG_SECCOMP=y
CONFIG_ISA_DMA_API=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCI_LEGACY_PROC=y
CONFIG_PCCARD=y
CONFIG_PCMCIA=y
CONFIG_PCMCIA_LOAD_CIS=y
CONFIG_PCMCIA_IOCTL=y
CONFIG_CARDBUS=y
CONFIG_YENTA=y
CONFIG_PCCARD_NONSTATIC=y
CONFIG_HIGHMEM_START=0xfe00
CONFIG_LOWMEM_SIZE=0x3000
CONFIG_KERNEL_START=0xc000
CONFIG_TASK_SIZE=0x8000
CONFIG_BOOT_LOAD=0x0080
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_FIB_HASH=y
CONFIG_TCP_CONG_BIC=y
CONFIG_NETFILTER=y
CONFIG_IP_NF_CONNTRACK=y
CONFIG_IP_NF_FTP=y
CONFIG_IP_NF_IRC=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MATCH_LIMIT=y
CONFIG_IP_NF_MATCH_IPRANGE=y
CONFIG_IP_NF_MATCH_MAC=y
CONFIG_IP_NF_MATCH_PKTTYPE=y
CONFIG_IP_NF_MATCH_MARK=y
CONFIG_IP_NF_MATCH_MULTIPORT=y
CONFIG_IP_NF_MATCH_TOS=y
CONFIG_IP_NF_MATCH_RECENT=y
CONFIG_IP_NF_MATCH_ECN=y
CONFIG_IP_NF_MATCH_DSCP=y
CONFIG_IP_NF_MATCH_AH_ESP=y
CONFIG_IP_NF_MATCH_LENGTH=y
CONFIG_IP_NF_MATCH_TTL=y
CONFIG_IP_NF_MATCH_TCPMSS=y
CONFIG_IP_NF_MATCH_HELPER=y
CONFIG_IP_NF_MATCH_STATE=y
CONFIG_IP_NF_MATCH_OWNER=y
CONFIG_IP_NF_MATCH_ADDRTYPE=y
CONFIG_IP_NF_MATCH_REALM=y
CONFIG_IP_NF_MATCH_SCTP=y
CONFIG_IP_NF_MATCH_COMMENT=y
CONFIG_IP_NF_MATCH_HASHLIMIT=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_NF_TARGET_LOG=y
CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_IP_NF_TARGET_REDIRECT=y
CONFIG_IP_NF_NAT_IRC=y
CONFIG_IP_NF_NAT_FTP=y
CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_ARPTABLES=y
CONFIG_IP_NF_ARPFILTER=y
CONFIG_NET_CLS_ROUTE=y
CONFIG_BT=y
CONFIG_BT_L2CAP=y
CONFIG_BT_RFCOMM=y
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_HIDP=y
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=8192
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_CDROM_PKTCDVD=m
CONFIG_CDROM_PKTCDVD_BUFFERS=8
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_BLK_DEV_IDECD=y
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
CONFIG_BLK_DEV_GENERIC=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_IDEDMA_PCI_AUTO=y
CONFIG_BLK_DEV_IDE_PMAC=y
CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y
CONFIG_BLK_DEV_IDEDMA_PMAC=y
CONFIG_BLK_DEV_IDEDMA=y
CONFIG_IDEDMA_AUTO=y
CONFIG_SCSI=y
CONFIG_SCSI_PROC_FS=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_SG=y
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_FC_ATTRS

Re: powerbook power-off and 2.6.13-rc[3,4]

2005-08-02 Thread Stelian Pop
Le mardi 02 août 2005 à 13:38 +0200, Johannes Berg a écrit :
> Pavel Machek wrote:
> 
> >Can you try without USB?
> >
> Not really. The keyboard is USB, and there's no PS/2 connector. I guess 
> I maybe could do it via a timer, unload the modules and then have it 
> shut down afterwards...

I'll build a kernel without USB and drive the laptop over the net and
see what happens.

> > With USB but without experimental
> >CONFIG_USB_SUSPEND?
> >  
> >
> I don't have USB_SUSPEND enabled, IIRC (don't have the PB with me, but 
> I'm pretty sure I checked this yesterday. If you don't hear back, assume 
> it wasn't enabled)

I don't have USB_SUSPEND enabled.

Stelian.
-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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] meye: use dma-mapping constants

2005-08-02 Thread Stelian Pop
Hi,

This patch comes from the janitors and have been in my tree for quite
some time now. Please apply.

Stelian.

Use the DMA_32BIT_MASK constant from dma-mapping.h when calling
pci_set_dma_mask() or pci_set_consistent_dma_mask()
This patch includes dma-mapping.h explicitly because it caused errors
on some architectures otherwise.
See http://marc.theaimsgroup.com/?t=10800199301=1=2 for details

Signed-off-by: Tobias Klauser <[EMAIL PROTECTED]>
Signed-off-by: Stelian Pop <[EMAIL PROTECTED]>

Index: linux-2.6.git/drivers/media/video/meye.c
===
--- linux-2.6.git.orig/drivers/media/video/meye.c   2005-07-08 
14:08:17.0 +0200
+++ linux-2.6.git/drivers/media/video/meye.c2005-08-02 10:22:23.0 
+0200
@@ -37,6 +37,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #include "meye.h"
 #include 
@@ -121,7 +122,7 @@
memset(meye.mchip_ptable, 0, sizeof(meye.mchip_ptable));
 
/* give only 32 bit DMA addresses */
-   if (dma_set_mask(_dev->dev, 0x))
+   if (dma_set_mask(_dev->dev, DMA_32BIT_MASK))
return -1;
 
meye.mchip_ptable_toc = dma_alloc_coherent(_dev->dev,

-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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] sonypi: remove obsolete event

2005-08-02 Thread Stelian Pop
I had this one in my tree for a long time, please apply.

Stelian.

Remove old obsolete event.

Signed-off-by: Stelian Pop <[EMAIL PROTECTED]>

Index: linux-2.6.git/drivers/char/sonypi.c
===
--- linux-2.6.git.orig/drivers/char/sonypi.c2005-08-02 10:22:15.0 
+0200
+++ linux-2.6.git/drivers/char/sonypi.c 2005-08-02 10:22:18.0 +0200
@@ -406,7 +406,6 @@
{ SONYPI_DEVICE_MODEL_TYPE2, 0x31, SONYPI_BLUETOOTH_MASK, sonypi_blueev 
},
{ SONYPI_DEVICE_MODEL_TYPE2, 0x08, SONYPI_PKEY_MASK, sonypi_pkeyev },
{ SONYPI_DEVICE_MODEL_TYPE2, 0x11, SONYPI_BACK_MASK, sonypi_backev },
-   { SONYPI_DEVICE_MODEL_TYPE2, 0x08, SONYPI_HELP_MASK, sonypi_helpev },
{ SONYPI_DEVICE_MODEL_TYPE2, 0x21, SONYPI_HELP_MASK, sonypi_helpev },
{ SONYPI_DEVICE_MODEL_TYPE2, 0x21, SONYPI_ZOOM_MASK, sonypi_zoomev },
{ SONYPI_DEVICE_MODEL_TYPE2, 0x20, SONYPI_THUMBPHRASE_MASK, 
sonypi_thumbphraseev },

-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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: 2.6.13-rc3-mm3

2005-08-02 Thread Stelian Pop
Le lundi 01 août 2005 à 16:37 +0200, Stelian Pop a écrit :

> > Also, it looks like sonypi really is pretty nasty to probe for, so it's 
> > not enough to just say "oh, it's a sony VAIO, let's reserve that region". 
> > Otherwise I'd just suggest adding a "dmi_check_system()" table to 
> > arch/i386/pci/i386.c, at the top of "pcibios_assign_resources()", and 
> > then you could just allocate things based on DMI information.

> Since every Vaio laptop out there seems indeed to use only the first IO
> port range in the list, we can de-nastyify the probe. And if we don't
> even bother to check for Type1 vs. Type2 devices and we reserve both,
> then it may be acceptable to do the above.
> 
> See the attached patch below which does just that. This has NOT been
> tested (only compile-tested), and moreover it has a high breakage
> probability in case some Vaios cannot live with the fixed ioport choice.
> 
> Note that this patch will conflict with the recent Eric's one (added in
> CC:), he may want to rediff his Type3 changes in case this patch gets
> in.

I had no feedback at all on the patch so I have no idea if this will go
in or not, but since Eric's patch was accepted into -mm I rediffed the
patch in order to ease the testing (in case someone is willing to test
it).

Stelian.

Mark some IO regions reserved on Sony Vaio laptops because the sonypi
driver will need them later, and we don't want another driver to reserve
them before the sonypi driver starts.

Signed-off-by: Stelian Pop <[EMAIL PROTECTED]>

 arch/i386/pci/i386.c  |   42 +
 drivers/char/sonypi.c |   71 ++
 2 files changed, 57 insertions(+), 56 deletions(-)

Index: linux-2.6.git/arch/i386/pci/i386.c
===
--- linux-2.6.git.orig/arch/i386/pci/i386.c 2005-08-02 10:21:58.0 
+0200
+++ linux-2.6.git/arch/i386/pci/i386.c  2005-08-02 10:28:26.0 +0200
@@ -30,6 +30,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #include "pci.h"
 
@@ -167,12 +168,53 @@
}
 }
 
+/*
+ * Reserve IO ports used later by the sonypi driver, or they may got used
+ * by other devices.
+ */
+static int __init sonyvaio_reserve_ioports(struct dmi_system_id *d)
+{
+   /* IO ports for 'type1' device */
+   if (!request_region(0x10c0, 0x08, "Sony Programable I/O Type1 Device"))
+   printk(KERN_ERR "Sony Vaio: cannot reserve Type1 IO region\n");
+
+   /* IO ports for 'type2' and 'type3' devices */
+   if (!request_region(0x1080, 0x20, "Sony Programable I/O Type2 Device"))
+   printk(KERN_ERR "Sony Vaio: cannot reserve Type2 IO region\n");
+
+   printk(KERN_INFO "Sony Vaio: pre-reserved IO ports\n");
+
+   return 0;
+}
+
+static struct dmi_system_id __initdata sonyvaioio_dmi_table[] = {
+   {
+   .callback = sonyvaio_reserve_ioports,
+   .ident = "Sony Vaio Laptop",
+   .matches = {
+   DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"),
+   DMI_MATCH(DMI_PRODUCT_NAME, "PCG-"),
+   },
+   },
+   {
+   .callback = sonyvaio_reserve_ioports,
+   .ident = "Sony Vaio Laptop",
+   .matches = {
+   DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"),
+   DMI_MATCH(DMI_PRODUCT_NAME, "VGN-"),
+   },
+   },
+   { }
+};
+
 static int __init pcibios_assign_resources(void)
 {
struct pci_dev *dev = NULL;
int idx;
struct resource *r;
 
+   dmi_check_system(sonyvaioio_dmi_table);
+
for_each_pci_dev(dev) {
int class = dev->class >> 8;
 
Index: linux-2.6.git/drivers/char/sonypi.c
===
--- linux-2.6.git.orig/drivers/char/sonypi.c2005-08-02 10:22:18.0 
+0200
+++ linux-2.6.git/drivers/char/sonypi.c 2005-08-02 10:27:28.0 +0200
@@ -105,7 +105,9 @@
 #define SONYPI_IRQ_SHIFT   22
 #define SONYPI_TYPE1_BASE  0x50
 #define SONYPI_G10A(SONYPI_TYPE1_BASE+0x14)
-#define SONYPI_TYPE1_REGION_SIZE   0x08
+/* those ports are reserved in arch/i386/pci/i386.c */
+#define SONYPI_TYPE1_IOPORT1   0x10c0
+#define SONYPI_TYPE1_IOPORT2   0x10c4
 #define SONYPI_TYPE1_EVTYPE_OFFSET 0x04
 
 /* type2 series specifics */
@@ -113,13 +115,18 @@
 #define SONYPI_SLOB0x9c
 #define SONYPI_SHIB0x9d
 #define SONYPI_TYPE2_REGION_SIZE   0x20
+/* those ports are reserved in arch/i386/pci/i386.c */
+#define SONYPI_TYPE2_IOPORT1   0x1080
+#define SONYPI_TYPE2_IOP

Re: Fn key and 2.6.12-rc4

2005-08-02 Thread Stelian Pop
Le mardi 02 août 2005 à 09:17 +0200, Elimar Riesebieter a écrit :

> > [ fnkey not working on Apple Powerbooks in -mm tree ]

> > Hmm, there seem to be a lot of divergence between -mm and linus tree
> > here, and this may be the cause of the malfunction. 
> > 
> > Let me do some tests tomorrow with an -mm kernel and see if I find
> > something.

Ok, the -mm tree contains some other input patches which conflict with
my Fn key patch
(input-quirk-for-the-fn-key-on-powerbooks-with-an-usb.patch). The
attached patch makes it work again.

Andrew, please apply.

Stelian.

Newer input patches added a HID_UP_LOGIVENDOR switch case which disrupts
the Apple Powerbooks Fn key patch. Moving a few lines of code from the
'default' switch case to the new location makes it work again.

Signed-off-by: Stelian Pop <[EMAIL PROTECTED]>

Index: linux-2.6.12-rc4-mm1/drivers/usb/input/hid-input.c
===
--- linux-2.6.12-rc4-mm1.orig/drivers/usb/input/hid-input.c 2005-08-02 
09:44:28.0 +0200
+++ linux-2.6.12-rc4-mm1/drivers/usb/input/hid-input.c  2005-08-02 
10:57:13.0 +0200
@@ -323,6 +323,11 @@
 
case HID_UP_MSVENDOR:
case HID_UP_LOGIVENDOR:
+
+   if ((device->quirks & HID_QUIRK_POWERBOOK_FN_BUTTON) && 
(usage->hid == 0x00ff0003)) {
+   map_key_clear(KEY_RIGHTCTRL);
+   break;
+   }
goto ignore;
 
case HID_UP_LOGIVENDOR2: /* Reported on Logitech Ultra X Media 
Remote */
@@ -376,10 +381,7 @@
 
default:
unknown:
-   if ((device->quirks & HID_QUIRK_POWERBOOK_FN_BUTTON) && 
(usage->hid == 0x00ff0003)) {
-   map_key_clear(KEY_RIGHTCTRL);
-   break;
-   }
+
if (field->report_size == 1) {
if (field->report->type == HID_OUTPUT_REPORT) {
map_led(LED_MISC);
 

-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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: 2.6.13-rc3-mm3

2005-08-02 Thread Stelian Pop
Le lundi 01 août 2005 à 16:37 +0200, Stelian Pop a écrit :

  Also, it looks like sonypi really is pretty nasty to probe for, so it's 
  not enough to just say oh, it's a sony VAIO, let's reserve that region. 
  Otherwise I'd just suggest adding a dmi_check_system() table to 
  arch/i386/pci/i386.c, at the top of pcibios_assign_resources(), and 
  then you could just allocate things based on DMI information.

 Since every Vaio laptop out there seems indeed to use only the first IO
 port range in the list, we can de-nastyify the probe. And if we don't
 even bother to check for Type1 vs. Type2 devices and we reserve both,
 then it may be acceptable to do the above.
 
 See the attached patch below which does just that. This has NOT been
 tested (only compile-tested), and moreover it has a high breakage
 probability in case some Vaios cannot live with the fixed ioport choice.
 
 Note that this patch will conflict with the recent Eric's one (added in
 CC:), he may want to rediff his Type3 changes in case this patch gets
 in.

I had no feedback at all on the patch so I have no idea if this will go
in or not, but since Eric's patch was accepted into -mm I rediffed the
patch in order to ease the testing (in case someone is willing to test
it).

Stelian.

Mark some IO regions reserved on Sony Vaio laptops because the sonypi
driver will need them later, and we don't want another driver to reserve
them before the sonypi driver starts.

Signed-off-by: Stelian Pop [EMAIL PROTECTED]

 arch/i386/pci/i386.c  |   42 +
 drivers/char/sonypi.c |   71 ++
 2 files changed, 57 insertions(+), 56 deletions(-)

Index: linux-2.6.git/arch/i386/pci/i386.c
===
--- linux-2.6.git.orig/arch/i386/pci/i386.c 2005-08-02 10:21:58.0 
+0200
+++ linux-2.6.git/arch/i386/pci/i386.c  2005-08-02 10:28:26.0 +0200
@@ -30,6 +30,7 @@
 #include linux/init.h
 #include linux/ioport.h
 #include linux/errno.h
+#include linux/dmi.h
 
 #include pci.h
 
@@ -167,12 +168,53 @@
}
 }
 
+/*
+ * Reserve IO ports used later by the sonypi driver, or they may got used
+ * by other devices.
+ */
+static int __init sonyvaio_reserve_ioports(struct dmi_system_id *d)
+{
+   /* IO ports for 'type1' device */
+   if (!request_region(0x10c0, 0x08, Sony Programable I/O Type1 Device))
+   printk(KERN_ERR Sony Vaio: cannot reserve Type1 IO region\n);
+
+   /* IO ports for 'type2' and 'type3' devices */
+   if (!request_region(0x1080, 0x20, Sony Programable I/O Type2 Device))
+   printk(KERN_ERR Sony Vaio: cannot reserve Type2 IO region\n);
+
+   printk(KERN_INFO Sony Vaio: pre-reserved IO ports\n);
+
+   return 0;
+}
+
+static struct dmi_system_id __initdata sonyvaioio_dmi_table[] = {
+   {
+   .callback = sonyvaio_reserve_ioports,
+   .ident = Sony Vaio Laptop,
+   .matches = {
+   DMI_MATCH(DMI_SYS_VENDOR, Sony Corporation),
+   DMI_MATCH(DMI_PRODUCT_NAME, PCG-),
+   },
+   },
+   {
+   .callback = sonyvaio_reserve_ioports,
+   .ident = Sony Vaio Laptop,
+   .matches = {
+   DMI_MATCH(DMI_SYS_VENDOR, Sony Corporation),
+   DMI_MATCH(DMI_PRODUCT_NAME, VGN-),
+   },
+   },
+   { }
+};
+
 static int __init pcibios_assign_resources(void)
 {
struct pci_dev *dev = NULL;
int idx;
struct resource *r;
 
+   dmi_check_system(sonyvaioio_dmi_table);
+
for_each_pci_dev(dev) {
int class = dev-class  8;
 
Index: linux-2.6.git/drivers/char/sonypi.c
===
--- linux-2.6.git.orig/drivers/char/sonypi.c2005-08-02 10:22:18.0 
+0200
+++ linux-2.6.git/drivers/char/sonypi.c 2005-08-02 10:27:28.0 +0200
@@ -105,7 +105,9 @@
 #define SONYPI_IRQ_SHIFT   22
 #define SONYPI_TYPE1_BASE  0x50
 #define SONYPI_G10A(SONYPI_TYPE1_BASE+0x14)
-#define SONYPI_TYPE1_REGION_SIZE   0x08
+/* those ports are reserved in arch/i386/pci/i386.c */
+#define SONYPI_TYPE1_IOPORT1   0x10c0
+#define SONYPI_TYPE1_IOPORT2   0x10c4
 #define SONYPI_TYPE1_EVTYPE_OFFSET 0x04
 
 /* type2 series specifics */
@@ -113,13 +115,18 @@
 #define SONYPI_SLOB0x9c
 #define SONYPI_SHIB0x9d
 #define SONYPI_TYPE2_REGION_SIZE   0x20
+/* those ports are reserved in arch/i386/pci/i386.c */
+#define SONYPI_TYPE2_IOPORT1   0x1080
+#define SONYPI_TYPE2_IOPORT2   0x1084
 #define SONYPI_TYPE2_EVTYPE_OFFSET 0x12
 
 /* type3 series specifics */
 #define SONYPI_TYPE3_BASE  0x40
 #define SONYPI_TYPE3_GID2  (SONYPI_TYPE3_BASE+0x48) /* 16 bits */
 #define SONYPI_TYPE3_MISC

[PATCH] sonypi: remove obsolete event

2005-08-02 Thread Stelian Pop
I had this one in my tree for a long time, please apply.

Stelian.

Remove old obsolete event.

Signed-off-by: Stelian Pop [EMAIL PROTECTED]

Index: linux-2.6.git/drivers/char/sonypi.c
===
--- linux-2.6.git.orig/drivers/char/sonypi.c2005-08-02 10:22:15.0 
+0200
+++ linux-2.6.git/drivers/char/sonypi.c 2005-08-02 10:22:18.0 +0200
@@ -406,7 +406,6 @@
{ SONYPI_DEVICE_MODEL_TYPE2, 0x31, SONYPI_BLUETOOTH_MASK, sonypi_blueev 
},
{ SONYPI_DEVICE_MODEL_TYPE2, 0x08, SONYPI_PKEY_MASK, sonypi_pkeyev },
{ SONYPI_DEVICE_MODEL_TYPE2, 0x11, SONYPI_BACK_MASK, sonypi_backev },
-   { SONYPI_DEVICE_MODEL_TYPE2, 0x08, SONYPI_HELP_MASK, sonypi_helpev },
{ SONYPI_DEVICE_MODEL_TYPE2, 0x21, SONYPI_HELP_MASK, sonypi_helpev },
{ SONYPI_DEVICE_MODEL_TYPE2, 0x21, SONYPI_ZOOM_MASK, sonypi_zoomev },
{ SONYPI_DEVICE_MODEL_TYPE2, 0x20, SONYPI_THUMBPHRASE_MASK, 
sonypi_thumbphraseev },

-- 
Stelian Pop [EMAIL PROTECTED]

-
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] meye: use dma-mapping constants

2005-08-02 Thread Stelian Pop
Hi,

This patch comes from the janitors and have been in my tree for quite
some time now. Please apply.

Stelian.

Use the DMA_32BIT_MASK constant from dma-mapping.h when calling
pci_set_dma_mask() or pci_set_consistent_dma_mask()
This patch includes dma-mapping.h explicitly because it caused errors
on some architectures otherwise.
See http://marc.theaimsgroup.com/?t=10800199301r=1w=2 for details

Signed-off-by: Tobias Klauser [EMAIL PROTECTED]
Signed-off-by: Stelian Pop [EMAIL PROTECTED]

Index: linux-2.6.git/drivers/media/video/meye.c
===
--- linux-2.6.git.orig/drivers/media/video/meye.c   2005-07-08 
14:08:17.0 +0200
+++ linux-2.6.git/drivers/media/video/meye.c2005-08-02 10:22:23.0 
+0200
@@ -37,6 +37,7 @@
 #include linux/delay.h
 #include linux/interrupt.h
 #include linux/vmalloc.h
+#include linux/dma-mapping.h
 
 #include meye.h
 #include linux/meye.h
@@ -121,7 +122,7 @@
memset(meye.mchip_ptable, 0, sizeof(meye.mchip_ptable));
 
/* give only 32 bit DMA addresses */
-   if (dma_set_mask(meye.mchip_dev-dev, 0x))
+   if (dma_set_mask(meye.mchip_dev-dev, DMA_32BIT_MASK))
return -1;
 
meye.mchip_ptable_toc = dma_alloc_coherent(meye.mchip_dev-dev,

-- 
Stelian Pop [EMAIL PROTECTED]

-
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: Fn key and 2.6.12-rc4

2005-08-02 Thread Stelian Pop
Le mardi 02 août 2005 à 09:17 +0200, Elimar Riesebieter a écrit :

  [ fnkey not working on Apple Powerbooks in -mm tree ]

  Hmm, there seem to be a lot of divergence between -mm and linus tree
  here, and this may be the cause of the malfunction. 
  
  Let me do some tests tomorrow with an -mm kernel and see if I find
  something.

Ok, the -mm tree contains some other input patches which conflict with
my Fn key patch
(input-quirk-for-the-fn-key-on-powerbooks-with-an-usb.patch). The
attached patch makes it work again.

Andrew, please apply.

Stelian.

Newer input patches added a HID_UP_LOGIVENDOR switch case which disrupts
the Apple Powerbooks Fn key patch. Moving a few lines of code from the
'default' switch case to the new location makes it work again.

Signed-off-by: Stelian Pop [EMAIL PROTECTED]

Index: linux-2.6.12-rc4-mm1/drivers/usb/input/hid-input.c
===
--- linux-2.6.12-rc4-mm1.orig/drivers/usb/input/hid-input.c 2005-08-02 
09:44:28.0 +0200
+++ linux-2.6.12-rc4-mm1/drivers/usb/input/hid-input.c  2005-08-02 
10:57:13.0 +0200
@@ -323,6 +323,11 @@
 
case HID_UP_MSVENDOR:
case HID_UP_LOGIVENDOR:
+
+   if ((device-quirks  HID_QUIRK_POWERBOOK_FN_BUTTON)  
(usage-hid == 0x00ff0003)) {
+   map_key_clear(KEY_RIGHTCTRL);
+   break;
+   }
goto ignore;
 
case HID_UP_LOGIVENDOR2: /* Reported on Logitech Ultra X Media 
Remote */
@@ -376,10 +381,7 @@
 
default:
unknown:
-   if ((device-quirks  HID_QUIRK_POWERBOOK_FN_BUTTON)  
(usage-hid == 0x00ff0003)) {
-   map_key_clear(KEY_RIGHTCTRL);
-   break;
-   }
+
if (field-report_size == 1) {
if (field-report-type == HID_OUTPUT_REPORT) {
map_led(LED_MISC);
 

-- 
Stelian Pop [EMAIL PROTECTED]

-
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: powerbook power-off and 2.6.13-rc[3,4]

2005-08-02 Thread Stelian Pop
Le mardi 02 août 2005 à 13:38 +0200, Johannes Berg a écrit :
 Pavel Machek wrote:
 
 Can you try without USB?
 
 Not really. The keyboard is USB, and there's no PS/2 connector. I guess 
 I maybe could do it via a timer, unload the modules and then have it 
 shut down afterwards...

I'll build a kernel without USB and drive the laptop over the net and
see what happens.

  With USB but without experimental
 CONFIG_USB_SUSPEND?
   
 
 I don't have USB_SUSPEND enabled, IIRC (don't have the PB with me, but 
 I'm pretty sure I checked this yesterday. If you don't hear back, assume 
 it wasn't enabled)

I don't have USB_SUSPEND enabled.

Stelian.
-- 
Stelian Pop [EMAIL PROTECTED]

-
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: powerbook power-off and 2.6.13-rc[3,4]

2005-08-02 Thread Stelian Pop
Le mardi 02 août 2005 à 13:43 +0200, Stelian Pop a écrit :

  Pavel Machek wrote:
  
  Can you try without USB?
  
  Not really. The keyboard is USB, and there's no PS/2 connector. I guess 
  I maybe could do it via a timer, unload the modules and then have it 
  shut down afterwards...
 
 I'll build a kernel without USB and drive the laptop over the net and
 see what happens.

Without CONFIG_USB the poweroff still hangs, and this time the panel
goes completly white with dark spots appearing all over it (kinda scary
btw). A 5 seconds press on the power button force it to power off.

This is on a 2.6.13-rc4, and I'm attaching the .config in case it
matters.

Stelian.
-- 
Stelian Pop [EMAIL PROTECTED]
CONFIG_MMU=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_HAVE_DEC_LOCK=y
CONFIG_PPC=y
CONFIG_PPC32=y
CONFIG_GENERIC_NVRAM=y
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSCTL=y
CONFIG_HOTPLUG=y
CONFIG_KOBJECT_UEVENT=y
CONFIG_KALLSYMS=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SHMEM=y
CONFIG_CC_ALIGN_FUNCTIONS=0
CONFIG_CC_ALIGN_LABELS=0
CONFIG_CC_ALIGN_LOOPS=0
CONFIG_CC_ALIGN_JUMPS=0
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_OBSOLETE_MODPARM=y
CONFIG_MODVERSIONS=y
CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_KMOD=y
CONFIG_6xx=y
CONFIG_PPC_FPU=y
CONFIG_ALTIVEC=y
CONFIG_TAU=y
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
CONFIG_CPU_FREQ_STAT=y
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
CONFIG_CPU_FREQ_PMAC=y
CONFIG_PM=y
CONFIG_PPC_STD_MMU=y
CONFIG_PPC_MULTIPLATFORM=y
CONFIG_PPC_CHRP=y
CONFIG_PPC_PMAC=y
CONFIG_PPC_PREP=y
CONFIG_PPC_OF=y
CONFIG_PPCBUG_NVRAM=y
CONFIG_HIGHMEM=y
CONFIG_HZ_250=y
CONFIG_HZ=250
CONFIG_PREEMPT_NONE=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_BINFMT_ELF=y
CONFIG_PROC_DEVICETREE=y
CONFIG_PREP_RESIDUAL=y
CONFIG_PROC_PREPRESIDUAL=y
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE=console=ttyS0,9600 console=tty0 root=/dev/sda2
CONFIG_SOFTWARE_SUSPEND=y
CONFIG_PM_STD_PARTITION=
CONFIG_SECCOMP=y
CONFIG_ISA_DMA_API=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCI_LEGACY_PROC=y
CONFIG_PCCARD=y
CONFIG_PCMCIA=y
CONFIG_PCMCIA_LOAD_CIS=y
CONFIG_PCMCIA_IOCTL=y
CONFIG_CARDBUS=y
CONFIG_YENTA=y
CONFIG_PCCARD_NONSTATIC=y
CONFIG_HIGHMEM_START=0xfe00
CONFIG_LOWMEM_SIZE=0x3000
CONFIG_KERNEL_START=0xc000
CONFIG_TASK_SIZE=0x8000
CONFIG_BOOT_LOAD=0x0080
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_FIB_HASH=y
CONFIG_TCP_CONG_BIC=y
CONFIG_NETFILTER=y
CONFIG_IP_NF_CONNTRACK=y
CONFIG_IP_NF_FTP=y
CONFIG_IP_NF_IRC=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MATCH_LIMIT=y
CONFIG_IP_NF_MATCH_IPRANGE=y
CONFIG_IP_NF_MATCH_MAC=y
CONFIG_IP_NF_MATCH_PKTTYPE=y
CONFIG_IP_NF_MATCH_MARK=y
CONFIG_IP_NF_MATCH_MULTIPORT=y
CONFIG_IP_NF_MATCH_TOS=y
CONFIG_IP_NF_MATCH_RECENT=y
CONFIG_IP_NF_MATCH_ECN=y
CONFIG_IP_NF_MATCH_DSCP=y
CONFIG_IP_NF_MATCH_AH_ESP=y
CONFIG_IP_NF_MATCH_LENGTH=y
CONFIG_IP_NF_MATCH_TTL=y
CONFIG_IP_NF_MATCH_TCPMSS=y
CONFIG_IP_NF_MATCH_HELPER=y
CONFIG_IP_NF_MATCH_STATE=y
CONFIG_IP_NF_MATCH_OWNER=y
CONFIG_IP_NF_MATCH_ADDRTYPE=y
CONFIG_IP_NF_MATCH_REALM=y
CONFIG_IP_NF_MATCH_SCTP=y
CONFIG_IP_NF_MATCH_COMMENT=y
CONFIG_IP_NF_MATCH_HASHLIMIT=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_NF_TARGET_LOG=y
CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_IP_NF_TARGET_REDIRECT=y
CONFIG_IP_NF_NAT_IRC=y
CONFIG_IP_NF_NAT_FTP=y
CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_ARPTABLES=y
CONFIG_IP_NF_ARPFILTER=y
CONFIG_NET_CLS_ROUTE=y
CONFIG_BT=y
CONFIG_BT_L2CAP=y
CONFIG_BT_RFCOMM=y
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_HIDP=y
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=8192
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=
CONFIG_CDROM_PKTCDVD=m
CONFIG_CDROM_PKTCDVD_BUFFERS=8
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_BLK_DEV_IDECD=y
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
CONFIG_BLK_DEV_GENERIC=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_IDEDMA_PCI_AUTO=y
CONFIG_BLK_DEV_IDE_PMAC=y
CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y
CONFIG_BLK_DEV_IDEDMA_PMAC=y
CONFIG_BLK_DEV_IDEDMA=y
CONFIG_IDEDMA_AUTO=y
CONFIG_SCSI=y
CONFIG_SCSI_PROC_FS=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_SG=y
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_FC_ATTRS=y
CONFIG_SCSI_QLA2XXX=y
CONFIG_IEEE1394=y
CONFIG_IEEE1394_OUI_DB=y
CONFIG_IEEE1394_EXTRA_CONFIG_ROMS=y

Re: powerbook power-off and 2.6.13-rc[3,4]

2005-08-02 Thread Stelian Pop
Le mardi 02 août 2005 à 14:54 +0200, Pavel Machek a écrit :
 Hi!
 
Pavel Machek wrote:

Can you try without USB?

Not really. The keyboard is USB, and there's no PS/2 connector. I guess 
I maybe could do it via a timer, unload the modules and then have it 
shut down afterwards...
   
   I'll build a kernel without USB and drive the laptop over the net and
   see what happens.
  
  Without CONFIG_USB the poweroff still hangs, and this time the panel
  goes completly white with dark spots appearing all over it (kinda scary
  btw). A 5 seconds press on the power button force it to power off.
 
 Yep, looks like screen burning, right?

Exactly.

  So it is different kind of hang
 = USB has some problem but there's another one, too?

Seems that this is the case, yes.

  This is on a 2.6.13-rc4, and I'm attaching the .config in case it
  matters.
 
 Could you try inserting printks to see where it hangs? Aha, with
 display turned off that is not going to be funny.

Unfortunately I won't have time to debug this right now (I leave on
vacation tomorrow), so somebody else will have to do it (and no, it is
not going to be funny to do this without display, serial port, buzzer
etc)

Stelian.
-- 
Stelian Pop [EMAIL PROTECTED]

-
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: powerbook power-off and 2.6.13-rc[3,4]

2005-08-01 Thread Stelian Pop
Le lundi 01 août 2005 à 16:07 +0200, Johannes Berg a écrit :
> On Mon, 2005-08-01 at 15:54 +0200, Antonio-M. Corbi Bellot wrote:
> 
> > Has anyone observed this behaviour (O.S. halt ok but _no_ power-off at
> > the end) with these new '-rc' kernels?
> 
> Yes. I haven't looked for the cause yet though.

I found that if you comment the 
device_suspend(PMSG_SUSPEND);
line in kernel/sys.c, in the kernel_power_off() function, then it works
again, but I haven't had the time to look further.

I've put LKML in CC: in case this rings someone's bell.
 
Stelian.
-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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: 2.6.13-rc3-mm3

2005-08-01 Thread Stelian Pop
[Sorry all for the duplicate, LKML slipped somehow from the CC: line so I'm 
sending this again]

Le dimanche 31 juillet 2005 à 16:22 -0700, Linus Torvalds a écrit :

> Also, it looks like sonypi really is pretty nasty to probe for, so it's 
> not enough to just say "oh, it's a sony VAIO, let's reserve that region". 
> Otherwise I'd just suggest adding a "dmi_check_system()" table to 
> arch/i386/pci/i386.c, at the top of "pcibios_assign_resources()", and 
> then you could just allocate things based on DMI information.

Since every Vaio laptop out there seems indeed to use only the first IO
port range in the list, we can de-nastyify the probe. And if we don't
even bother to check for Type1 vs. Type2 devices and we reserve both,
then it may be acceptable to do the above.

See the attached patch below which does just that. This has NOT been
tested (only compile-tested), and moreover it has a high breakage
probability in case some Vaios cannot live with the fixed ioport choice.

Note that this patch will conflict with the recent Eric's one (added in
CC:), he may want to rediff his Type3 changes in case this patch gets
in.

Stelian.


Mark some IO regions reserved on Sony Vaio laptops because the sonypi
driver will need them later, and we don't want another driver to reserve
them before the sonypi driver starts.
  
Signed-off-by: Stelian Pop <[EMAIL PROTECTED]>

 arch/i386/pci/i386.c  |   42 +++
 drivers/char/sonypi.c |   60 --
 2 files changed, 52 insertions(+), 50 deletions(-)

Index: linux-2.6.git/arch/i386/pci/i386.c
===
--- linux-2.6.git.orig/arch/i386/pci/i386.c 2005-07-08 14:08:10.0 
+0200
+++ linux-2.6.git/arch/i386/pci/i386.c  2005-08-01 15:46:06.0 +0200
@@ -30,6 +30,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #include "pci.h"
 
@@ -167,12 +168,53 @@
}
 }
 
+/*
+ * Reserve IO ports used later by the sonypi driver, or they may got used
+ * by other devices.
+ */
+static int __init sonyvaio_reserve_ioports(struct dmi_system_id *d)
+{
+   /* IO ports for 'type1' device */
+   if (!request_region(0x10c0, 0x08, "Sony Programable I/O Type1 Device"))
+   printk(KERN_ERR "Sony Vaio: cannot reserve Type1 IO region\n");
+
+   /* IO ports for 'type2' device */
+   if (!request_region(0x1080, 0x20, "Sony Programable I/O Type2 Device"))
+   printk(KERN_ERR "Sony Vaio: cannot reserve Type2 IO region\n");
+
+   printk(KERN_INFO "Sony Vaio: pre-reserved IO ports\n");
+
+   return 0;
+}
+
+static struct dmi_system_id __initdata sonyvaioio_dmi_table[] = {
+   {
+   .callback = sonyvaio_reserve_ioports,
+   .ident = "Sony Vaio Laptop",
+   .matches = {
+   DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"),
+   DMI_MATCH(DMI_PRODUCT_NAME, "PCG-"),
+   },
+   },
+   {
+   .callback = sonyvaio_reserve_ioports,
+   .ident = "Sony Vaio Laptop",
+   .matches = {
+   DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"),
+   DMI_MATCH(DMI_PRODUCT_NAME, "VGN-"),
+   },
+   },
+   { }
+};
+
 static int __init pcibios_assign_resources(void)
 {
struct pci_dev *dev = NULL;
int idx;
struct resource *r;
 
+   dmi_check_system(sonyvaioio_dmi_table);
+
for_each_pci_dev(dev) {
int class = dev->class >> 8;
 
Index: linux-2.6.git/drivers/char/sonypi.c
===
--- linux-2.6.git.orig/drivers/char/sonypi.c2005-08-01 11:06:47.0 
+0200
+++ linux-2.6.git/drivers/char/sonypi.c 2005-08-01 15:45:27.0 +0200
@@ -104,14 +104,18 @@
 #define SONYPI_IRQ_SHIFT   22
 #define SONYPI_BASE0x50
 #define SONYPI_G10A(SONYPI_BASE+0x14)
-#define SONYPI_TYPE1_REGION_SIZE   0x08
+/* those ports are reserved in arch/i386/pci/i386.c */
+#define SONYPI_TYPE1_IOPORT1   0x10c0
+#define SONYPI_TYPE1_IOPORT2   0x10c4
 #define SONYPI_TYPE1_EVTYPE_OFFSET 0x04
 
 /* type2 series specifics */
 #define SONYPI_SIRQ0x9b
 #define SONYPI_SLOB0x9c
 #define SONYPI_SHIB0x9d
-#define SONYPI_TYPE2_REGION_SIZE   0x20
+/* those ports are reserved in arch/i386/pci/i386.c */
+#define SONYPI_TYPE2_IOPORT1   0x1080
+#define SONYPI_TYPE2_IOPORT2   0x1084
 #define SONYPI_TYPE2_EVTYPE_OFFSET 0x12
 
 /* battery / brightness addresses */
@@ -136,29 +140,6 @@
 #define SONYPI_DATA_IOPORT 0x62
 #define SONYPI_CST_IOPORT  0

Re: [PATCH] sonypi, kernel 2.6.12.3

2005-08-01 Thread Stelian Pop
Le lundi 01 août 2005 à 02:59 +0200, Erik Waling a écrit :
> Newer Sony VAIO models (VGN-S480, VGN-S460, VGN-S3XP etc) use a new method to
> initialize the SPIC device. The new way to initialize (and disable) the device
> comes directly from the AML code in the _CRS, _SRS and _DIS methods from the
> DSDT table. This patch against 2.6.12.3 adds support for the new models.
> 
> -- Erik Waling  <[EMAIL PROTECTED]>
> 
> 
> 
> --- linux-2.6.12.3/drivers/char/sonypi.c  2005-07-15 16:18:57.0 
> -0500
> +++ linux/drivers/char/sonypi.c   2005-07-31 16:55:41.0 -0500

[...]

> + - some models with the nvidia card (geforce go 6200 tc) uses a 
> +   different way to adjust the backlighting of the screen. There
> +   is a userspace utility to adjust the brightness on those models.

Don't be shy, put the URL pointing to your SmartDimmer here :)

Otherwise you have my:
Signed-off-by: Stelian Pop <[EMAIL PROTECTED]>

Thanks Erik.

Stelian.
-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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] sonypi, kernel 2.6.12.3

2005-08-01 Thread Stelian Pop
Le lundi 01 août 2005 à 02:59 +0200, Erik Waling a écrit :
 Newer Sony VAIO models (VGN-S480, VGN-S460, VGN-S3XP etc) use a new method to
 initialize the SPIC device. The new way to initialize (and disable) the device
 comes directly from the AML code in the _CRS, _SRS and _DIS methods from the
 DSDT table. This patch against 2.6.12.3 adds support for the new models.
 
 -- Erik Waling  [EMAIL PROTECTED]
 
 
 
 --- linux-2.6.12.3/drivers/char/sonypi.c  2005-07-15 16:18:57.0 
 -0500
 +++ linux/drivers/char/sonypi.c   2005-07-31 16:55:41.0 -0500

[...]

 + - some models with the nvidia card (geforce go 6200 tc) uses a 
 +   different way to adjust the backlighting of the screen. There
 +   is a userspace utility to adjust the brightness on those models.

Don't be shy, put the URL pointing to your SmartDimmer here :)

Otherwise you have my:
Signed-off-by: Stelian Pop [EMAIL PROTECTED]

Thanks Erik.

Stelian.
-- 
Stelian Pop [EMAIL PROTECTED]

-
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: 2.6.13-rc3-mm3

2005-08-01 Thread Stelian Pop
[Sorry all for the duplicate, LKML slipped somehow from the CC: line so I'm 
sending this again]

Le dimanche 31 juillet 2005 à 16:22 -0700, Linus Torvalds a écrit :

 Also, it looks like sonypi really is pretty nasty to probe for, so it's 
 not enough to just say oh, it's a sony VAIO, let's reserve that region. 
 Otherwise I'd just suggest adding a dmi_check_system() table to 
 arch/i386/pci/i386.c, at the top of pcibios_assign_resources(), and 
 then you could just allocate things based on DMI information.

Since every Vaio laptop out there seems indeed to use only the first IO
port range in the list, we can de-nastyify the probe. And if we don't
even bother to check for Type1 vs. Type2 devices and we reserve both,
then it may be acceptable to do the above.

See the attached patch below which does just that. This has NOT been
tested (only compile-tested), and moreover it has a high breakage
probability in case some Vaios cannot live with the fixed ioport choice.

Note that this patch will conflict with the recent Eric's one (added in
CC:), he may want to rediff his Type3 changes in case this patch gets
in.

Stelian.


Mark some IO regions reserved on Sony Vaio laptops because the sonypi
driver will need them later, and we don't want another driver to reserve
them before the sonypi driver starts.
  
Signed-off-by: Stelian Pop [EMAIL PROTECTED]

 arch/i386/pci/i386.c  |   42 +++
 drivers/char/sonypi.c |   60 --
 2 files changed, 52 insertions(+), 50 deletions(-)

Index: linux-2.6.git/arch/i386/pci/i386.c
===
--- linux-2.6.git.orig/arch/i386/pci/i386.c 2005-07-08 14:08:10.0 
+0200
+++ linux-2.6.git/arch/i386/pci/i386.c  2005-08-01 15:46:06.0 +0200
@@ -30,6 +30,7 @@
 #include linux/init.h
 #include linux/ioport.h
 #include linux/errno.h
+#include linux/dmi.h
 
 #include pci.h
 
@@ -167,12 +168,53 @@
}
 }
 
+/*
+ * Reserve IO ports used later by the sonypi driver, or they may got used
+ * by other devices.
+ */
+static int __init sonyvaio_reserve_ioports(struct dmi_system_id *d)
+{
+   /* IO ports for 'type1' device */
+   if (!request_region(0x10c0, 0x08, Sony Programable I/O Type1 Device))
+   printk(KERN_ERR Sony Vaio: cannot reserve Type1 IO region\n);
+
+   /* IO ports for 'type2' device */
+   if (!request_region(0x1080, 0x20, Sony Programable I/O Type2 Device))
+   printk(KERN_ERR Sony Vaio: cannot reserve Type2 IO region\n);
+
+   printk(KERN_INFO Sony Vaio: pre-reserved IO ports\n);
+
+   return 0;
+}
+
+static struct dmi_system_id __initdata sonyvaioio_dmi_table[] = {
+   {
+   .callback = sonyvaio_reserve_ioports,
+   .ident = Sony Vaio Laptop,
+   .matches = {
+   DMI_MATCH(DMI_SYS_VENDOR, Sony Corporation),
+   DMI_MATCH(DMI_PRODUCT_NAME, PCG-),
+   },
+   },
+   {
+   .callback = sonyvaio_reserve_ioports,
+   .ident = Sony Vaio Laptop,
+   .matches = {
+   DMI_MATCH(DMI_SYS_VENDOR, Sony Corporation),
+   DMI_MATCH(DMI_PRODUCT_NAME, VGN-),
+   },
+   },
+   { }
+};
+
 static int __init pcibios_assign_resources(void)
 {
struct pci_dev *dev = NULL;
int idx;
struct resource *r;
 
+   dmi_check_system(sonyvaioio_dmi_table);
+
for_each_pci_dev(dev) {
int class = dev-class  8;
 
Index: linux-2.6.git/drivers/char/sonypi.c
===
--- linux-2.6.git.orig/drivers/char/sonypi.c2005-08-01 11:06:47.0 
+0200
+++ linux-2.6.git/drivers/char/sonypi.c 2005-08-01 15:45:27.0 +0200
@@ -104,14 +104,18 @@
 #define SONYPI_IRQ_SHIFT   22
 #define SONYPI_BASE0x50
 #define SONYPI_G10A(SONYPI_BASE+0x14)
-#define SONYPI_TYPE1_REGION_SIZE   0x08
+/* those ports are reserved in arch/i386/pci/i386.c */
+#define SONYPI_TYPE1_IOPORT1   0x10c0
+#define SONYPI_TYPE1_IOPORT2   0x10c4
 #define SONYPI_TYPE1_EVTYPE_OFFSET 0x04
 
 /* type2 series specifics */
 #define SONYPI_SIRQ0x9b
 #define SONYPI_SLOB0x9c
 #define SONYPI_SHIB0x9d
-#define SONYPI_TYPE2_REGION_SIZE   0x20
+/* those ports are reserved in arch/i386/pci/i386.c */
+#define SONYPI_TYPE2_IOPORT1   0x1080
+#define SONYPI_TYPE2_IOPORT2   0x1084
 #define SONYPI_TYPE2_EVTYPE_OFFSET 0x12
 
 /* battery / brightness addresses */
@@ -136,29 +140,6 @@
 #define SONYPI_DATA_IOPORT 0x62
 #define SONYPI_CST_IOPORT  0x66
 
-/* The set of possible ioports */
-struct sonypi_ioport_list {
-   u16 port1;
-   u16 port2;
-};
-
-static struct sonypi_ioport_list

Re: powerbook power-off and 2.6.13-rc[3,4]

2005-08-01 Thread Stelian Pop
Le lundi 01 août 2005 à 16:07 +0200, Johannes Berg a écrit :
 On Mon, 2005-08-01 at 15:54 +0200, Antonio-M. Corbi Bellot wrote:
 
  Has anyone observed this behaviour (O.S. halt ok but _no_ power-off at
  the end) with these new '-rc' kernels?
 
 Yes. I haven't looked for the cause yet though.

I found that if you comment the 
device_suspend(PMSG_SUSPEND);
line in kernel/sys.c, in the kernel_power_off() function, then it works
again, but I haven't had the time to look further.

I've put LKML in CC: in case this rings someone's bell.
 
Stelian.
-- 
Stelian Pop [EMAIL PROTECTED]

-
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: 2.6.13-rc3-mm3

2005-07-31 Thread Stelian Pop
Le dimanche 31 juillet 2005 à 11:25 -0700, Linus Torvalds a écrit :

>  - The SonyPI driver just allocates IO regions in random areas.

Those are not really random, the list of IO regions available is given
in the ACPI SPIC device specification. The list is hardcoded here
because the driver does not (yet ?) use the ACPI services for
initializing the device, and experience has shown that the list does not
vary with different models.

> and I think the real bug here is the SonyPI driver.
> 
> It should either use an IO port in the legacy motherboard resource area
> (ie allocate itself somewhere in IO ports 0x100-0x3ff),

this cannot be done, because the regions are already defined, and are
not in the legacy area.

>  _or_ it should 
> play well as a PCI device, and actually try to work with the PCI IO port 
> allocation layer.

sure, but the SPIC device is not really tied to a specific PCI device
(it is for the 'type1' models, but not for the 'type2' ones). That's why
the sonypi driver is not a PCI driver but relies on a DMI ident to
detect each and every Vaio laptop out there.

Stelian.
-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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: 2.6.13-rc3-mm3

2005-07-31 Thread Stelian Pop
Le dimanche 31 juillet 2005 à 11:25 -0700, Linus Torvalds a écrit :

  - The SonyPI driver just allocates IO regions in random areas.

Those are not really random, the list of IO regions available is given
in the ACPI SPIC device specification. The list is hardcoded here
because the driver does not (yet ?) use the ACPI services for
initializing the device, and experience has shown that the list does not
vary with different models.

 and I think the real bug here is the SonyPI driver.
 
 It should either use an IO port in the legacy motherboard resource area
 (ie allocate itself somewhere in IO ports 0x100-0x3ff),

this cannot be done, because the regions are already defined, and are
not in the legacy area.

  _or_ it should 
 play well as a PCI device, and actually try to work with the PCI IO port 
 allocation layer.

sure, but the SPIC device is not really tied to a specific PCI device
(it is for the 'type1' models, but not for the 'type2' ones). That's why
the sonypi driver is not a PCI driver but relies on a DMI ident to
detect each and every Vaio laptop out there.

Stelian.
-- 
Stelian Pop [EMAIL PROTECTED]

-
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] Input quirk for the Fn key on Powerbooks with an USB keyboard

2005-07-29 Thread Stelian Pop
Hi,

On newer Apple Powerbooks (post February 2005 ones at least) the ADB
keyboard has been replaced with an USB one conforming to the HID spec.

The 'Fn' modifier key on this keyboard is a soft key reported using an
application specific hid code. This key should act as a modifier in
order to make Home/End/Page Up/Page Down etc. work.

The attached patch makes the Fn key report a modifier keycode
(KEY_RIGHTCTRL) to the input layer by adding a quirk to the USB HID
input driver. Johannes Berg <[EMAIL PROTECTED]> should be
credited for the original version of this patch.

'Right control' is not the best choice for this key, especially since it
is physically placed on the keyboard on the left bottom corner. However,
this laptop already has left shift, control, alt and meta (apple) keys,
and right meta and shift keys. The only modifiers left are 'right
control' and 'right alt' and the first one was chosen. Choosing an
already defined modifier key eases the handling of this key especially
in X (where it can be mapped to SuperL or whatever).

Comments welcomed.

Thanks,

Stelian.

Signed-off-by: Stelian Pop <[EMAIL PROTECTED]>

 hid-core.c  |7 +++
 hid-input.c |8 
 hid.h   |1 +
 3 files changed, 16 insertions(+)

Index: linux-2.6.git/drivers/usb/input/hid-core.c
===
--- linux-2.6.git.orig/drivers/usb/input/hid-core.c 2005-07-28 
09:35:52.0 +0200
+++ linux-2.6.git/drivers/usb/input/hid-core.c  2005-07-28 12:22:31.0 
+0200
@@ -1446,6 +1446,10 @@
  * Alphabetically sorted blacklist by quirk type.
  */
 
+#define USB_VENDOR_ID_APPLE0x05AC
+#define USB_DEVICE_ID_POWERBOOK_KB_US  0x020E
+#define USB_DEVICE_ID_POWERBOOK_KB_UK  0x020F
+
 static struct hid_blacklist {
__u16 idVendor;
__u16 idProduct;
@@ -1557,6 +1561,9 @@
{ USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_RUMBLEPAD, 
HID_QUIRK_BADPAD },
{ USB_VENDOR_ID_TOPMAX, USB_DEVICE_ID_TOPMAX_COBRAPAD, HID_QUIRK_BADPAD 
},
 
+   { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_POWERBOOK_KB_US, 
HID_QUIRK_POWERBOOK_FN_BUTTON },
+   { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_POWERBOOK_KB_UK, 
HID_QUIRK_POWERBOOK_FN_BUTTON },
+
{ 0, 0 }
 };
 
Index: linux-2.6.git/drivers/usb/input/hid-input.c
===
--- linux-2.6.git.orig/drivers/usb/input/hid-input.c2005-07-28 
09:35:52.0 +0200
+++ linux-2.6.git/drivers/usb/input/hid-input.c 2005-07-28 12:23:14.0 
+0200
@@ -106,6 +106,10 @@
} else
map_key(KEY_UNKNOWN);
 
+   if ((device->quirks & HID_QUIRK_POWERBOOK_FN_BUTTON) &&
+   (hid_keyboard[usage->hid & HID_USAGE] == 
KEY_RIGHTCTRL))
+   map_key(KEY_UNKNOWN);
+
break;
 
case HID_UP_BUTTON:
@@ -324,6 +328,10 @@
 
default:
unknown:
+   if ((device->quirks & HID_QUIRK_POWERBOOK_FN_BUTTON) && 
(usage->hid == 0x00ff0003)) {
+   map_key_clear(KEY_RIGHTCTRL);
+   break;
+   }
if (field->report_size == 1) {
if (field->report->type == HID_OUTPUT_REPORT) {
map_led(LED_MISC);
Index: linux-2.6.git/drivers/usb/input/hid.h
===
--- linux-2.6.git.orig/drivers/usb/input/hid.h  2005-07-28 09:35:52.0 
+0200
+++ linux-2.6.git/drivers/usb/input/hid.h   2005-07-28 12:22:31.0 
+0200
@@ -242,6 +242,7 @@
 #define HID_QUIRK_2WHEEL_MOUSE_HACK_7  0x080
 #define HID_QUIRK_2WHEEL_MOUSE_HACK_5  0x100
 #define HID_QUIRK_2WHEEL_MOUSE_HACK_ON 0x200
+#define HID_QUIRK_POWERBOOK_FN_BUTTON  0x400
 
 /*
  * This is the global environment of the parser. This information is

-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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] Input quirk for the Fn key on Powerbooks with an USB keyboard

2005-07-29 Thread Stelian Pop
Hi,

On newer Apple Powerbooks (post February 2005 ones at least) the ADB
keyboard has been replaced with an USB one conforming to the HID spec.

The 'Fn' modifier key on this keyboard is a soft key reported using an
application specific hid code. This key should act as a modifier in
order to make Home/End/Page Up/Page Down etc. work.

The attached patch makes the Fn key report a modifier keycode
(KEY_RIGHTCTRL) to the input layer by adding a quirk to the USB HID
input driver. Johannes Berg [EMAIL PROTECTED] should be
credited for the original version of this patch.

'Right control' is not the best choice for this key, especially since it
is physically placed on the keyboard on the left bottom corner. However,
this laptop already has left shift, control, alt and meta (apple) keys,
and right meta and shift keys. The only modifiers left are 'right
control' and 'right alt' and the first one was chosen. Choosing an
already defined modifier key eases the handling of this key especially
in X (where it can be mapped to SuperL or whatever).

Comments welcomed.

Thanks,

Stelian.

Signed-off-by: Stelian Pop [EMAIL PROTECTED]

 hid-core.c  |7 +++
 hid-input.c |8 
 hid.h   |1 +
 3 files changed, 16 insertions(+)

Index: linux-2.6.git/drivers/usb/input/hid-core.c
===
--- linux-2.6.git.orig/drivers/usb/input/hid-core.c 2005-07-28 
09:35:52.0 +0200
+++ linux-2.6.git/drivers/usb/input/hid-core.c  2005-07-28 12:22:31.0 
+0200
@@ -1446,6 +1446,10 @@
  * Alphabetically sorted blacklist by quirk type.
  */
 
+#define USB_VENDOR_ID_APPLE0x05AC
+#define USB_DEVICE_ID_POWERBOOK_KB_US  0x020E
+#define USB_DEVICE_ID_POWERBOOK_KB_UK  0x020F
+
 static struct hid_blacklist {
__u16 idVendor;
__u16 idProduct;
@@ -1557,6 +1561,9 @@
{ USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_RUMBLEPAD, 
HID_QUIRK_BADPAD },
{ USB_VENDOR_ID_TOPMAX, USB_DEVICE_ID_TOPMAX_COBRAPAD, HID_QUIRK_BADPAD 
},
 
+   { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_POWERBOOK_KB_US, 
HID_QUIRK_POWERBOOK_FN_BUTTON },
+   { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_POWERBOOK_KB_UK, 
HID_QUIRK_POWERBOOK_FN_BUTTON },
+
{ 0, 0 }
 };
 
Index: linux-2.6.git/drivers/usb/input/hid-input.c
===
--- linux-2.6.git.orig/drivers/usb/input/hid-input.c2005-07-28 
09:35:52.0 +0200
+++ linux-2.6.git/drivers/usb/input/hid-input.c 2005-07-28 12:23:14.0 
+0200
@@ -106,6 +106,10 @@
} else
map_key(KEY_UNKNOWN);
 
+   if ((device-quirks  HID_QUIRK_POWERBOOK_FN_BUTTON) 
+   (hid_keyboard[usage-hid  HID_USAGE] == 
KEY_RIGHTCTRL))
+   map_key(KEY_UNKNOWN);
+
break;
 
case HID_UP_BUTTON:
@@ -324,6 +328,10 @@
 
default:
unknown:
+   if ((device-quirks  HID_QUIRK_POWERBOOK_FN_BUTTON)  
(usage-hid == 0x00ff0003)) {
+   map_key_clear(KEY_RIGHTCTRL);
+   break;
+   }
if (field-report_size == 1) {
if (field-report-type == HID_OUTPUT_REPORT) {
map_led(LED_MISC);
Index: linux-2.6.git/drivers/usb/input/hid.h
===
--- linux-2.6.git.orig/drivers/usb/input/hid.h  2005-07-28 09:35:52.0 
+0200
+++ linux-2.6.git/drivers/usb/input/hid.h   2005-07-28 12:22:31.0 
+0200
@@ -242,6 +242,7 @@
 #define HID_QUIRK_2WHEEL_MOUSE_HACK_7  0x080
 #define HID_QUIRK_2WHEEL_MOUSE_HACK_5  0x100
 #define HID_QUIRK_2WHEEL_MOUSE_HACK_ON 0x200
+#define HID_QUIRK_POWERBOOK_FN_BUTTON  0x400
 
 /*
  * This is the global environment of the parser. This information is

-- 
Stelian Pop [EMAIL PROTECTED]

-
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] Apple USB Touchpad driver (new)

2005-07-12 Thread Stelian Pop
Le mardi 12 juillet 2005 à 20:13 +0200, Vojtech Pavlik a écrit :

> Stelian, can you please update the patch to use usb_to_input_id()? It'll
> go through -mm first, anyway, so there shouldn't be any issue with
> Linus's kernels not having that function yet.

Sure, here it comes.

Stelian.

Changes:
* removed local version number
* use usb_to_input_id() instead of manually setting the fields

Signed-off-by: Stelian Pop <[EMAIL PROTECTED]>

 Documentation/input/appletouch.txt |   84 ++
 drivers/usb/input/Kconfig  |   19 +
 drivers/usb/input/Makefile |1 
 drivers/usb/input/appletouch.c |  467 +
 4 files changed, 571 insertions(+)

Index: linux-2.6.git/drivers/usb/input/Makefile
===
--- linux-2.6.git.orig/drivers/usb/input/Makefile   2005-07-12 
09:47:53.0 +0200
+++ linux-2.6.git/drivers/usb/input/Makefile2005-07-12 09:49:17.0 
+0200
@@ -39,3 +39,4 @@
 obj-$(CONFIG_USB_WACOM)+= wacom.o
 obj-$(CONFIG_USB_ACECAD)   += acecad.o
 obj-$(CONFIG_USB_XPAD) += xpad.o
+obj-$(CONFIG_USB_APPLETOUCH)   += appletouch.o
Index: linux-2.6.git/drivers/usb/input/Kconfig
===
--- linux-2.6.git.orig/drivers/usb/input/Kconfig2005-07-12 
09:47:53.0 +0200
+++ linux-2.6.git/drivers/usb/input/Kconfig 2005-07-12 09:49:17.0 
+0200
@@ -259,3 +259,22 @@
  To compile this driver as a module, choose M here: the module will be
  called ati_remote.
 
+config USB_APPLETOUCH
+   tristate "Apple USB Touchpad support"
+   depends on USB && INPUT
+   ---help---
+ Say Y here if you want to use an Apple USB Touchpad.
+
+ These are the touchpads that can be found on post-February 2005
+ Apple Powerbooks (prior models have a Synaptics touchpad connected
+ to the ADB bus).
+
+ This driver provides a basic mouse driver but can be interfaced
+ with the synaptics X11 driver to provide acceleration and
+ scrolling in X11.
+
+ For further information, see
+ .
+
+ To compile this driver as a module, choose M here: the
+ module will be called appletouch.
Index: linux-2.6.git/Documentation/input/appletouch.txt
===
--- /dev/null   1970-01-01 00:00:00.0 +
+++ linux-2.6.git/Documentation/input/appletouch.txt2005-07-12 
10:22:23.0 +0200
@@ -0,0 +1,84 @@
+Apple Touchpad Driver (appletouch)
+--
+       Copyright (C) 2005 Stelian Pop <[EMAIL PROTECTED]>
+
+appletouch is a Linux kernel driver for the USB touchpad found on post
+February 2005 Apple Alu Powerbooks.
+
+This driver is derived from Johannes Berg's appletrackpad driver[1], but it has
+been improved in some areas:
+   * appletouch is a full kernel driver, no userspace program is necessary
+   * appletouch can be interfaced with the synaptics X11 driver, in order
+ to have touchpad acceleration, scrolling, etc.
+
+Credits go to Johannes Berg for reverse-engineering the touchpad protocol,
+Frank Arnold for further improvements, and Alex Harper for some additional
+information about the inner workings of the touchpad sensors.
+
+Usage:
+--
+
+In order to use the touchpad in the basic mode, compile the driver and load
+the module. A new input device will be detected and you will be able to read
+the mouse data from /dev/input/mice (using gpm, or X11).
+
+In X11, you can configure the touchpad to use the synaptics X11 driver, which
+will give additional functionalities, like acceleration, scrolling, 2 finger
+tap for middle button mouse emulation, 3 finger tap for right button mouse
+emulation, etc. In order to do this, make sure you're using a recent version of
+the synaptics driver (tested with 0.14.2, available from [2]), and configure a
+new input device in your X11 configuration file (take a look below for an
+example). For additional configuration, see the synaptics driver documentation.
+
+   Section "InputDevice"
+   Identifier  "Synaptics Touchpad"
+   Driver  "synaptics"
+   Option  "SendCoreEvents""true"
+   Option  "Device""/dev/input/mice"
+   Option  "Protocol"  "auto-dev"
+   Option  "LeftEdge"  "0"
+   Option  "RightEdge" "850"
+   Option  "TopEdge"   "0"
+   Option  "BottomEdge""645"

Re: [PATCH] Apple USB Touchpad driver (new)

2005-07-12 Thread Stelian Pop
Le mardi 12 juillet 2005 à 09:13 -0500, Dmitry Torokhov a écrit :
> Hi,
> 
> On 7/12/05, Stelian Pop <[EMAIL PROTECTED]> wrote:
> >
> > +   dev->input.id.bustype = BUS_USB;
> > +   dev->input.id.vendor = id->idVendor;
> > +   dev->input.id.product = id->idProduct;
> > +   dev->input.id.version = ATP_DRIVER_VERSION;
> > +
> 
> Why don't we do what most of the other input devices and get version
> from the device too? 

I guess we could, there is not much use for a local driver version
anyway.

> Actually we have this in input tree:
> 
> static inline void
> usb_to_input_id(const struct usb_device *dev, struct input_id *id)

This cleans up a lot of code indeed. Too bad this is not upstream yet...

Stelian.
-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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] Apple USB Touchpad driver (new)

2005-07-12 Thread Stelian Pop
Le lundi 11 juillet 2005 à 13:21 +0200, Vojtech Pavlik a écrit :

> > > This could be quite useful, too, for right and middle button taps (2 and
> > > 3 fingers) - since the Macs lack these buttons.
> > 
> > Indeed. But this can be a later improvement, let's make one finger work
> > for now :)

Thanks to Peter Osterlund, I now have 2 and 3 finger tap working.

Please apply the attached patch.

Thanks,

Stelian.

Changes:
* implement detection of 2 and 3 finger tap (thanks to Peter Osterlund)
* moved the static variables into the atp device structure
* print the timestamp in debug messages

Signed-off-by: Stelian Pop <[EMAIL PROTECTED]>

 Documentation/input/appletouch.txt |   84 ++
 drivers/usb/input/Kconfig  |   19 +
 drivers/usb/input/Makefile |1 
 drivers/usb/input/appletouch.c |  471 +
 4 files changed, 575 insertions(+)

Index: linux-2.6.git/drivers/usb/input/Makefile
===
--- linux-2.6.git.orig/drivers/usb/input/Makefile   2005-07-12 
09:47:53.0 +0200
+++ linux-2.6.git/drivers/usb/input/Makefile2005-07-12 09:49:17.0 
+0200
@@ -39,3 +39,4 @@
 obj-$(CONFIG_USB_WACOM)+= wacom.o
 obj-$(CONFIG_USB_ACECAD)   += acecad.o
 obj-$(CONFIG_USB_XPAD) += xpad.o
+obj-$(CONFIG_USB_APPLETOUCH)   += appletouch.o
Index: linux-2.6.git/drivers/usb/input/Kconfig
===
--- linux-2.6.git.orig/drivers/usb/input/Kconfig2005-07-12 
09:47:53.0 +0200
+++ linux-2.6.git/drivers/usb/input/Kconfig 2005-07-12 09:49:17.0 
+0200
@@ -259,3 +259,22 @@
  To compile this driver as a module, choose M here: the module will be
  called ati_remote.
 
+config USB_APPLETOUCH
+   tristate "Apple USB Touchpad support"
+   depends on USB && INPUT
+   ---help---
+ Say Y here if you want to use an Apple USB Touchpad.
+
+ These are the touchpads that can be found on post-February 2005
+ Apple Powerbooks (prior models have a Synaptics touchpad connected
+ to the ADB bus).
+
+ This driver provides a basic mouse driver but can be interfaced
+ with the synaptics X11 driver to provide acceleration and
+ scrolling in X11.
+
+ For further information, see
+ .
+
+ To compile this driver as a module, choose M here: the
+ module will be called appletouch.
Index: linux-2.6.git/Documentation/input/appletouch.txt
===
--- /dev/null   1970-01-01 00:00:00.0 +
+++ linux-2.6.git/Documentation/input/appletouch.txt2005-07-12 
10:22:23.0 +0200
@@ -0,0 +1,84 @@
+Apple Touchpad Driver (appletouch)
+----------
+   Copyright (C) 2005 Stelian Pop <[EMAIL PROTECTED]>
+
+appletouch is a Linux kernel driver for the USB touchpad found on post
+February 2005 Apple Alu Powerbooks.
+
+This driver is derived from Johannes Berg's appletrackpad driver[1], but it has
+been improved in some areas:
+   * appletouch is a full kernel driver, no userspace program is necessary
+   * appletouch can be interfaced with the synaptics X11 driver, in order
+ to have touchpad acceleration, scrolling, etc.
+
+Credits go to Johannes Berg for reverse-engineering the touchpad protocol,
+Frank Arnold for further improvements, and Alex Harper for some additional
+information about the inner workings of the touchpad sensors.
+
+Usage:
+--
+
+In order to use the touchpad in the basic mode, compile the driver and load
+the module. A new input device will be detected and you will be able to read
+the mouse data from /dev/input/mice (using gpm, or X11).
+
+In X11, you can configure the touchpad to use the synaptics X11 driver, which
+will give additional functionalities, like acceleration, scrolling, 2 finger
+tap for middle button mouse emulation, 3 finger tap for right button mouse
+emulation, etc. In order to do this, make sure you're using a recent version of
+the synaptics driver (tested with 0.14.2, available from [2]), and configure a
+new input device in your X11 configuration file (take a look below for an
+example). For additional configuration, see the synaptics driver documentation.
+
+   Section "InputDevice"
+   Identifier  "Synaptics Touchpad"
+   Driver  "synaptics"
+   Option  "SendCoreEvents""true"
+   Option  "Device""/dev/input/mice"
+   Option  "Protocol"  "auto-dev"
+   Option  "LeftEdge"  "0"
+ 

Re: [PATCH] Apple USB Touchpad driver (new)

2005-07-12 Thread Stelian Pop
Le lundi 11 juillet 2005 à 13:21 +0200, Vojtech Pavlik a écrit :

   This could be quite useful, too, for right and middle button taps (2 and
   3 fingers) - since the Macs lack these buttons.
  
  Indeed. But this can be a later improvement, let's make one finger work
  for now :)

Thanks to Peter Osterlund, I now have 2 and 3 finger tap working.

Please apply the attached patch.

Thanks,

Stelian.

Changes:
* implement detection of 2 and 3 finger tap (thanks to Peter Osterlund)
* moved the static variables into the atp device structure
* print the timestamp in debug messages

Signed-off-by: Stelian Pop [EMAIL PROTECTED]

 Documentation/input/appletouch.txt |   84 ++
 drivers/usb/input/Kconfig  |   19 +
 drivers/usb/input/Makefile |1 
 drivers/usb/input/appletouch.c |  471 +
 4 files changed, 575 insertions(+)

Index: linux-2.6.git/drivers/usb/input/Makefile
===
--- linux-2.6.git.orig/drivers/usb/input/Makefile   2005-07-12 
09:47:53.0 +0200
+++ linux-2.6.git/drivers/usb/input/Makefile2005-07-12 09:49:17.0 
+0200
@@ -39,3 +39,4 @@
 obj-$(CONFIG_USB_WACOM)+= wacom.o
 obj-$(CONFIG_USB_ACECAD)   += acecad.o
 obj-$(CONFIG_USB_XPAD) += xpad.o
+obj-$(CONFIG_USB_APPLETOUCH)   += appletouch.o
Index: linux-2.6.git/drivers/usb/input/Kconfig
===
--- linux-2.6.git.orig/drivers/usb/input/Kconfig2005-07-12 
09:47:53.0 +0200
+++ linux-2.6.git/drivers/usb/input/Kconfig 2005-07-12 09:49:17.0 
+0200
@@ -259,3 +259,22 @@
  To compile this driver as a module, choose M here: the module will be
  called ati_remote.
 
+config USB_APPLETOUCH
+   tristate Apple USB Touchpad support
+   depends on USB  INPUT
+   ---help---
+ Say Y here if you want to use an Apple USB Touchpad.
+
+ These are the touchpads that can be found on post-February 2005
+ Apple Powerbooks (prior models have a Synaptics touchpad connected
+ to the ADB bus).
+
+ This driver provides a basic mouse driver but can be interfaced
+ with the synaptics X11 driver to provide acceleration and
+ scrolling in X11.
+
+ For further information, see
+ file:Documentation/input/appletouch.txt.
+
+ To compile this driver as a module, choose M here: the
+ module will be called appletouch.
Index: linux-2.6.git/Documentation/input/appletouch.txt
===
--- /dev/null   1970-01-01 00:00:00.0 +
+++ linux-2.6.git/Documentation/input/appletouch.txt2005-07-12 
10:22:23.0 +0200
@@ -0,0 +1,84 @@
+Apple Touchpad Driver (appletouch)
+--
+   Copyright (C) 2005 Stelian Pop [EMAIL PROTECTED]
+
+appletouch is a Linux kernel driver for the USB touchpad found on post
+February 2005 Apple Alu Powerbooks.
+
+This driver is derived from Johannes Berg's appletrackpad driver[1], but it has
+been improved in some areas:
+   * appletouch is a full kernel driver, no userspace program is necessary
+   * appletouch can be interfaced with the synaptics X11 driver, in order
+ to have touchpad acceleration, scrolling, etc.
+
+Credits go to Johannes Berg for reverse-engineering the touchpad protocol,
+Frank Arnold for further improvements, and Alex Harper for some additional
+information about the inner workings of the touchpad sensors.
+
+Usage:
+--
+
+In order to use the touchpad in the basic mode, compile the driver and load
+the module. A new input device will be detected and you will be able to read
+the mouse data from /dev/input/mice (using gpm, or X11).
+
+In X11, you can configure the touchpad to use the synaptics X11 driver, which
+will give additional functionalities, like acceleration, scrolling, 2 finger
+tap for middle button mouse emulation, 3 finger tap for right button mouse
+emulation, etc. In order to do this, make sure you're using a recent version of
+the synaptics driver (tested with 0.14.2, available from [2]), and configure a
+new input device in your X11 configuration file (take a look below for an
+example). For additional configuration, see the synaptics driver documentation.
+
+   Section InputDevice
+   Identifier  Synaptics Touchpad
+   Driver  synaptics
+   Option  SendCoreEventstrue
+   Option  Device/dev/input/mice
+   Option  Protocol  auto-dev
+   Option  LeftEdge  0
+   Option  RightEdge 850
+   Option  TopEdge   0
+   Option  BottomEdge645
+   Option

Re: [PATCH] Apple USB Touchpad driver (new)

2005-07-12 Thread Stelian Pop
Le mardi 12 juillet 2005 à 09:13 -0500, Dmitry Torokhov a écrit :
 Hi,
 
 On 7/12/05, Stelian Pop [EMAIL PROTECTED] wrote:
 
  +   dev-input.id.bustype = BUS_USB;
  +   dev-input.id.vendor = id-idVendor;
  +   dev-input.id.product = id-idProduct;
  +   dev-input.id.version = ATP_DRIVER_VERSION;
  +
 
 Why don't we do what most of the other input devices and get version
 from the device too? 

I guess we could, there is not much use for a local driver version
anyway.

 Actually we have this in input tree:
 
 static inline void
 usb_to_input_id(const struct usb_device *dev, struct input_id *id)

This cleans up a lot of code indeed. Too bad this is not upstream yet...

Stelian.
-- 
Stelian Pop [EMAIL PROTECTED]

-
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] Apple USB Touchpad driver (new)

2005-07-12 Thread Stelian Pop
Le mardi 12 juillet 2005 à 20:13 +0200, Vojtech Pavlik a écrit :

 Stelian, can you please update the patch to use usb_to_input_id()? It'll
 go through -mm first, anyway, so there shouldn't be any issue with
 Linus's kernels not having that function yet.

Sure, here it comes.

Stelian.

Changes:
* removed local version number
* use usb_to_input_id() instead of manually setting the fields

Signed-off-by: Stelian Pop [EMAIL PROTECTED]

 Documentation/input/appletouch.txt |   84 ++
 drivers/usb/input/Kconfig  |   19 +
 drivers/usb/input/Makefile |1 
 drivers/usb/input/appletouch.c |  467 +
 4 files changed, 571 insertions(+)

Index: linux-2.6.git/drivers/usb/input/Makefile
===
--- linux-2.6.git.orig/drivers/usb/input/Makefile   2005-07-12 
09:47:53.0 +0200
+++ linux-2.6.git/drivers/usb/input/Makefile2005-07-12 09:49:17.0 
+0200
@@ -39,3 +39,4 @@
 obj-$(CONFIG_USB_WACOM)+= wacom.o
 obj-$(CONFIG_USB_ACECAD)   += acecad.o
 obj-$(CONFIG_USB_XPAD) += xpad.o
+obj-$(CONFIG_USB_APPLETOUCH)   += appletouch.o
Index: linux-2.6.git/drivers/usb/input/Kconfig
===
--- linux-2.6.git.orig/drivers/usb/input/Kconfig2005-07-12 
09:47:53.0 +0200
+++ linux-2.6.git/drivers/usb/input/Kconfig 2005-07-12 09:49:17.0 
+0200
@@ -259,3 +259,22 @@
  To compile this driver as a module, choose M here: the module will be
  called ati_remote.
 
+config USB_APPLETOUCH
+   tristate Apple USB Touchpad support
+   depends on USB  INPUT
+   ---help---
+ Say Y here if you want to use an Apple USB Touchpad.
+
+ These are the touchpads that can be found on post-February 2005
+ Apple Powerbooks (prior models have a Synaptics touchpad connected
+ to the ADB bus).
+
+ This driver provides a basic mouse driver but can be interfaced
+ with the synaptics X11 driver to provide acceleration and
+ scrolling in X11.
+
+ For further information, see
+ file:Documentation/input/appletouch.txt.
+
+ To compile this driver as a module, choose M here: the
+ module will be called appletouch.
Index: linux-2.6.git/Documentation/input/appletouch.txt
===
--- /dev/null   1970-01-01 00:00:00.0 +
+++ linux-2.6.git/Documentation/input/appletouch.txt2005-07-12 
10:22:23.0 +0200
@@ -0,0 +1,84 @@
+Apple Touchpad Driver (appletouch)
+--
+   Copyright (C) 2005 Stelian Pop [EMAIL PROTECTED]
+
+appletouch is a Linux kernel driver for the USB touchpad found on post
+February 2005 Apple Alu Powerbooks.
+
+This driver is derived from Johannes Berg's appletrackpad driver[1], but it has
+been improved in some areas:
+   * appletouch is a full kernel driver, no userspace program is necessary
+   * appletouch can be interfaced with the synaptics X11 driver, in order
+ to have touchpad acceleration, scrolling, etc.
+
+Credits go to Johannes Berg for reverse-engineering the touchpad protocol,
+Frank Arnold for further improvements, and Alex Harper for some additional
+information about the inner workings of the touchpad sensors.
+
+Usage:
+--
+
+In order to use the touchpad in the basic mode, compile the driver and load
+the module. A new input device will be detected and you will be able to read
+the mouse data from /dev/input/mice (using gpm, or X11).
+
+In X11, you can configure the touchpad to use the synaptics X11 driver, which
+will give additional functionalities, like acceleration, scrolling, 2 finger
+tap for middle button mouse emulation, 3 finger tap for right button mouse
+emulation, etc. In order to do this, make sure you're using a recent version of
+the synaptics driver (tested with 0.14.2, available from [2]), and configure a
+new input device in your X11 configuration file (take a look below for an
+example). For additional configuration, see the synaptics driver documentation.
+
+   Section InputDevice
+   Identifier  Synaptics Touchpad
+   Driver  synaptics
+   Option  SendCoreEventstrue
+   Option  Device/dev/input/mice
+   Option  Protocol  auto-dev
+   Option  LeftEdge  0
+   Option  RightEdge 850
+   Option  TopEdge   0
+   Option  BottomEdge645
+   Option  MinSpeed  0.4
+   Option  MaxSpeed  1
+   Option  AccelFactor   0.02
+   Option  FingerLow 0

Re: [PATCH] Apple USB Touchpad driver (new)

2005-07-11 Thread Stelian Pop
Le lundi 11 juillet 2005 à 16:44 -0400, Lee Revell a écrit :
> On Mon, 2005-07-11 at 13:04 +0200, Stelian Pop wrote:
> > Oops, bad Evolution (even if I did use insert->text file for the patch).
> > 
> > Going back to mutt. Sorry about this.
> 
> There's no need to go back to mutt, Evolution is not broken.  Before
> doing 'Insert->Text File', you just have to change the text style at the
> insertion point from 'Normal' to 'Preformat' to avoid word-wrapping the
> patch.

Indeed, Alexander Nyberg already pointed this to me in private.

Thanks.

Stelian.
-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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] Apple USB Touchpad driver (new)

2005-07-11 Thread Stelian Pop
Le lundi 11 juillet 2005 à 14:47 +0200, Stelian Pop a écrit :

> How to make it work ? Obviously I could implement either fuzz
> elimination or smoothing in the driver, and leave the other
> transformation to the input core (today it is the smoothing which is in
> the driver, but doing it the other way around would result in much less
> code).

And of course it cannot be done without modifying input core in order to
prevent it throwing away the samples. The only way to manage the current
situation is to implement smoothing in the driver itself (but I used the
same algorithm as in the input core, thus removing the unneeded history)

> > > > > I don't think this value is reliable enough to be reported to the
> > > > > userspace as ABS_PRESSURE...
> > > > 
> > > > I believe it'd still be more useful than a two-value (0 and 100) output.
> > > 
> > > Ok, I'll do it.

Implemented too.

Here is the latest incarnation of the patch, please apply this one.

If Vojtech decides that it makes sense to modify the input core in order
to separate fuzz and smoothing, then the driver could be simplified a
bit more.

Thanks,

Stelian.

Changes:
* report ABS_PRESSURE events
* simplify smoothing by using the same technique as the input
  core eliminating the need for a FIFO.

Signed-off-by: Stelian Pop <[EMAIL PROTECTED]>

 Documentation/input/appletouch.txt |   83 ++
 drivers/usb/input/Kconfig  |   19 +
 drivers/usb/input/Makefile |1 
 drivers/usb/input/appletouch.c |  480 +

 4 files changed, 583 insertions(+)
Index: linux-2.6.git/drivers/usb/input/Makefile
===
--- linux-2.6.git.orig/drivers/usb/input/Makefile   2005-07-11 
09:46:57.0 +0200
+++ linux-2.6.git/drivers/usb/input/Makefile2005-07-11 09:48:23.0 
+0200
@@ -39,3 +39,4 @@
 obj-$(CONFIG_USB_WACOM)+= wacom.o
 obj-$(CONFIG_USB_ACECAD)   += acecad.o
 obj-$(CONFIG_USB_XPAD) += xpad.o
+obj-$(CONFIG_USB_APPLETOUCH)   += appletouch.o
Index: linux-2.6.git/drivers/usb/input/Kconfig
===
--- linux-2.6.git.orig/drivers/usb/input/Kconfig2005-07-11 
09:46:57.0 +0200
+++ linux-2.6.git/drivers/usb/input/Kconfig 2005-07-11 09:48:23.0 
+0200
@@ -259,3 +259,22 @@
  To compile this driver as a module, choose M here: the module will be
  called ati_remote.
 
+config USB_APPLETOUCH
+   tristate "Apple USB Touchpad support"
+   depends on USB && INPUT
+   ---help---
+ Say Y here if you want to use an Apple USB Touchpad.
+
+ These are the touchpads that can be found on post-February 2005
+ Apple Powerbooks (prior models have a Synaptics touchpad connected
+ to the ADB bus).
+
+ This driver provides a basic mouse driver but can be interfaced
+ with the synaptics X11 driver to provide acceleration and
+ scrolling in X11.
+
+ For further information, see
+ .
+
+ To compile this driver as a module, choose M here: the
+ module will be called appletouch.
Index: linux-2.6.git/Documentation/input/appletouch.txt
===
--- /dev/null   1970-01-01 00:00:00.0 +
+++ linux-2.6.git/Documentation/input/appletouch.txt2005-07-11 
15:02:51.0 +0200
@@ -0,0 +1,83 @@
+Apple Touchpad Driver (appletouch)
+--
+   Copyright (C) 2005 Stelian Pop <[EMAIL PROTECTED]>
+
+appletouch is a Linux kernel driver for the USB touchpad found on post
+February 2005 Apple Alu Powerbooks.
+
+This driver is derived from Johannes Berg's appletrackpad driver[1], but it has
+been improved in some areas:
+   * appletouch is a full kernel driver, no userspace program is necessary
+   * appletouch can be interfaced with the synaptics X11 driver, in order
+ to have touchpad acceleration, scrolling, etc.
+
+Credits go to Johannes Berg for reverse-engineering the touchpad protocol,
+Frank Arnold for further improvements, and Alex Harper for some additional
+information about the inner workings of the touchpad sensors.
+
+Usage:
+--
+
+In order to use the touchpad in the basic mode, compile the driver and load
+the module. A new input device will be detected and you will be able to read
+the mouse data from /dev/input/mice (using gpm, or X11).
+
+In X11, you can configure the touchpad to use the synaptics X11 driver, which
+will give additional functionalities, like acceleration, scrolling etc. In
+order to do this, make sure you're using a recent version of the synaptics
+driver (tested with 0.14.2, available from [2]), and configure a new input
+device in your X11 configu

Re: [PATCH] Apple USB Touchpad driver (new)

2005-07-11 Thread Stelian Pop
Le lundi 11 juillet 2005 à 13:21 +0200, Vojtech Pavlik a écrit :
> On Mon, Jul 11, 2005 at 01:08:35PM +0200, Stelian Pop wrote:
> 
> > Possible. The 'fuzz' parameter in input core serves too many usages
> > ihmo. Let me try removing the quick motion compensation and see...
> 
> It was designed for joysticks and works very well for them. Usefulness
> for other device types may vary. And I'll gladly accept patches to
> improve it.

Ok, I understand now what is happenning, but I'm not sure how to solve
the problem. As I suspected, it is caused by 'fuzz' being a bit abused
by the input core.

The fuzz parameter in the input core is used today to say:
* any change in the -fuzz/2 / +fuzz/2 range is ignored
* any change in the -fuzz / +fuzz range is smoothed using x_old * 3 +
x) / 4;
* any change in the -fuzz*2 / +fuzz/2 range is smoothed using x_old
+x) / 2;

My driver needs to ignore changes in the -8 / +8 range (that's why I set
FUZZ to 16 in the first place), but it needs to smooth the movement when
much larger changes occur (I would need to set FUZZ to 64 for smoothing
to work correctly here).

How to make it work ? Obviously I could implement either fuzz
elimination or smoothing in the driver, and leave the other
transformation to the input core (today it is the smoothing which is in
the driver, but doing it the other way around would result in much less
code).

The other (proper ?) solution would be to change the input core and
separate fuzz and smoothing. This would however require an API addition,
and I'm not sure you want to do that. If you do, I could work on a patch
implementing an inputdev->abssmooth[] table, etc).

> > I thought the hardware is capable of calculating real pressure...
> 
> Since the sensor is just a multi-layer PCB with a clever trace layout,
> it can't.
> 
> > > > I don't think this value is reliable enough to be reported to the
> > > > userspace as ABS_PRESSURE...
> > > 
> > > I believe it'd still be more useful than a two-value (0 and 100) output.
> > 
> > Ok, I'll do it.
> 
> Thanks. Should I wait for that or apply the patch you just sent?

Well, it depends on what we do with smoothing.

Stelian.
-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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] Apple USB Touchpad driver (new)

2005-07-11 Thread Stelian Pop
Le lundi 11 juillet 2005 à 13:00 +0200, Vojtech Pavlik a écrit :
> On Mon, Jul 11, 2005 at 12:39:31PM +0200, Stelian Pop wrote:
>  
> > > > Using a function like
> > > > 
> > > > return (x_old * 3 + x) / 4;
> > > > 
> > > > eliminates the need for a FIFO, and has similar (if not better)
> > > > properties to floating average, because its coefficients are
> > > > [ .25 .18 .14 .10 ... ].
> > > 
> > > Agreed.
> > 
> > Except that this does not work well enough.
> 
> I guess the quick motion compensation in input bites you. The above
> equation should do even more smoothing than regular 4-point floating
> average.

Possible. The 'fuzz' parameter in input core serves too many usages
ihmo. Let me try removing the quick motion compensation and see...

> > I already thought about this, one problem is that the sensors do not
> > report the pressure but only the amount of surface touched. A person
> > with thick fingers will always generate higher pressures then one with
> > thin ones, no matter how hard they push on the touchpad.
> 
> That's what all other touchpads do.

I thought the hardware is capable of calculating real pressure...

> > I don't think this value is reliable enough to be reported to the
> > userspace as ABS_PRESSURE...
> 
> I believe it'd still be more useful than a two-value (0 and 100) output.

Ok, I'll do it.

> > +   /*
> > +* in the future, we could add here code to search for
> > +* a second finger...
> > +* for now, scrolling using the synaptics X driver is
> > +* much more simpler to achieve.
> > +*/
> 
> This could be quite useful, too, for right and middle button taps (2 and
> 3 fingers) - since the Macs lack these buttons.

Indeed. But this can be a later improvement, let's make one finger work
for now :)

Stelian.
-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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] Apple USB Touchpad driver (new)

2005-07-11 Thread Stelian Pop
On Mon, Jul 11, 2005 at 03:52:44AM -0700, Andrew Morton wrote:
> Stelian Pop <[EMAIL PROTECTED]> wrote:
> >
> > Anyway, here is the updated patch:
> > 
> >  Signed-off-by: Stelian Pop <[EMAIL PROTECTED]>
> > 
> >   Documentation/input/appletouch.txt |   83 ++
> >   drivers/usb/input/Kconfig  |   19 +
> >   drivers/usb/input/Makefile |1 
> >   drivers/usb/input/appletouch.c |  509
> >  +
> 
> Badly wordwrapped.

Oops, bad Evolution (even if I did use insert->text file for the patch).

Going back to mutt. Sorry about this.

Changelog:
* CodingStyle fixes
* open counter replaced by a binary flag
* udev hacks are no longer necessary with a patched
  synaptics, update the documentation

Signed-off-by: Stelian Pop <[EMAIL PROTECTED]>

 Documentation/input/appletouch.txt |   83 ++
 drivers/usb/input/Kconfig  |   19 +
 drivers/usb/input/Makefile |1 
 drivers/usb/input/appletouch.c |  509 +

 4 files changed, 612 insertions(+)
Index: linux-2.6.git/drivers/usb/input/Makefile
===
--- linux-2.6.git.orig/drivers/usb/input/Makefile   2005-07-11 
09:46:57.0 +0200
+++ linux-2.6.git/drivers/usb/input/Makefile2005-07-11 09:48:23.0 
+0200
@@ -39,3 +39,4 @@
 obj-$(CONFIG_USB_WACOM)+= wacom.o
 obj-$(CONFIG_USB_ACECAD)   += acecad.o
 obj-$(CONFIG_USB_XPAD) += xpad.o
+obj-$(CONFIG_USB_APPLETOUCH)   += appletouch.o
Index: linux-2.6.git/drivers/usb/input/Kconfig
===
--- linux-2.6.git.orig/drivers/usb/input/Kconfig2005-07-11 
09:46:57.0 +0200
+++ linux-2.6.git/drivers/usb/input/Kconfig 2005-07-11 09:48:23.0 
+0200
@@ -259,3 +259,22 @@
  To compile this driver as a module, choose M here: the module will be
  called ati_remote.
 
+config USB_APPLETOUCH
+   tristate "Apple USB Touchpad support"
+   depends on USB && INPUT
+   ---help---
+ Say Y here if you want to use an Apple USB Touchpad.
+
+ These are the touchpads that can be found on post-February 2005
+ Apple Powerbooks (prior models have a Synaptics touchpad connected
+ to the ADB bus).
+
+ This driver provides a basic mouse driver but can be interfaced
+ with the synaptics X11 driver to provide acceleration and
+ scrolling in X11.
+
+ For further information, see
+ .
+
+ To compile this driver as a module, choose M here: the
+ module will be called appletouch.
Index: linux-2.6.git/Documentation/input/appletouch.txt
===
--- /dev/null   1970-01-01 00:00:00.0 +
+++ linux-2.6.git/Documentation/input/appletouch.txt2005-07-11 
11:57:41.0 +0200
@@ -0,0 +1,83 @@
+Apple Touchpad Driver (appletouch)
+--
+   Copyright (C) 2005 Stelian Pop <[EMAIL PROTECTED]>
+
+appletouch is a Linux kernel driver for the USB touchpad found on post
+February 2005 Apple Alu Powerbooks.
+
+This driver is derived from Johannes Berg's appletrackpad driver[1], but it has
+been improved in some areas:
+   * appletouch is a full kernel driver, no userspace program is necessary
+   * appletouch can be interfaced with the synaptics X11 driver, in order
+ to have touchpad acceleration, scrolling, etc.
+
+Credits go to Johannes Berg for reverse-engineering the touchpad protocol,
+Frank Arnold for further improvements, and Alex Harper for some additional
+information about the inner workings of the touchpad sensors.
+
+Usage:
+--
+
+In order to use the touchpad in the basic mode, compile the driver and load
+the module. A new input device will be detected and you will be able to read
+the mouse data from /dev/input/mice (using gpm, or X11).
+
+In X11, you can configure the touchpad to use the synaptics X11 driver, which
+will give additional functionalities, like acceleration, scrolling etc. In
+order to do this, make sure you're using a recent version of the synaptics
+driver (tested with 0.14.2, available from [2]), and configure a new input
+device in your X11 configuration file (take a look below for an example). For
+additional configuration, see the synaptics driver documentation.
+
+   Section "InputDevice"
+   Identifier  "Synaptics Touchpad"
+   Driver  "synaptics"
+   Option  "SendCoreEvents""true"
+   Option  "Device""/dev/input/mice"
+   Option  "Protocol"   

Re: [PATCH] Apple USB Touchpad driver (new)

2005-07-11 Thread Stelian Pop
Le lundi 11 juillet 2005 à 02:15 +0200, Peter Osterlund a écrit :
> Vojtech Pavlik <[EMAIL PROTECTED]> writes:
> 
> > On Sun, Jul 10, 2005 at 12:48:30AM +0200, Peter Osterlund wrote:
> > > Vojtech Pavlik <[EMAIL PROTECTED]> writes:
> > > 
> > > > Btw, what I don't completely understand is why you need linear
> > > > regression, when you're not trying to detect motion or something like
> > > > that. Basic floating average, or even simpler filtering like the input
> > > > core uses for fuzz could work well enough I believe.
> > > 
> > > Indeed, this function doesn't make much sense:
> > > 
> > > +static inline int smooth_history(int x0, int x1, int x2, int x3)
> > > +{
> > > + return x0 - ( x0 * 3 + x1 - x2 - x3 * 3 ) / 10;
> > > +}
[...]

> +static inline int smooth_history(int x0, int x1, int x2, int x3)
> +{
> + return (x0 + x1 + x2 + x3) / 4;
> +}

I took Peter's approach here and changed the smoothing to use basic
floating average as above.
 
> > Using a function like
> > 
> > return (x_old * 3 + x) / 4;
> > 
> > eliminates the need for a FIFO, and has similar (if not better)
> > properties to floating average, because its coefficients are
> > [ .25 .18 .14 .10 ... ].
> 
> Agreed.

Except that this does not work well enough.

There are two problems I encountered in this driver:
* fuzz problems (keeping the finger at the same place makes the pointer
dance around its position). This is solved by the input core's fuzz
treatment, as I already set the fuzz to 16 in the code.

* hickup problems (moving the finger generates non linear points,
something like 1 1 1 3 3 3 4 4 4 instead of 1 1 1 2 2 3 3 4 4). And here
the floating average approach works better than the input core's method.
(this could probably be solved also by changing the way the absolute
coordinate is calculated from the sensor array in atp_calculate_abs, but
I haven't been able to find a better linear function).

> I took the liberty to modify the patch myself, making these changes:
> 
> * Removed the extra filtering.
> * Converted the "open" counter to an "open" flag. (It is still needed
>   by the atp_resume() function.)
> * CodingStyle fixes.
> 
> I have only compile tested this as I don't have access to the
> hardware, so I don't know how well this works in practice. It's
> possible that the "dev->h_count > 3" test in the old patch filtered
> out spikes in the input signal.

I would prefer to submit the patch myself, because as you say you cannot
test the code and those changes are rather sensitive. Without the
smoothing function, the driver is almost unusable when used without the
synaptics driver (as a standard mouse), positionning the pointer at
exact locations is quite difficult.

> Also, it might be a good idea to compute an ABS_PRESSURE value instead
> of hardcoding it to 100. I think the psum variable in
> atp_calculate_abs() can be used, possibly after rescaling.

I already thought about this, one problem is that the sensors do not
report the pressure but only the amount of surface touched. A person
with thick fingers will always generate higher pressures then one with
thin ones, no matter how hard they push on the touchpad.

I don't think this value is reliable enough to be reported to the
userspace as ABS_PRESSURE...

Anyway, here is the updated patch:

Signed-off-by: Stelian Pop <[EMAIL PROTECTED]>

 Documentation/input/appletouch.txt |   83 ++
 drivers/usb/input/Kconfig  |   19 +
 drivers/usb/input/Makefile |1 
 drivers/usb/input/appletouch.c |  509
+
 4 files changed, 612 insertions(+)

Index: linux-2.6.git/drivers/usb/input/Makefile
===
--- linux-2.6.git.orig/drivers/usb/input/Makefile   2005-07-11
09:46:57.0 +0200
+++ linux-2.6.git/drivers/usb/input/Makefile2005-07-11
09:48:23.0 +0200
@@ -39,3 +39,4 @@
 obj-$(CONFIG_USB_WACOM)+= wacom.o
 obj-$(CONFIG_USB_ACECAD)   += acecad.o
 obj-$(CONFIG_USB_XPAD) += xpad.o
+obj-$(CONFIG_USB_APPLETOUCH)   += appletouch.o
Index: linux-2.6.git/drivers/usb/input/Kconfig
===
--- linux-2.6.git.orig/drivers/usb/input/Kconfig2005-07-11
09:46:57.0 +0200
+++ linux-2.6.git/drivers/usb/input/Kconfig 2005-07-11
09:48:23.0 +0200
@@ -259,3 +259,22 @@
  To compile this driver as a module, choose M here: the module will
be
  called ati_remote.
 
+config USB_APPLETOUCH
+   tristate "Apple USB Touchpad support"
+   depends on USB && INPUT
+   ---help---
+ Say Y here if you want to 

Re: [PATCH] Apple USB Touchpad driver (new)

2005-07-11 Thread Stelian Pop
Le dimanche 10 juillet 2005 à 00:32 +0200, Peter Osterlund a écrit :
> Stelian Pop <[EMAIL PROTECTED]> writes:
> 
> > +Synaptics re-detection problems:
> > +
> > +
> > +The synaptics X11 driver tries to re-open the touchpad input device file
> > +(/dev/input/eventX) each time you change from text mode back to X11. If the
> > +input device file does not exist at this precise moment, the synaptics 
> > driver
> > +will give up searching for a touchpad, permanently. You will need to 
> > restart
> > +X11 if you want to reissue a scan.
> 
> I think this particular problem is fixed by the following patch to the
> X driver:
> 
> --- synaptics.c.old   2005-07-10 00:09:02.0 +0200
> +++ synaptics.c   2005-07-10 00:09:12.0 +0200
> @@ -524,6 +524,11 @@
>  
>  local->fd = xf86OpenSerial(local->options);
>  if (local->fd == -1) {
> + xf86ReplaceStrOption(local->options, "Device", "");
> + SetDeviceAndProtocol(local);
> + local->fd = xf86OpenSerial(local->options);
> +}
> +if (local->fd == -1) {
>   xf86Msg(X_WARNING, "%s: cannot open input device\n", local->name);
>   return !Success;
>  }

It does indeed fix the problem.

I removed that section from the documentation, as I assume you will
integrate this patch in future synaptics releases (and it wasn't anyway
a big problem for users, just for developers).

> 
> > +static int atp_calculate_abs(int *xy_sensors, int nb_sensors, int fact) {
> 
> I think this CodingStyle violation is quite annoying, because it
> prevents emacs from finding the beginning of the function. It should
> be written like this:

Indeed, that one slipped over, but this didn't prevent vim from finding
the beginning of the function :)

Thanks,

Stelian.
-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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] Apple USB Touchpad driver (new)

2005-07-11 Thread Stelian Pop
Le dimanche 10 juillet 2005 à 00:32 +0200, Peter Osterlund a écrit :
 Stelian Pop [EMAIL PROTECTED] writes:
 
  +Synaptics re-detection problems:
  +
  +
  +The synaptics X11 driver tries to re-open the touchpad input device file
  +(/dev/input/eventX) each time you change from text mode back to X11. If the
  +input device file does not exist at this precise moment, the synaptics 
  driver
  +will give up searching for a touchpad, permanently. You will need to 
  restart
  +X11 if you want to reissue a scan.
 
 I think this particular problem is fixed by the following patch to the
 X driver:
 
 --- synaptics.c.old   2005-07-10 00:09:02.0 +0200
 +++ synaptics.c   2005-07-10 00:09:12.0 +0200
 @@ -524,6 +524,11 @@
  
  local-fd = xf86OpenSerial(local-options);
  if (local-fd == -1) {
 + xf86ReplaceStrOption(local-options, Device, );
 + SetDeviceAndProtocol(local);
 + local-fd = xf86OpenSerial(local-options);
 +}
 +if (local-fd == -1) {
   xf86Msg(X_WARNING, %s: cannot open input device\n, local-name);
   return !Success;
  }

It does indeed fix the problem.

I removed that section from the documentation, as I assume you will
integrate this patch in future synaptics releases (and it wasn't anyway
a big problem for users, just for developers).

 
  +static int atp_calculate_abs(int *xy_sensors, int nb_sensors, int fact) {
 
 I think this CodingStyle violation is quite annoying, because it
 prevents emacs from finding the beginning of the function. It should
 be written like this:

Indeed, that one slipped over, but this didn't prevent vim from finding
the beginning of the function :)

Thanks,

Stelian.
-- 
Stelian Pop [EMAIL PROTECTED]

-
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] Apple USB Touchpad driver (new)

2005-07-11 Thread Stelian Pop
Le lundi 11 juillet 2005 à 02:15 +0200, Peter Osterlund a écrit :
 Vojtech Pavlik [EMAIL PROTECTED] writes:
 
  On Sun, Jul 10, 2005 at 12:48:30AM +0200, Peter Osterlund wrote:
   Vojtech Pavlik [EMAIL PROTECTED] writes:
   
Btw, what I don't completely understand is why you need linear
regression, when you're not trying to detect motion or something like
that. Basic floating average, or even simpler filtering like the input
core uses for fuzz could work well enough I believe.
   
   Indeed, this function doesn't make much sense:
   
   +static inline int smooth_history(int x0, int x1, int x2, int x3)
   +{
   + return x0 - ( x0 * 3 + x1 - x2 - x3 * 3 ) / 10;
   +}
[...]

 +static inline int smooth_history(int x0, int x1, int x2, int x3)
 +{
 + return (x0 + x1 + x2 + x3) / 4;
 +}

I took Peter's approach here and changed the smoothing to use basic
floating average as above.
 
  Using a function like
  
  return (x_old * 3 + x) / 4;
  
  eliminates the need for a FIFO, and has similar (if not better)
  properties to floating average, because its coefficients are
  [ .25 .18 .14 .10 ... ].
 
 Agreed.

Except that this does not work well enough.

There are two problems I encountered in this driver:
* fuzz problems (keeping the finger at the same place makes the pointer
dance around its position). This is solved by the input core's fuzz
treatment, as I already set the fuzz to 16 in the code.

* hickup problems (moving the finger generates non linear points,
something like 1 1 1 3 3 3 4 4 4 instead of 1 1 1 2 2 3 3 4 4). And here
the floating average approach works better than the input core's method.
(this could probably be solved also by changing the way the absolute
coordinate is calculated from the sensor array in atp_calculate_abs, but
I haven't been able to find a better linear function).

 I took the liberty to modify the patch myself, making these changes:
 
 * Removed the extra filtering.
 * Converted the open counter to an open flag. (It is still needed
   by the atp_resume() function.)
 * CodingStyle fixes.
 
 I have only compile tested this as I don't have access to the
 hardware, so I don't know how well this works in practice. It's
 possible that the dev-h_count  3 test in the old patch filtered
 out spikes in the input signal.

I would prefer to submit the patch myself, because as you say you cannot
test the code and those changes are rather sensitive. Without the
smoothing function, the driver is almost unusable when used without the
synaptics driver (as a standard mouse), positionning the pointer at
exact locations is quite difficult.

 Also, it might be a good idea to compute an ABS_PRESSURE value instead
 of hardcoding it to 100. I think the psum variable in
 atp_calculate_abs() can be used, possibly after rescaling.

I already thought about this, one problem is that the sensors do not
report the pressure but only the amount of surface touched. A person
with thick fingers will always generate higher pressures then one with
thin ones, no matter how hard they push on the touchpad.

I don't think this value is reliable enough to be reported to the
userspace as ABS_PRESSURE...

Anyway, here is the updated patch:

Signed-off-by: Stelian Pop [EMAIL PROTECTED]

 Documentation/input/appletouch.txt |   83 ++
 drivers/usb/input/Kconfig  |   19 +
 drivers/usb/input/Makefile |1 
 drivers/usb/input/appletouch.c |  509
+
 4 files changed, 612 insertions(+)

Index: linux-2.6.git/drivers/usb/input/Makefile
===
--- linux-2.6.git.orig/drivers/usb/input/Makefile   2005-07-11
09:46:57.0 +0200
+++ linux-2.6.git/drivers/usb/input/Makefile2005-07-11
09:48:23.0 +0200
@@ -39,3 +39,4 @@
 obj-$(CONFIG_USB_WACOM)+= wacom.o
 obj-$(CONFIG_USB_ACECAD)   += acecad.o
 obj-$(CONFIG_USB_XPAD) += xpad.o
+obj-$(CONFIG_USB_APPLETOUCH)   += appletouch.o
Index: linux-2.6.git/drivers/usb/input/Kconfig
===
--- linux-2.6.git.orig/drivers/usb/input/Kconfig2005-07-11
09:46:57.0 +0200
+++ linux-2.6.git/drivers/usb/input/Kconfig 2005-07-11
09:48:23.0 +0200
@@ -259,3 +259,22 @@
  To compile this driver as a module, choose M here: the module will
be
  called ati_remote.
 
+config USB_APPLETOUCH
+   tristate Apple USB Touchpad support
+   depends on USB  INPUT
+   ---help---
+ Say Y here if you want to use an Apple USB Touchpad.
+
+ These are the touchpads that can be found on post-February 2005
+ Apple Powerbooks (prior models have a Synaptics touchpad connected
+ to the ADB bus).
+
+ This driver provides a basic mouse driver but can be interfaced
+ with the synaptics X11 driver to provide acceleration and
+ scrolling in X11.
+
+ For further information, see

Re: [PATCH] Apple USB Touchpad driver (new)

2005-07-11 Thread Stelian Pop
On Mon, Jul 11, 2005 at 03:52:44AM -0700, Andrew Morton wrote:
 Stelian Pop [EMAIL PROTECTED] wrote:
 
  Anyway, here is the updated patch:
  
   Signed-off-by: Stelian Pop [EMAIL PROTECTED]
  
Documentation/input/appletouch.txt |   83 ++
drivers/usb/input/Kconfig  |   19 +
drivers/usb/input/Makefile |1 
drivers/usb/input/appletouch.c |  509
   +
 
 Badly wordwrapped.

Oops, bad Evolution (even if I did use insert-text file for the patch).

Going back to mutt. Sorry about this.

Changelog:
* CodingStyle fixes
* open counter replaced by a binary flag
* udev hacks are no longer necessary with a patched
  synaptics, update the documentation

Signed-off-by: Stelian Pop [EMAIL PROTECTED]

 Documentation/input/appletouch.txt |   83 ++
 drivers/usb/input/Kconfig  |   19 +
 drivers/usb/input/Makefile |1 
 drivers/usb/input/appletouch.c |  509 +

 4 files changed, 612 insertions(+)
Index: linux-2.6.git/drivers/usb/input/Makefile
===
--- linux-2.6.git.orig/drivers/usb/input/Makefile   2005-07-11 
09:46:57.0 +0200
+++ linux-2.6.git/drivers/usb/input/Makefile2005-07-11 09:48:23.0 
+0200
@@ -39,3 +39,4 @@
 obj-$(CONFIG_USB_WACOM)+= wacom.o
 obj-$(CONFIG_USB_ACECAD)   += acecad.o
 obj-$(CONFIG_USB_XPAD) += xpad.o
+obj-$(CONFIG_USB_APPLETOUCH)   += appletouch.o
Index: linux-2.6.git/drivers/usb/input/Kconfig
===
--- linux-2.6.git.orig/drivers/usb/input/Kconfig2005-07-11 
09:46:57.0 +0200
+++ linux-2.6.git/drivers/usb/input/Kconfig 2005-07-11 09:48:23.0 
+0200
@@ -259,3 +259,22 @@
  To compile this driver as a module, choose M here: the module will be
  called ati_remote.
 
+config USB_APPLETOUCH
+   tristate Apple USB Touchpad support
+   depends on USB  INPUT
+   ---help---
+ Say Y here if you want to use an Apple USB Touchpad.
+
+ These are the touchpads that can be found on post-February 2005
+ Apple Powerbooks (prior models have a Synaptics touchpad connected
+ to the ADB bus).
+
+ This driver provides a basic mouse driver but can be interfaced
+ with the synaptics X11 driver to provide acceleration and
+ scrolling in X11.
+
+ For further information, see
+ file:Documentation/input/appletouch.txt.
+
+ To compile this driver as a module, choose M here: the
+ module will be called appletouch.
Index: linux-2.6.git/Documentation/input/appletouch.txt
===
--- /dev/null   1970-01-01 00:00:00.0 +
+++ linux-2.6.git/Documentation/input/appletouch.txt2005-07-11 
11:57:41.0 +0200
@@ -0,0 +1,83 @@
+Apple Touchpad Driver (appletouch)
+--
+   Copyright (C) 2005 Stelian Pop [EMAIL PROTECTED]
+
+appletouch is a Linux kernel driver for the USB touchpad found on post
+February 2005 Apple Alu Powerbooks.
+
+This driver is derived from Johannes Berg's appletrackpad driver[1], but it has
+been improved in some areas:
+   * appletouch is a full kernel driver, no userspace program is necessary
+   * appletouch can be interfaced with the synaptics X11 driver, in order
+ to have touchpad acceleration, scrolling, etc.
+
+Credits go to Johannes Berg for reverse-engineering the touchpad protocol,
+Frank Arnold for further improvements, and Alex Harper for some additional
+information about the inner workings of the touchpad sensors.
+
+Usage:
+--
+
+In order to use the touchpad in the basic mode, compile the driver and load
+the module. A new input device will be detected and you will be able to read
+the mouse data from /dev/input/mice (using gpm, or X11).
+
+In X11, you can configure the touchpad to use the synaptics X11 driver, which
+will give additional functionalities, like acceleration, scrolling etc. In
+order to do this, make sure you're using a recent version of the synaptics
+driver (tested with 0.14.2, available from [2]), and configure a new input
+device in your X11 configuration file (take a look below for an example). For
+additional configuration, see the synaptics driver documentation.
+
+   Section InputDevice
+   Identifier  Synaptics Touchpad
+   Driver  synaptics
+   Option  SendCoreEventstrue
+   Option  Device/dev/input/mice
+   Option  Protocol  auto-dev
+   Option  LeftEdge  0
+   Option  RightEdge 850
+   Option  TopEdge   0
+   Option

Re: [PATCH] Apple USB Touchpad driver (new)

2005-07-11 Thread Stelian Pop
Le lundi 11 juillet 2005 à 13:00 +0200, Vojtech Pavlik a écrit :
 On Mon, Jul 11, 2005 at 12:39:31PM +0200, Stelian Pop wrote:
  
Using a function like

return (x_old * 3 + x) / 4;

eliminates the need for a FIFO, and has similar (if not better)
properties to floating average, because its coefficients are
[ .25 .18 .14 .10 ... ].
   
   Agreed.
  
  Except that this does not work well enough.
 
 I guess the quick motion compensation in input bites you. The above
 equation should do even more smoothing than regular 4-point floating
 average.

Possible. The 'fuzz' parameter in input core serves too many usages
ihmo. Let me try removing the quick motion compensation and see...

  I already thought about this, one problem is that the sensors do not
  report the pressure but only the amount of surface touched. A person
  with thick fingers will always generate higher pressures then one with
  thin ones, no matter how hard they push on the touchpad.
 
 That's what all other touchpads do.

I thought the hardware is capable of calculating real pressure...

  I don't think this value is reliable enough to be reported to the
  userspace as ABS_PRESSURE...
 
 I believe it'd still be more useful than a two-value (0 and 100) output.

Ok, I'll do it.

  +   /*
  +* in the future, we could add here code to search for
  +* a second finger...
  +* for now, scrolling using the synaptics X driver is
  +* much more simpler to achieve.
  +*/
 
 This could be quite useful, too, for right and middle button taps (2 and
 3 fingers) - since the Macs lack these buttons.

Indeed. But this can be a later improvement, let's make one finger work
for now :)

Stelian.
-- 
Stelian Pop [EMAIL PROTECTED]

-
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] Apple USB Touchpad driver (new)

2005-07-11 Thread Stelian Pop
Le lundi 11 juillet 2005 à 13:21 +0200, Vojtech Pavlik a écrit :
 On Mon, Jul 11, 2005 at 01:08:35PM +0200, Stelian Pop wrote:
 
  Possible. The 'fuzz' parameter in input core serves too many usages
  ihmo. Let me try removing the quick motion compensation and see...
 
 It was designed for joysticks and works very well for them. Usefulness
 for other device types may vary. And I'll gladly accept patches to
 improve it.

Ok, I understand now what is happenning, but I'm not sure how to solve
the problem. As I suspected, it is caused by 'fuzz' being a bit abused
by the input core.

The fuzz parameter in the input core is used today to say:
* any change in the -fuzz/2 / +fuzz/2 range is ignored
* any change in the -fuzz / +fuzz range is smoothed using x_old * 3 +
x) / 4;
* any change in the -fuzz*2 / +fuzz/2 range is smoothed using x_old
+x) / 2;

My driver needs to ignore changes in the -8 / +8 range (that's why I set
FUZZ to 16 in the first place), but it needs to smooth the movement when
much larger changes occur (I would need to set FUZZ to 64 for smoothing
to work correctly here).

How to make it work ? Obviously I could implement either fuzz
elimination or smoothing in the driver, and leave the other
transformation to the input core (today it is the smoothing which is in
the driver, but doing it the other way around would result in much less
code).

The other (proper ?) solution would be to change the input core and
separate fuzz and smoothing. This would however require an API addition,
and I'm not sure you want to do that. If you do, I could work on a patch
implementing an inputdev-abssmooth[] table, etc).

  I thought the hardware is capable of calculating real pressure...
 
 Since the sensor is just a multi-layer PCB with a clever trace layout,
 it can't.
 
I don't think this value is reliable enough to be reported to the
userspace as ABS_PRESSURE...
   
   I believe it'd still be more useful than a two-value (0 and 100) output.
  
  Ok, I'll do it.
 
 Thanks. Should I wait for that or apply the patch you just sent?

Well, it depends on what we do with smoothing.

Stelian.
-- 
Stelian Pop [EMAIL PROTECTED]

-
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] Apple USB Touchpad driver (new)

2005-07-11 Thread Stelian Pop
Le lundi 11 juillet 2005 à 14:47 +0200, Stelian Pop a écrit :

 How to make it work ? Obviously I could implement either fuzz
 elimination or smoothing in the driver, and leave the other
 transformation to the input core (today it is the smoothing which is in
 the driver, but doing it the other way around would result in much less
 code).

And of course it cannot be done without modifying input core in order to
prevent it throwing away the samples. The only way to manage the current
situation is to implement smoothing in the driver itself (but I used the
same algorithm as in the input core, thus removing the unneeded history)

 I don't think this value is reliable enough to be reported to the
 userspace as ABS_PRESSURE...

I believe it'd still be more useful than a two-value (0 and 100) output.
   
   Ok, I'll do it.

Implemented too.

Here is the latest incarnation of the patch, please apply this one.

If Vojtech decides that it makes sense to modify the input core in order
to separate fuzz and smoothing, then the driver could be simplified a
bit more.

Thanks,

Stelian.

Changes:
* report ABS_PRESSURE events
* simplify smoothing by using the same technique as the input
  core eliminating the need for a FIFO.

Signed-off-by: Stelian Pop [EMAIL PROTECTED]

 Documentation/input/appletouch.txt |   83 ++
 drivers/usb/input/Kconfig  |   19 +
 drivers/usb/input/Makefile |1 
 drivers/usb/input/appletouch.c |  480 +

 4 files changed, 583 insertions(+)
Index: linux-2.6.git/drivers/usb/input/Makefile
===
--- linux-2.6.git.orig/drivers/usb/input/Makefile   2005-07-11 
09:46:57.0 +0200
+++ linux-2.6.git/drivers/usb/input/Makefile2005-07-11 09:48:23.0 
+0200
@@ -39,3 +39,4 @@
 obj-$(CONFIG_USB_WACOM)+= wacom.o
 obj-$(CONFIG_USB_ACECAD)   += acecad.o
 obj-$(CONFIG_USB_XPAD) += xpad.o
+obj-$(CONFIG_USB_APPLETOUCH)   += appletouch.o
Index: linux-2.6.git/drivers/usb/input/Kconfig
===
--- linux-2.6.git.orig/drivers/usb/input/Kconfig2005-07-11 
09:46:57.0 +0200
+++ linux-2.6.git/drivers/usb/input/Kconfig 2005-07-11 09:48:23.0 
+0200
@@ -259,3 +259,22 @@
  To compile this driver as a module, choose M here: the module will be
  called ati_remote.
 
+config USB_APPLETOUCH
+   tristate Apple USB Touchpad support
+   depends on USB  INPUT
+   ---help---
+ Say Y here if you want to use an Apple USB Touchpad.
+
+ These are the touchpads that can be found on post-February 2005
+ Apple Powerbooks (prior models have a Synaptics touchpad connected
+ to the ADB bus).
+
+ This driver provides a basic mouse driver but can be interfaced
+ with the synaptics X11 driver to provide acceleration and
+ scrolling in X11.
+
+ For further information, see
+ file:Documentation/input/appletouch.txt.
+
+ To compile this driver as a module, choose M here: the
+ module will be called appletouch.
Index: linux-2.6.git/Documentation/input/appletouch.txt
===
--- /dev/null   1970-01-01 00:00:00.0 +
+++ linux-2.6.git/Documentation/input/appletouch.txt2005-07-11 
15:02:51.0 +0200
@@ -0,0 +1,83 @@
+Apple Touchpad Driver (appletouch)
+--
+   Copyright (C) 2005 Stelian Pop [EMAIL PROTECTED]
+
+appletouch is a Linux kernel driver for the USB touchpad found on post
+February 2005 Apple Alu Powerbooks.
+
+This driver is derived from Johannes Berg's appletrackpad driver[1], but it has
+been improved in some areas:
+   * appletouch is a full kernel driver, no userspace program is necessary
+   * appletouch can be interfaced with the synaptics X11 driver, in order
+ to have touchpad acceleration, scrolling, etc.
+
+Credits go to Johannes Berg for reverse-engineering the touchpad protocol,
+Frank Arnold for further improvements, and Alex Harper for some additional
+information about the inner workings of the touchpad sensors.
+
+Usage:
+--
+
+In order to use the touchpad in the basic mode, compile the driver and load
+the module. A new input device will be detected and you will be able to read
+the mouse data from /dev/input/mice (using gpm, or X11).
+
+In X11, you can configure the touchpad to use the synaptics X11 driver, which
+will give additional functionalities, like acceleration, scrolling etc. In
+order to do this, make sure you're using a recent version of the synaptics
+driver (tested with 0.14.2, available from [2]), and configure a new input
+device in your X11 configuration file (take a look below for an example). For
+additional configuration, see the synaptics driver documentation

Re: [PATCH] Apple USB Touchpad driver (new)

2005-07-11 Thread Stelian Pop
Le lundi 11 juillet 2005 à 16:44 -0400, Lee Revell a écrit :
 On Mon, 2005-07-11 at 13:04 +0200, Stelian Pop wrote:
  Oops, bad Evolution (even if I did use insert-text file for the patch).
  
  Going back to mutt. Sorry about this.
 
 There's no need to go back to mutt, Evolution is not broken.  Before
 doing 'Insert-Text File', you just have to change the text style at the
 insertion point from 'Normal' to 'Preformat' to avoid word-wrapping the
 patch.

Indeed, Alexander Nyberg already pointed this to me in private.

Thanks.

Stelian.
-- 
Stelian Pop [EMAIL PROTECTED]

-
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: GIT tree broken? (rsync depreciated)

2005-07-08 Thread Stelian Pop
[sorry Ed for the duplicate...]

Le vendredi 08 juillet 2005 à 07:28 -0400, Ed Tomlinson a écrit :
> Hi,
> 
> I resync(ed) cg and rebuild this morning and it worked fine.  
> 
> On another tack.  Updating the kernel gave a message that rsync is
depreciated and
> will soon be turned off.  How should we be updating git/cg trees now?

After resyncing cogito to the latest version (which incorporates the
'pack' changes, which were causing the failure), it does indeed work
again, when using rsync.

However, it still fails when using http.

Stelian.
-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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] Apple USB Touchpad driver (new)

2005-07-08 Thread Stelian Pop
On Fri, Jul 08, 2005 at 01:18:01PM +0200, Johannes Berg wrote:

> Hi all,
> 
> Nice to see this going into the kernel :)
> 
> > This is a driver for the USB touchpad which can be found on
> > post-February 2005 Apple PowerBooks (PowerBook5,6).
> 
> This is not perfectly correct, the PowerBook5,6 is afaik only the 15"
> model, the 12" and 17" have other numbers. Maybe you should just leave
> that out, likewise in the code/Kconfig file.

Indeed, corrected.

> > +/*
> > + * number of sensors. Note that only 16 of the 26 x sensors are used on
> > + * 12" and 15" Powerbooks.
> > + */
> 
> I think that is misleading, those sensors don't even exist on 12" and
> 15" powerbooks. Maybe it should say 'Note that only 16 instead of 26
> sensors exist on 12" and 15" models'

Sure, I clarified a bit that sentence.

Updated patch follows.

Thanks.

Stelian.

Index: linux-2.6-trunk.git/drivers/usb/input/Makefile
===
--- linux-2.6-trunk.git.orig/drivers/usb/input/Makefile 2005-06-28 
10:25:42.0 +0200
+++ linux-2.6-trunk.git/drivers/usb/input/Makefile  2005-07-08 
11:10:29.0 +0200
@@ -39,3 +39,4 @@
 obj-$(CONFIG_USB_WACOM)+= wacom.o
 obj-$(CONFIG_USB_ACECAD)   += acecad.o
 obj-$(CONFIG_USB_XPAD) += xpad.o
+obj-$(CONFIG_USB_APPLETOUCH)   += appletouch.o
Index: linux-2.6-trunk.git/drivers/usb/input/Kconfig
===
--- linux-2.6-trunk.git.orig/drivers/usb/input/Kconfig  2005-06-28 
10:25:42.0 +0200
+++ linux-2.6-trunk.git/drivers/usb/input/Kconfig   2005-07-08 
14:05:15.0 +0200
@@ -259,3 +259,22 @@
  To compile this driver as a module, choose M here: the module will be
  called ati_remote.
 
+config USB_APPLETOUCH
+   tristate "Apple USB Touchpad support"
+   depends on USB && INPUT
+   ---help---
+ Say Y here if you want to use an Apple USB Touchpad.
+
+ These are the touchpads that can be found on post-February 2005
+ Apple Powerbooks (prior models have a Synaptics touchpad connected
+ to the ADB bus).
+
+ This driver provides a basic mouse driver but can be interfaced
+ with the synaptics X11 driver to provide acceleration and
+ scrolling in X11.
+
+ For further information, see
+ .
+
+ To compile this driver as a module, choose M here: the
+ module will be called appletouch.
Index: linux-2.6-trunk.git/Documentation/input/appletouch.txt
===
--- /dev/null   1970-01-01 00:00:00.0 +
+++ linux-2.6-trunk.git/Documentation/input/appletouch.txt  2005-07-08 
11:15:03.00000 +0200
@@ -0,0 +1,120 @@
+Apple Touchpad Driver (appletouch)
+--
+   Copyright (C) 2005 Stelian Pop <[EMAIL PROTECTED]>
+
+appletouch is a Linux kernel driver for the USB touchpad found on post
+February 2005 Apple Alu Powerbooks.
+
+This driver is derived from Johannes Berg's appletrackpad driver[1], but it has
+been improved in some areas:
+   * appletouch is a full kernel driver, no userspace program is necessary
+   * appletouch can be interfaced with the synaptics X11 driver, in order
+ to have touchpad acceleration, scrolling, etc.
+
+Credits go to Johannes Berg for reverse-engineering the touchpad protocol,
+Frank Arnold for further improvements, and Alex Harper for some additional
+information about the inner workings of the touchpad sensors.
+
+Usage:
+--
+
+In order to use the touchpad in the basic mode, compile the driver and load
+the module. A new input device will be detected and you will be able to read
+the mouse data from /dev/input/mice (using gpm, or X11).
+
+In X11, you can configure the touchpad to use the synaptics X11 driver, which
+will give additional functionalities, like acceleration, scrolling etc. In
+order to do this, make sure you're using a recent version of the synaptics
+driver (tested with 0.14.2, available from [2]), and configure a new input
+device in your X11 configuration file (take a look below for an example). For
+additional configuration, see the synaptics driver documentation.
+
+   Section "InputDevice"
+   Identifier  "Synaptics Touchpad"
+   Driver  "synaptics"
+   Option  "SendCoreEvents""true"
+   Option  "Device""/dev/input/mice"
+   Option  "Protocol"  "auto-dev"
+   Option  "LeftEdge"  "0"
+   Option  "RightEdge"

Re: GIT tree broken?

2005-07-08 Thread Stelian Pop
Le vendredi 08 juillet 2005 à 03:18 -0700, Andrew Morton a écrit :

> Maybe post-0.12 broke.  Try the 0.12 release.

Did try that but it does not solve the problem:

deep-space-9:~/kernel/git 41 > cg-version
cogito-0.12
deep-space-9:~/kernel/git 42 > cg-clone
http://www.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
linux-2.6.git
defaulting to local storage area
12:26:25
URL:http://www.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git/refs/heads/master
 [41/41] -> "refs/heads/origin" [1]
progress: 2 objects, 981 bytes
error: File 2a7e338ec2fc6aac461a11fe8049799e65639166
(http://www.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git/objects/2a/7e338ec2fc6aac461a11fe8049799e65639166)
 corrupt

Cannot obtain needed blob 2a7e338ec2fc6aac461a11fe8049799e65639166
while processing commit .
cg-pull: objects pull failed
cg-init: pull failed


If I manually try to get
http://www.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git/objects/2a/7e338ec2fc6aac461a11fe8049799e65639166
 I get a 404 in return.

Stelian.
-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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] Apple USB Touchpad driver (new)

2005-07-08 Thread Stelian Pop
Hi,

This is a driver for the USB touchpad which can be found on
post-February 2005 Apple PowerBooks (PowerBook5,6).

This driver is derived from Johannes Berg's appletrackpad driver [1],
but it has been improved in some areas:
* appletouch is a full kernel driver, no userspace program is necessary
* appletouch can be interfaced with the synaptics X11 driver[2], in order
  to have touchpad acceleration, scrolling, etc. 

This driver has been tested by the readers of the 'debian-powerpc'
mailing list for a few weeks now and I believe it is now ready for
inclusion into the mainline kernel.

Credits go to Johannes Berg for reverse-engineering the touchpad
protocol, Frank Arnold for further improvements, and Alex Harper for
some additional information about the inner workings of the touchpad
sensors.

Please apply.

Stelian.

[1]: http://johannes.sipsolutions.net/PowerBook/touchpad/
[2]: http://web.telia.com/~u89404340/touchpad/index.html


Index: linux-2.6-trunk.git/drivers/usb/input/Makefile
===
--- linux-2.6-trunk.git.orig/drivers/usb/input/Makefile 2005-06-28 
10:25:42.0 +0200
+++ linux-2.6-trunk.git/drivers/usb/input/Makefile  2005-07-08 
11:10:29.0 +0200
@@ -39,3 +39,4 @@
 obj-$(CONFIG_USB_WACOM)+= wacom.o
 obj-$(CONFIG_USB_ACECAD)   += acecad.o
 obj-$(CONFIG_USB_XPAD) += xpad.o
+obj-$(CONFIG_USB_APPLETOUCH)   += appletouch.o
Index: linux-2.6-trunk.git/drivers/usb/input/Kconfig
===
--- linux-2.6-trunk.git.orig/drivers/usb/input/Kconfig  2005-06-28 
10:25:42.0 +0200
+++ linux-2.6-trunk.git/drivers/usb/input/Kconfig   2005-07-08 
11:14:48.0 +0200
@@ -259,3 +259,21 @@
  To compile this driver as a module, choose M here: the module will be
  called ati_remote.
 
+config USB_APPLETOUCH
+   tristate "Apple USB Touchpad support"
+   depends on USB && INPUT
+   ---help---
+ Say Y here if you want to use an Apple USB Touchpad.
+
+ These are the touchpads that can be found on post-February 2005
+ Apple Powerbooks (PowerBook5,6).
+
+ This driver provides a basic mouse driver but can be interfaced
+ with the synaptics X11 driver to provide acceleration and
+ scrolling in X11.
+
+ For further information, see
+ .
+
+ To compile this driver as a module, choose M here: the
+ module will be called appletouch.
Index: linux-2.6-trunk.git/Documentation/input/appletouch.txt
===
--- /dev/null   1970-01-01 00:00:00.0 +
+++ linux-2.6-trunk.git/Documentation/input/appletouch.txt  2005-07-08 
11:15:03.0 +0200
@@ -0,0 +1,120 @@
+Apple Touchpad Driver (appletouch)
+--
+   Copyright (C) 2005 Stelian Pop <[EMAIL PROTECTED]>
+
+appletouch is a Linux kernel driver for the USB touchpad found on post
+February 2005 Apple Alu Powerbooks.
+
+This driver is derived from Johannes Berg's appletrackpad driver[1], but it has
+been improved in some areas:
+   * appletouch is a full kernel driver, no userspace program is necessary
+   * appletouch can be interfaced with the synaptics X11 driver, in order
+ to have touchpad acceleration, scrolling, etc.
+
+Credits go to Johannes Berg for reverse-engineering the touchpad protocol,
+Frank Arnold for further improvements, and Alex Harper for some additional
+information about the inner workings of the touchpad sensors.
+
+Usage:
+--
+
+In order to use the touchpad in the basic mode, compile the driver and load
+the module. A new input device will be detected and you will be able to read
+the mouse data from /dev/input/mice (using gpm, or X11).
+
+In X11, you can configure the touchpad to use the synaptics X11 driver, which
+will give additional functionalities, like acceleration, scrolling etc. In
+order to do this, make sure you're using a recent version of the synaptics
+driver (tested with 0.14.2, available from [2]), and configure a new input
+device in your X11 configuration file (take a look below for an example). For
+additional configuration, see the synaptics driver documentation.
+
+   Section "InputDevice"
+   Identifier  "Synaptics Touchpad"
+   Driver  "synaptics"
+   Option  "SendCoreEvents""true"
+   Option  "Device""/dev/input/mice"
+   Option  "Protocol"  "auto-dev"
+   Option  "LeftEdge"  "0"
+   Option  "RightEdge" "850"
+   Option  "TopEdge" 

Re: GIT tree broken?

2005-07-08 Thread Stelian Pop
Le vendredi 08 juillet 2005 à 12:30 +0300, Meelis Roos a écrit :
> I'm trying to sync with 
> rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git 
> with cogito cg-update (cogito 0.11.3+20050610-1 Debian package) and it 
> fails with the following error:
> 
> Applying changes...
> error: cannot map sha1 file 043d051615aa5da09a7e44f1edbb69798458e067
> error: Could not read 043d051615aa5da09a7e44f1edbb69798458e067
> cg-merge: unable to automatically determine merge base

I see this too, with the latest cogito git tree, reproductible even in a
fresh environment:

$ rm -rf linux-2.6.git
$ cg-clone
http://www.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
linux-2.6.git
defaulting to local storage area

11:57:48
URL:http://www.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git/refs/heads/master[41/41]
 -> "refs/heads/origin" [1] 
progress: 2 objects, 981 bytes
error: File 2a7e338ec2fc6aac461a11fe8049799e65639166
(http://www.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git/objects/2a/7e338ec2fc6aac461a11fe8049799e65639166)
 corrupt

Cannot obtain needed blob 2a7e338ec2fc6aac461a11fe8049799e65639166
while processing commit .
cg-pull: objects pull failed
cg-init: pull failed

Stelian.
-- 
Stelian Pop <[EMAIL PROTECTED]>

-
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: GIT tree broken?

2005-07-08 Thread Stelian Pop
Le vendredi 08 juillet 2005 à 12:30 +0300, Meelis Roos a écrit :
 I'm trying to sync with 
 rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git 
 with cogito cg-update (cogito 0.11.3+20050610-1 Debian package) and it 
 fails with the following error:
 
 Applying changes...
 error: cannot map sha1 file 043d051615aa5da09a7e44f1edbb69798458e067
 error: Could not read 043d051615aa5da09a7e44f1edbb69798458e067
 cg-merge: unable to automatically determine merge base

I see this too, with the latest cogito git tree, reproductible even in a
fresh environment:

$ rm -rf linux-2.6.git
$ cg-clone
http://www.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
linux-2.6.git
defaulting to local storage area

11:57:48
URL:http://www.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git/refs/heads/master[41/41]
 - refs/heads/origin [1] 
progress: 2 objects, 981 bytes
error: File 2a7e338ec2fc6aac461a11fe8049799e65639166
(http://www.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git/objects/2a/7e338ec2fc6aac461a11fe8049799e65639166)
 corrupt

Cannot obtain needed blob 2a7e338ec2fc6aac461a11fe8049799e65639166
while processing commit .
cg-pull: objects pull failed
cg-init: pull failed

Stelian.
-- 
Stelian Pop [EMAIL PROTECTED]

-
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] Apple USB Touchpad driver (new)

2005-07-08 Thread Stelian Pop
Hi,

This is a driver for the USB touchpad which can be found on
post-February 2005 Apple PowerBooks (PowerBook5,6).

This driver is derived from Johannes Berg's appletrackpad driver [1],
but it has been improved in some areas:
* appletouch is a full kernel driver, no userspace program is necessary
* appletouch can be interfaced with the synaptics X11 driver[2], in order
  to have touchpad acceleration, scrolling, etc. 

This driver has been tested by the readers of the 'debian-powerpc'
mailing list for a few weeks now and I believe it is now ready for
inclusion into the mainline kernel.

Credits go to Johannes Berg for reverse-engineering the touchpad
protocol, Frank Arnold for further improvements, and Alex Harper for
some additional information about the inner workings of the touchpad
sensors.

Please apply.

Stelian.

[1]: http://johannes.sipsolutions.net/PowerBook/touchpad/
[2]: http://web.telia.com/~u89404340/touchpad/index.html


Index: linux-2.6-trunk.git/drivers/usb/input/Makefile
===
--- linux-2.6-trunk.git.orig/drivers/usb/input/Makefile 2005-06-28 
10:25:42.0 +0200
+++ linux-2.6-trunk.git/drivers/usb/input/Makefile  2005-07-08 
11:10:29.0 +0200
@@ -39,3 +39,4 @@
 obj-$(CONFIG_USB_WACOM)+= wacom.o
 obj-$(CONFIG_USB_ACECAD)   += acecad.o
 obj-$(CONFIG_USB_XPAD) += xpad.o
+obj-$(CONFIG_USB_APPLETOUCH)   += appletouch.o
Index: linux-2.6-trunk.git/drivers/usb/input/Kconfig
===
--- linux-2.6-trunk.git.orig/drivers/usb/input/Kconfig  2005-06-28 
10:25:42.0 +0200
+++ linux-2.6-trunk.git/drivers/usb/input/Kconfig   2005-07-08 
11:14:48.0 +0200
@@ -259,3 +259,21 @@
  To compile this driver as a module, choose M here: the module will be
  called ati_remote.
 
+config USB_APPLETOUCH
+   tristate Apple USB Touchpad support
+   depends on USB  INPUT
+   ---help---
+ Say Y here if you want to use an Apple USB Touchpad.
+
+ These are the touchpads that can be found on post-February 2005
+ Apple Powerbooks (PowerBook5,6).
+
+ This driver provides a basic mouse driver but can be interfaced
+ with the synaptics X11 driver to provide acceleration and
+ scrolling in X11.
+
+ For further information, see
+ file:Documentation/input/appletouch.txt.
+
+ To compile this driver as a module, choose M here: the
+ module will be called appletouch.
Index: linux-2.6-trunk.git/Documentation/input/appletouch.txt
===
--- /dev/null   1970-01-01 00:00:00.0 +
+++ linux-2.6-trunk.git/Documentation/input/appletouch.txt  2005-07-08 
11:15:03.0 +0200
@@ -0,0 +1,120 @@
+Apple Touchpad Driver (appletouch)
+--
+   Copyright (C) 2005 Stelian Pop [EMAIL PROTECTED]
+
+appletouch is a Linux kernel driver for the USB touchpad found on post
+February 2005 Apple Alu Powerbooks.
+
+This driver is derived from Johannes Berg's appletrackpad driver[1], but it has
+been improved in some areas:
+   * appletouch is a full kernel driver, no userspace program is necessary
+   * appletouch can be interfaced with the synaptics X11 driver, in order
+ to have touchpad acceleration, scrolling, etc.
+
+Credits go to Johannes Berg for reverse-engineering the touchpad protocol,
+Frank Arnold for further improvements, and Alex Harper for some additional
+information about the inner workings of the touchpad sensors.
+
+Usage:
+--
+
+In order to use the touchpad in the basic mode, compile the driver and load
+the module. A new input device will be detected and you will be able to read
+the mouse data from /dev/input/mice (using gpm, or X11).
+
+In X11, you can configure the touchpad to use the synaptics X11 driver, which
+will give additional functionalities, like acceleration, scrolling etc. In
+order to do this, make sure you're using a recent version of the synaptics
+driver (tested with 0.14.2, available from [2]), and configure a new input
+device in your X11 configuration file (take a look below for an example). For
+additional configuration, see the synaptics driver documentation.
+
+   Section InputDevice
+   Identifier  Synaptics Touchpad
+   Driver  synaptics
+   Option  SendCoreEventstrue
+   Option  Device/dev/input/mice
+   Option  Protocol  auto-dev
+   Option  LeftEdge  0
+   Option  RightEdge 850
+   Option  TopEdge   0
+   Option  BottomEdge645
+   Option  MinSpeed  0.4
+   Option

Re: GIT tree broken?

2005-07-08 Thread Stelian Pop
Le vendredi 08 juillet 2005 à 03:18 -0700, Andrew Morton a écrit :

 Maybe post-0.12 broke.  Try the 0.12 release.

Did try that but it does not solve the problem:

deep-space-9:~/kernel/git 41  cg-version
cogito-0.12
deep-space-9:~/kernel/git 42  cg-clone
http://www.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
linux-2.6.git
defaulting to local storage area
12:26:25
URL:http://www.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git/refs/heads/master
 [41/41] - refs/heads/origin [1]
progress: 2 objects, 981 bytes
error: File 2a7e338ec2fc6aac461a11fe8049799e65639166
(http://www.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git/objects/2a/7e338ec2fc6aac461a11fe8049799e65639166)
 corrupt

Cannot obtain needed blob 2a7e338ec2fc6aac461a11fe8049799e65639166
while processing commit .
cg-pull: objects pull failed
cg-init: pull failed


If I manually try to get
http://www.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git/objects/2a/7e338ec2fc6aac461a11fe8049799e65639166
 I get a 404 in return.

Stelian.
-- 
Stelian Pop [EMAIL PROTECTED]

-
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] Apple USB Touchpad driver (new)

2005-07-08 Thread Stelian Pop
On Fri, Jul 08, 2005 at 01:18:01PM +0200, Johannes Berg wrote:

 Hi all,
 
 Nice to see this going into the kernel :)
 
  This is a driver for the USB touchpad which can be found on
  post-February 2005 Apple PowerBooks (PowerBook5,6).
 
 This is not perfectly correct, the PowerBook5,6 is afaik only the 15
 model, the 12 and 17 have other numbers. Maybe you should just leave
 that out, likewise in the code/Kconfig file.

Indeed, corrected.

  +/*
  + * number of sensors. Note that only 16 of the 26 x sensors are used on
  + * 12 and 15 Powerbooks.
  + */
 
 I think that is misleading, those sensors don't even exist on 12 and
 15 powerbooks. Maybe it should say 'Note that only 16 instead of 26
 sensors exist on 12 and 15 models'

Sure, I clarified a bit that sentence.

Updated patch follows.

Thanks.

Stelian.

Index: linux-2.6-trunk.git/drivers/usb/input/Makefile
===
--- linux-2.6-trunk.git.orig/drivers/usb/input/Makefile 2005-06-28 
10:25:42.0 +0200
+++ linux-2.6-trunk.git/drivers/usb/input/Makefile  2005-07-08 
11:10:29.0 +0200
@@ -39,3 +39,4 @@
 obj-$(CONFIG_USB_WACOM)+= wacom.o
 obj-$(CONFIG_USB_ACECAD)   += acecad.o
 obj-$(CONFIG_USB_XPAD) += xpad.o
+obj-$(CONFIG_USB_APPLETOUCH)   += appletouch.o
Index: linux-2.6-trunk.git/drivers/usb/input/Kconfig
===
--- linux-2.6-trunk.git.orig/drivers/usb/input/Kconfig  2005-06-28 
10:25:42.0 +0200
+++ linux-2.6-trunk.git/drivers/usb/input/Kconfig   2005-07-08 
14:05:15.0 +0200
@@ -259,3 +259,22 @@
  To compile this driver as a module, choose M here: the module will be
  called ati_remote.
 
+config USB_APPLETOUCH
+   tristate Apple USB Touchpad support
+   depends on USB  INPUT
+   ---help---
+ Say Y here if you want to use an Apple USB Touchpad.
+
+ These are the touchpads that can be found on post-February 2005
+ Apple Powerbooks (prior models have a Synaptics touchpad connected
+ to the ADB bus).
+
+ This driver provides a basic mouse driver but can be interfaced
+ with the synaptics X11 driver to provide acceleration and
+ scrolling in X11.
+
+ For further information, see
+ file:Documentation/input/appletouch.txt.
+
+ To compile this driver as a module, choose M here: the
+ module will be called appletouch.
Index: linux-2.6-trunk.git/Documentation/input/appletouch.txt
===
--- /dev/null   1970-01-01 00:00:00.0 +
+++ linux-2.6-trunk.git/Documentation/input/appletouch.txt  2005-07-08 
11:15:03.0 +0200
@@ -0,0 +1,120 @@
+Apple Touchpad Driver (appletouch)
+--
+   Copyright (C) 2005 Stelian Pop [EMAIL PROTECTED]
+
+appletouch is a Linux kernel driver for the USB touchpad found on post
+February 2005 Apple Alu Powerbooks.
+
+This driver is derived from Johannes Berg's appletrackpad driver[1], but it has
+been improved in some areas:
+   * appletouch is a full kernel driver, no userspace program is necessary
+   * appletouch can be interfaced with the synaptics X11 driver, in order
+ to have touchpad acceleration, scrolling, etc.
+
+Credits go to Johannes Berg for reverse-engineering the touchpad protocol,
+Frank Arnold for further improvements, and Alex Harper for some additional
+information about the inner workings of the touchpad sensors.
+
+Usage:
+--
+
+In order to use the touchpad in the basic mode, compile the driver and load
+the module. A new input device will be detected and you will be able to read
+the mouse data from /dev/input/mice (using gpm, or X11).
+
+In X11, you can configure the touchpad to use the synaptics X11 driver, which
+will give additional functionalities, like acceleration, scrolling etc. In
+order to do this, make sure you're using a recent version of the synaptics
+driver (tested with 0.14.2, available from [2]), and configure a new input
+device in your X11 configuration file (take a look below for an example). For
+additional configuration, see the synaptics driver documentation.
+
+   Section InputDevice
+   Identifier  Synaptics Touchpad
+   Driver  synaptics
+   Option  SendCoreEventstrue
+   Option  Device/dev/input/mice
+   Option  Protocol  auto-dev
+   Option  LeftEdge  0
+   Option  RightEdge 850
+   Option  TopEdge   0
+   Option  BottomEdge645
+   Option  MinSpeed  0.4
+   Option  MaxSpeed  1
+   Option  AccelFactor   0.02

Re: GIT tree broken? (rsync depreciated)

2005-07-08 Thread Stelian Pop
[sorry Ed for the duplicate...]

Le vendredi 08 juillet 2005 à 07:28 -0400, Ed Tomlinson a écrit :
 Hi,
 
 I resync(ed) cg and rebuild this morning and it worked fine.  
 
 On another tack.  Updating the kernel gave a message that rsync is
depreciated and
 will soon be turned off.  How should we be updating git/cg trees now?

After resyncing cogito to the latest version (which incorporates the
'pack' changes, which were causing the failure), it does indeed work
again, when using rsync.

However, it still fails when using http.

Stelian.
-- 
Stelian Pop [EMAIL PROTECTED]

-
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: AMD64 Machine hardlocks when using memset

2005-03-31 Thread Stelian Pop
On Thu, Mar 31, 2005 at 12:04:59AM +0200, Philip Lawatsch wrote:

> I do have a very strange problem:
> 
> If I memset a ~1meg buffer some thousand times (in the userspace) it
> will hardlock my machine.
> 
> I've been using 2.6.12-rc1 and also a lot of other kernels (2.6.9,
> 2.6.11). I've tried it both using a 32 bit kernel and a 64 bit kernel.
> When running on the 32 bit kernel the machine hardlocks after about
> 15000 iterations, on a 64 bit kernel the machine hardlocks after about
> 5000 (the 64 bit system has nearly no background jobs running).
> 
> I've been running memcheck for several hours now but nothing did show up.
> 
> 
> I've got an Asus A8N-SLI board with 2 gigs of memory and an AMD 3500+ CPU.
> 
> The 64 bit kernel was compiled using gcc 3.4.3 and the 32 bit kernel
> using 3.3.5.
[...]

> powernow-k8: Found 1 AMD Athlon 64 / Opteron processors (version 1.00.09e)
> powernow-k8:0 : fid 0xe (2200 MHz), vid 0x6 (1400 mV)
> powernow-k8:1 : fid 0xc (2000 MHz), vid 0x8 (1350 mV)
> powernow-k8:2 : fid 0xa (1800 MHz), vid 0xa (1300 mV)
> powernow-k8:3 : fid 0x2 (1000 MHz), vid 0x12 (1100 mV)
> cpu_init done, current fid 0xe, vid 0x6

Just a thought: does deactivating cpufreq change anything ?

I haven't tested yet your program, but on my Asus K8NE-Deluxe very
strange things happen if cpufreq/powernow is activated *and* 
the cpu frequency is changed...

Stelian.
-- 
Stelian Pop <[EMAIL PROTECTED]>
-
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: AMD64 Machine hardlocks when using memset

2005-03-31 Thread Stelian Pop
On Thu, Mar 31, 2005 at 12:04:59AM +0200, Philip Lawatsch wrote:

 I do have a very strange problem:
 
 If I memset a ~1meg buffer some thousand times (in the userspace) it
 will hardlock my machine.
 
 I've been using 2.6.12-rc1 and also a lot of other kernels (2.6.9,
 2.6.11). I've tried it both using a 32 bit kernel and a 64 bit kernel.
 When running on the 32 bit kernel the machine hardlocks after about
 15000 iterations, on a 64 bit kernel the machine hardlocks after about
 5000 (the 64 bit system has nearly no background jobs running).
 
 I've been running memcheck for several hours now but nothing did show up.
 
 
 I've got an Asus A8N-SLI board with 2 gigs of memory and an AMD 3500+ CPU.
 
 The 64 bit kernel was compiled using gcc 3.4.3 and the 32 bit kernel
 using 3.3.5.
[...]

 powernow-k8: Found 1 AMD Athlon 64 / Opteron processors (version 1.00.09e)
 powernow-k8:0 : fid 0xe (2200 MHz), vid 0x6 (1400 mV)
 powernow-k8:1 : fid 0xc (2000 MHz), vid 0x8 (1350 mV)
 powernow-k8:2 : fid 0xa (1800 MHz), vid 0xa (1300 mV)
 powernow-k8:3 : fid 0x2 (1000 MHz), vid 0x12 (1100 mV)
 cpu_init done, current fid 0xe, vid 0x6

Just a thought: does deactivating cpufreq change anything ?

I haven't tested yet your program, but on my Asus K8NE-Deluxe very
strange things happen if cpufreq/powernow is activated *and* 
the cpu frequency is changed...

Stelian.
-- 
Stelian Pop [EMAIL PROTECTED]
-
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: BKCVS broken ?

2005-03-18 Thread Stelian Pop
On Fri, Mar 18, 2005 at 08:38:51PM +0530, Hong Kong Phoey wrote:

> IMHO, BKCVS is just fine, what's broken is your head.

Yup, that's what I said, that cvs HEAD is broken...

:)

Stelian.
-- 
Stelian Pop <[EMAIL PROTECTED]>
-
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: BKCVS broken ?

2005-03-18 Thread Stelian Pop
On Fri, Mar 18, 2005 at 06:13:45AM -0800, Larry McVoy wrote:

> On Fri, Mar 18, 2005 at 10:00:49AM +0100, Stelian Pop wrote:
> > On Thu, Mar 17, 2005 at 10:38:53PM -0800, Larry McVoy wrote:
> > 
> > > Hey, it's open source, I'm hoping that people will take that code and
> > > evolve it do whatever they need.  We're willing to do what we can on
> > > this end if people need protocol changes to support new features, 
> > > time permitting.  Think of that code as a prototype.  It's really
> > > simple, you can hack it trivially.
> > 
> > 
> > if (strncmp("bk://", p, 5)) return (1);
> > 
> > 
> > Any chance this could be made to work over http ?
> 
> I don't see why not.  It will take some hacking though.  Can you live 
> without it for a bit or is it urgent?

It's not urgent at all...

Thanks.

Stelian.
-- 
Stelian Pop <[EMAIL PROTECTED]>
-
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/


  1   2   3   >