platform/kernel/linux-amlogic.git
15 years agoV4L/DVB (11339): af9015: remove wrong definitions
Antti Palosaari [Mon, 30 Mar 2009 20:57:51 +0000 (17:57 -0300)]
V4L/DVB (11339): af9015: remove wrong definitions

Remove wrong GPIO definitions. GPIOs used by AF9015 are property of the
AF9013 demodulator and are coming from there.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11338): af9015: add support for TrekStor DVB-T USB Stick
Marc Schneider [Fri, 27 Mar 2009 00:07:18 +0000 (21:07 -0300)]
V4L/DVB (11338): af9015: add support for TrekStor DVB-T USB Stick

Add USB ID (15a4:901b) and remote for TrekStor DVB-T USB Stick.

Signed-off-by: Marc Schneider <macke@macke.org>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11337): af9015: add new USB ID for KWorld USB DVB-T TV Stick II (VS-DVB...
Antti Palosaari [Thu, 26 Mar 2009 23:41:05 +0000 (20:41 -0300)]
V4L/DVB (11337): af9015: add new USB ID for KWorld USB DVB-T TV Stick II (VS-DVB-T 395U)

Add new USB ID (1b80:e395) for KWorld USB DVB-T TV Stick II (VS-DVB-T 395U).
Thanks to Julian Aron Prenner <julian@linux4you.it> for reporting this.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11336): af9015: remove experimental
Antti Palosaari [Thu, 26 Mar 2009 23:27:10 +0000 (20:27 -0300)]
V4L/DVB (11336): af9015: remove experimental

Remove experimental from DVB USB AF9015 device.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11334): pvrusb2: Fix uninitialized tuner_setup field(s)
Mike Isely [Wed, 1 Apr 2009 04:55:26 +0000 (01:55 -0300)]
V4L/DVB (11334): pvrusb2: Fix uninitialized tuner_setup field(s)

Any time a struct (especially one not defined by this driver) is
allocated, we MUST zero its underlying storage.  This makes our usage
of the struct predictable and robust against future changes where
fields might be added that we don't know about.  Failing to do this
with tuner_setup left the config field uninitialized which then caused
trouble with the tuner type used for HVR-1950 devices.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11333): pvrusb2: Report def_val items in sysfs symbolically, consistent...
Mike Isely [Wed, 1 Apr 2009 04:51:53 +0000 (01:51 -0300)]
V4L/DVB (11333): pvrusb2: Report def_val items in sysfs symbolically, consistent with cur_val

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11332): pvrusb2: Fix incorrect reporting of default value for non-integer...
Mike Isely [Wed, 1 Apr 2009 04:49:57 +0000 (01:49 -0300)]
V4L/DVB (11332): pvrusb2: Fix incorrect reporting of default value for non-integer controls

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11331): em28xx: convert to v4l2_subdev
Douglas Schilling Landgraf [Tue, 31 Mar 2009 20:10:58 +0000 (17:10 -0300)]
V4L/DVB (11331): em28xx: convert to v4l2_subdev

Converted em28xx driver to v4l2_subdev.
Thanks to Hans Verkuil <hverkuil@xs4all.nl> for helping this conversion.

Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11329): Fix buglets in v4l1 compatibility layer
Russell King [Sun, 29 Mar 2009 11:12:27 +0000 (08:12 -0300)]
V4L/DVB (11329): Fix buglets in v4l1 compatibility layer

The following patch fixes a few bugs I've noticed in the V4L1
compatibility layer:
- VIDEO_MODE_AUTO for get/set input ioctls was not being handled
- wrong V4L2 ioctl being used in v4l1_compat_select_tuner

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11328): Add AVerMedia A310 USB IDs to CE6230 driver.
Juan Jesús García de Soria Lucena [Sun, 29 Mar 2009 02:36:18 +0000 (23:36 -0300)]
V4L/DVB (11328): Add AVerMedia A310 USB IDs to CE6230 driver.

The CE6230 DVB USB driver works correctly for the AVerMedia A310 USB2.0
DVB-T tuner. Add the required USB ID's and hardware names so that the
driver will handle it.

Signed-off-by: Juan Jesús García de Soria Lucena <skandalfo@gmail.com>
Acked-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11327): ov772x: add edge contrl support
Kuninori Morimoto [Tue, 31 Mar 2009 06:44:22 +0000 (03:44 -0300)]
V4L/DVB (11327): ov772x: add edge contrl support

Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11326): mt9m001: fix advertised pixel clock polarity
Guennadi Liakhovetski [Tue, 31 Mar 2009 06:44:22 +0000 (03:44 -0300)]
V4L/DVB (11326): mt9m001: fix advertised pixel clock polarity

MT9M001 datasheet says, that the data is ready on the falling edge of the pixel
clock, but the driver wrongly sets the SOCAM_PCLK_SAMPLE_RISING flag. Changing
this doesn't seem to produce any visible difference, still, it is better to
comply to the datasheet.

Reported-by: Sascha Oppermann <oppermann@garage-computers.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11325): soc-camera: fix breakage caused by 1fa5ae857bb14f6046205171d98506d81...
Guennadi Liakhovetski [Tue, 31 Mar 2009 06:44:22 +0000 (03:44 -0300)]
V4L/DVB (11325): soc-camera: fix breakage caused by 1fa5ae857bb14f6046205171d98506d8112dd74e

soc-camera re-uses struct devices multiple times in calls to device_register(),
therefore it has to reset the embedded struct kobject to avoid the "tried to
init an initialized object" error, which then also erases its name. Now with
the transition to kobject's name for device names, we have to re-initialise the
name before each call to device_register().

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11324): ov772x: wrong pointer for soc_camera_link is modified
Kuninori Morimoto [Tue, 31 Mar 2009 06:44:22 +0000 (03:44 -0300)]
V4L/DVB (11324): ov772x: wrong pointer for soc_camera_link is modified

priv->client->dev.platrom_data mean ov772x_camera_info in ov772x driver.
So, struct soc_camera_link doesn't exist there.
This patch modify this bug.

Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11323): pxa-camera: simplify the .buf_queue path by merging two loops
Guennadi Liakhovetski [Tue, 31 Mar 2009 06:44:22 +0000 (03:44 -0300)]
V4L/DVB (11323): pxa-camera: simplify the .buf_queue path by merging two loops

pxa_dma_update_sg_tail() is called only once, runs exactly the same loop as the
caller and has to recalculate the last element in an sg-list, that the caller
has already calculated. Eliminate redundancy by merging the two loops and
re-using the calculated pointer. This also saves a bit of performance which is
always good during video-capture.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11322): pxa_camera: Fix overrun condition on last buffer
Robert Jarzmik [Tue, 31 Mar 2009 06:44:22 +0000 (03:44 -0300)]
V4L/DVB (11322): pxa_camera: Fix overrun condition on last buffer

The last buffer queued will often overrun, as the DMA chain
is finished, and the time the dma irq handler is activated,
the QCI fifos are filled by the sensor.

The fix is to ignore the overrun condition on the last
queued buffer, and restart the capture only on intermediate
buffers of the chain.

Moreover, a fix was added to the very unlikely condition
where in YUV422P mode, one channel overruns while another
completes at the very same time. The capture is restarted
after the overrun as before, but the other channel
completion is now ignored.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11321): pxa_camera: Redesign DMA handling
Robert Jarzmik [Tue, 31 Mar 2009 06:44:21 +0000 (03:44 -0300)]
V4L/DVB (11321): pxa_camera: Redesign DMA handling

The DMA transfers in pxa_camera showed some weaknesses in
multiple queued buffers context :
 - poll/select problem
   The bug shows up with capture_example tool from v4l2 hg
   tree. The process just "stalls" on a "select timeout".

 - multiple buffers DMA starting
   When multiple buffers were queued, the DMA channels were
   always started right away. This is not optimal, as a
   special case appears when the first EOF was not yet
   reached, and the DMA channels were prematurely started.

 - Maintainability
   DMA code was a bit obfuscated. Rationalize the code to be
   easily maintainable by anyone.

 - DMA hot chaining
   DMA is not stopped anymore to queue a buffer, the buffer
   is queued with DMA running. As a tribute, a corner case
   exists where chaining happens while DMA finishes the
   chain, and the capture is restarted to deal with the
   missed link buffer.

This patch attemps to address these issues / improvements.

 create mode 100644 Documentation/video4linux/pxa_camera.txt

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11320): pxa_camera: Remove YUV planar formats hole
Robert Jarzmik [Tue, 31 Mar 2009 06:44:21 +0000 (03:44 -0300)]
V4L/DVB (11320): pxa_camera: Remove YUV planar formats hole

All planes were PAGE aligned (ie. 4096 bytes aligned). This
is not consistent with YUV422 format, which requires Y, U
and V planes glued together.  The new implementation forces
the alignement on 8 bytes (DMA requirement), which is almost
always the case (granted by width x height being a multiple
of 8).

The test cases include tests in both YUV422 and RGB565 :
 - a picture of size 111 x 111 (cross RAM pages example)
 - a picture of size 1023 x 4 in (under 1 RAM page)
 - a picture of size 1024 x 4 in (exactly 1 RAM page)
 - a picture of size 1025 x 4 in (over 1 RAM page)
 - a picture of size 1280 x 1024 (many RAM pages)

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11319): pxa_camera: Enforce YUV422P frame sizes to be 16 multiples
Robert Jarzmik [Tue, 31 Mar 2009 06:44:21 +0000 (03:44 -0300)]
V4L/DVB (11319): pxa_camera: Enforce YUV422P frame sizes to be 16 multiples

Due to DMA constraints, the DMA chain always transfers bytes
from the QCI fifos to memory in 8 bytes units. In planar
formats, that could mean 0 padding between Y and U plane
(and between U and V plane), which is against YUV422P
standard.

Therefore, a frame size is required to be a multiple of 16
(so U plane size is a multiple of 8). It is enforced in
try_fmt() and set_fmt() primitives, be aligning height then
width on 4 multiples as need be, to reach a 16 multiple.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11318): fix misspelling of kconfig option
Kyle McMartin [Tue, 31 Mar 2009 01:36:19 +0000 (22:36 -0300)]
V4L/DVB (11318): fix misspelling of kconfig option

CUSTOMISE appears to be the one actually defined...

Signed-off-by: Kyle McMartin <kyle@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoMerge branch 'audit.b62' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit...
Linus Torvalds [Sun, 5 Apr 2009 19:36:11 +0000 (12:36 -0700)]
Merge branch 'audit.b62' of git://git./linux/kernel/git/viro/audit-current

* 'audit.b62' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current:
  Audit: remove spaces from audit_log_d_path
  audit: audit_set_auditable defined but not used
  audit: incorrect ref counting in audit tree tag_chunk
  audit: Fix possible return value truncation in audit_get_context()
  audit: ignore terminating NUL in AUDIT_USER_TTY messages
  Audit: fix handling of 'strings' with NULL characters
  make the e->rule.xxx shorter in kernel auditfilter.c
  auditsc: fix kernel-doc notation
  audit: EXECVE record - removed bogus newline

15 years agoMerge branch 'for-next' of git://git.o-hand.com/linux-mfd
Linus Torvalds [Sun, 5 Apr 2009 18:38:37 +0000 (11:38 -0700)]
Merge branch 'for-next' of git://git.o-hand.com/linux-mfd

* 'for-next' of git://git.o-hand.com/linux-mfd:
  mfd: fix da903x warning
  mfd: fix MAINTAINERS entry
  mfd: Use the value of the final spin when reading the AUXADC
  mfd: Storage class should be before const qualifier
  mfd: PASIC3: supply clock_rate to DS1WM via driver_data
  mfd: remove DS1WM clock handling
  mfd: remove unused PASIC3 bus_shift field
  pxa/magician: remove deprecated .bus_shift from PASIC3 platform_data
  mfd: convert PASIC3 to use MFD core
  mfd: convert DS1WM to use MFD core
  mfd: Support active high IRQs on WM835x
  mfd: Use bulk read to fill WM8350 register cache
  mfd: remove duplicated #include from pcf50633

15 years agoMerge branch 'for-linus' of git://repo.or.cz/cris-mirror
Linus Torvalds [Sun, 5 Apr 2009 18:36:31 +0000 (11:36 -0700)]
Merge branch 'for-linus' of git://repo.or.cz/cris-mirror

* 'for-linus' of git://repo.or.cz/cris-mirror:
  CRISv32: Remove extraneous space between -I and the path.
  cris: convert obsolete hw_interrupt_type to struct irq_chip
  BUG to BUG_ON changes
  cpumask: use mm_cpumask() wrapper: cris
  cpumask: Use accessors code.: cris
  cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.: cris

15 years agoMerge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux...
Linus Torvalds [Sun, 5 Apr 2009 18:16:25 +0000 (11:16 -0700)]
Merge branch 'release' of git://git./linux/kernel/git/lenb/linux-acpi-2.6

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (140 commits)
  ACPI: processor: use .notify method instead of installing handler directly
  ACPI: button: use .notify method instead of installing handler directly
  ACPI: support acpi_device_ops .notify methods
  toshiba-acpi: remove MAINTAINERS entry
  ACPI: battery: asynchronous init
  acer-wmi: Update copyright notice & documentation
  acer-wmi: Cleanup the failure cleanup handling
  acer-wmi: Blacklist Acer Aspire One
  video: build fix
  thinkpad-acpi: rework brightness support
  thinkpad-acpi: enhanced debugging messages for the fan subdriver
  thinkpad-acpi: enhanced debugging messages for the hotkey subdriver
  thinkpad-acpi: enhanced debugging messages for rfkill subdrivers
  thinkpad-acpi: restrict access to some firmware LEDs
  thinkpad-acpi: remove HKEY disable functionality
  thinkpad-acpi: add new debug helpers and warn of deprecated atts
  thinkpad-acpi: add missing log levels
  thinkpad-acpi: cleanup debug helpers
  thinkpad-acpi: documentation cleanup
  thinkpad-acpi: drop ibm-acpi alias
  ...

15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6
Linus Torvalds [Sun, 5 Apr 2009 18:15:54 +0000 (11:15 -0700)]
Merge git://git./linux/kernel/git/lethal/sh-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (23 commits)
  sh: sh7785lcr: Map whole PCI address space.
  sh: Fix up DSP context save/restore.
  sh: Fix up number of on-chip DMA channels on SH7091.
  sh: update defconfigs.
  sh: Kill off broken direct-mapped cache mode.
  sh: Wire up ARCH_HAS_DEFAULT_IDLE for cpuidle.
  sh: Add a command line option for disabling I/O trapping.
  sh: Select ARCH_HIBERNATION_POSSIBLE.
  sh: migor: Fix up CEU use flags.
  input: migor_ts: add wakeup support
  rtc: rtc-sh: use set_irq_wake()
  input: sh_keysc: use enable/disable_irq_wake()
  sh: intc: set_irq_wake() support
  sh: intc: install enable, disable and shutdown callbacks
  clocksource: sh_cmt: use remove_irq() and remove clockevent workaround
  sh: ap325 and Migo-R use new sh_mobile_ceu_info flags
  sh: Fix up -Wformat-security whining.
  sh: ap325rxa: Add ov772x support, again.
  sh: Sanitize asm/mmu.h for assembly use.
  sh: Tidy up sh7786 pinmux table.
  ...

15 years agoMerge branch 'avr32-arch' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoe...
Linus Torvalds [Sun, 5 Apr 2009 18:15:28 +0000 (11:15 -0700)]
Merge branch 'avr32-arch' of git://git./linux/kernel/git/hskinnemoen/avr32-2.6

* 'avr32-arch' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6:
  avr32: add hardware handshake support to atmel_serial
  avr32: add RTS/CTS/CLK pin selection for the USARTs
  Add RTC support for Merisc boards
  avr32: at32ap700x: setup DMA for AC97C in the machine code
  avr32: at32ap700x: setup DMA for ABDAC in the machine code
  Add Merisc board support
  avr32: use gpio_is_valid() to check USBA vbus_pin I/O line
  atmel-usba-udc: use gpio_is_valid() to check vbus_pin I/O line
  avr32: fix timing LCD parameters for EVKLCD10X boards
  avr32: use GPIO line PB15 on EVKLCD10x boards for backlight
  avr32: configure MCI detect and write protect pins for EVKLCD10x boards
  avr32: set pin mask to alternative 18 bpp for EVKLCD10x boards
  avr32: add pin mask for 18-bit color on the LCD controller
  avr32: fix 15-bit LCDC pin mask to use MSB lines

15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6
Linus Torvalds [Sun, 5 Apr 2009 18:06:45 +0000 (11:06 -0700)]
Merge git://git./linux/kernel/git/gregkh/staging-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: (714 commits)
  Staging: sxg: slicoss: Specify the license for Sahara SXG and Slicoss drivers
  Staging: serqt_usb: fix build due to proc tty changes
  Staging: serqt_usb: fix checkpatch errors
  Staging: serqt_usb: add TODO file
  Staging: serqt_usb: Lindent the code
  Staging: add USB serial Quatech driver
  staging: document that the wifi staging drivers a bit better
  Staging: echo cleanup
  Staging: BUG to BUG_ON changes
  Staging: remove some pointless conditionals before kfree_skb()
  Staging: line6: fix build error, select SND_RAWMIDI
  Staging: line6: fix checkpatch errors in variax.c
  Staging: line6: fix checkpatch errors in toneport.c
  Staging: line6: fix checkpatch errors in pcm.c
  Staging: line6: fix checkpatch errors in midibuf.c
  Staging: line6: fix checkpatch errors in midi.c
  Staging: line6: fix checkpatch errors in dumprequest.c
  Staging: line6: fix checkpatch errors in driver.c
  Staging: line6: fix checkpatch errors in audio.c
  Staging: line6: fix checkpatch errors in pod.c
  ...

15 years agoMerge branch 'tracing-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Sun, 5 Apr 2009 18:04:19 +0000 (11:04 -0700)]
Merge branch 'tracing-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip

* 'tracing-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (413 commits)
  tracing, net: fix net tree and tracing tree merge interaction
  tracing, powerpc: fix powerpc tree and tracing tree interaction
  ring-buffer: do not remove reader page from list on ring buffer free
  function-graph: allow unregistering twice
  trace: make argument 'mem' of trace_seq_putmem() const
  tracing: add missing 'extern' keywords to trace_output.h
  tracing: provide trace_seq_reserve()
  blktrace: print out BLK_TN_MESSAGE properly
  blktrace: extract duplidate code
  blktrace: fix memory leak when freeing struct blk_io_trace
  blktrace: fix blk_probes_ref chaos
  blktrace: make classic output more classic
  blktrace: fix off-by-one bug
  blktrace: fix the original blktrace
  blktrace: fix a race when creating blk_tree_root in debugfs
  blktrace: fix timestamp in binary output
  tracing, Text Edit Lock: cleanup
  tracing: filter fix for TRACE_EVENT_FORMAT events
  ftrace: Using FTRACE_WARN_ON() to check "freed record" in ftrace_release()
  x86: kretprobe-booster interrupt emulation code fix
  ...

Fix up trivial conflicts in
 arch/parisc/include/asm/ftrace.h
 include/linux/memory.h
 kernel/extable.c
 kernel/module.c

15 years agoAudit: remove spaces from audit_log_d_path
Eric Paris [Tue, 10 Mar 2009 22:00:14 +0000 (18:00 -0400)]
Audit: remove spaces from audit_log_d_path

audit_log_d_path had spaces in the strings which would be emitted on the
error paths.  This patch simply replaces those spaces with an _ or removes
the needless spaces entirely.

Signed-off-by: Eric Paris <eparis@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agoaudit: audit_set_auditable defined but not used
Eric Paris [Mon, 26 Jan 2009 23:09:45 +0000 (18:09 -0500)]
audit: audit_set_auditable defined but not used

after 0590b9335a1c72a3f0defcc6231287f7817e07c8 audit_set_auditable() is now only
used by the audit tree code.  If CONFIG_AUDIT_TREE is unset it will be defined
but unused.  This patch simply moves the function inside a CONFIG_AUDIT_TREE
block.

cc1: warnings being treated as errors
/home/acme_unencrypted/git/linux-2.6-tip/kernel/auditsc.c:745: error: ‘audit_set_auditable’ defined but not used
make[2]: *** [kernel/auditsc.o] Error 1
make[1]: *** [kernel] Error 2
make[1]: *** Waiting for unfinished jobs....

Signed-off-by: Eric Paris <eparis@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agoaudit: incorrect ref counting in audit tree tag_chunk
Eric Paris [Tue, 13 Jan 2009 22:32:40 +0000 (17:32 -0500)]
audit: incorrect ref counting in audit tree tag_chunk

tag_chunk has bad exit paths in which the inotify ref counting is wrong.
At the top of the function we found &old_watch using  inotify_find_watch().
inotify_find_watch takes a reference to the watch.  This is never dropped
on an error path.

Signed-off-by: Eric Paris <eparis@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agoaudit: Fix possible return value truncation in audit_get_context()
Paul Moore [Wed, 1 Apr 2009 19:47:27 +0000 (15:47 -0400)]
audit: Fix possible return value truncation in audit_get_context()

The audit subsystem treats syscall return codes as type long, unfortunately
the audit_get_context() function mistakenly converts the return code to an
int type in the parameters which could cause problems on systems where the
sizeof(int) != sizeof(long).

Signed-off-by: Paul Moore <paul.moore@hp.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agoaudit: ignore terminating NUL in AUDIT_USER_TTY messages
Miloslav Trmac [Thu, 19 Mar 2009 13:52:47 +0000 (09:52 -0400)]
audit: ignore terminating NUL in AUDIT_USER_TTY messages

AUDIT_USER_TTY, like all other messages sent from user-space, is sent
NUL-terminated.  Unlike other user-space audit messages, which come only
from trusted sources, AUDIT_USER_TTY messages are processed using
audit_log_n_untrustedstring().

This patch modifies AUDIT_USER_TTY handling to ignore the trailing NUL
and use the "quoted_string" representation of the message if possible.

Signed-off-by: Miloslav Trmac <mitr@redhat.com>
Cc: Eric Paris <eparis@redhat.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Steve Grubb <sgrubb@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agoAudit: fix handling of 'strings' with NULL characters
Miloslav Trmac [Thu, 19 Mar 2009 13:48:27 +0000 (09:48 -0400)]
Audit: fix handling of 'strings' with NULL characters

currently audit_log_n_untrustedstring() uses audit_string_contains_control()
to check if the 'string' has any control characters.  If the 'string' has an
embedded NULL audit_string_contains_control() will return that the data has
no control characters and will then pass the string to audit_log_n_string
with the total length, not the length up to the first NULL.
audit_log_n_string() does a memcpy of the entire length and so the actual
audit record emitted may then contain a NULL and then whatever random memory
is after the NULL.

Since we want to log the entire octet stream (if we can't trust the data
to be a string we can't trust that a NULL isn't actually a part of it)
we should just consider NULL as a control character.  If the caller is
certain they want to stop at the first NULL they should be using
audit_log_untrustedstring.

Signed-off-by: Eric Paris <eparis@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agomake the e->rule.xxx shorter in kernel auditfilter.c
Zhenwen Xu [Thu, 12 Mar 2009 14:16:12 +0000 (22:16 +0800)]
make the e->rule.xxx shorter in kernel auditfilter.c

make the e->rule.xxx shorter in kernel/auditfilter.c
--
---------------------------------
Zhenwen Xu - Open and Free
Home Page: http://zhwen.org
My Studio: http://dim4.cn

>From 99692dc640b278f1cb1a15646ce42f22e89c0f77 Mon Sep 17 00:00:00 2001
From: Zhenwen Xu <Helight.Xu@gmail.com>
Date: Thu, 12 Mar 2009 22:04:59 +0800
Subject: [PATCH] make the e->rule.xxx shorter in kernel/auditfilter.c

Signed-off-by: Zhenwen Xu <Helight.Xu@gmail.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agoauditsc: fix kernel-doc notation
Randy Dunlap [Mon, 5 Jan 2009 21:41:13 +0000 (13:41 -0800)]
auditsc: fix kernel-doc notation

Fix auditsc kernel-doc notation:

Warning(linux-2.6.28-git7//kernel/auditsc.c:2156): No description found for parameter 'attr'
Warning(linux-2.6.28-git7//kernel/auditsc.c:2156): Excess function parameter 'u_attr' description in '__audit_mq_open'
Warning(linux-2.6.28-git7//kernel/auditsc.c:2204): No description found for parameter 'notification'
Warning(linux-2.6.28-git7//kernel/auditsc.c:2204): Excess function parameter 'u_notification' description in '__audit_mq_notify'

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
cc: Al Viro <viro@zeniv.linux.org.uk>
cc: Eric Paris <eparis@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agoaudit: EXECVE record - removed bogus newline
Jiri Pirko [Fri, 9 Jan 2009 15:44:16 +0000 (16:44 +0100)]
audit: EXECVE record - removed bogus newline

(updated)
Added hunk that changes the comment, the rest is the same.

EXECVE records contain a newline after every argument. auditd converts
"\n" to " " so you cannot see newlines even in raw logs, but they're
there nevertheless. If you're not using auditd, you need to work round
them. These '\n' chars are can be easily replaced by spaces when
creating record in kernel. Note there is no need for trailing '\n' in
an audit record.

record before this patch:
"type=EXECVE msg=audit(1231421801.566:31): argc=4 a0=\"./test\"\na1=\"a\"\na2=\"b\"\na3=\"c\"\n"

record after this patch:
"type=EXECVE msg=audit(1231421801.566:31): argc=4 a0=\"./test\" a1=\"a\" a2=\"b\" a3=\"c\""

Signed-off-by: Jiri Pirko <jpirko@redhat.com>
Acked-by: Eric Paris <eparis@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agoMerge branch 'bzip2-lzma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Sun, 5 Apr 2009 17:35:44 +0000 (10:35 -0700)]
Merge branch 'bzip2-lzma-for-linus' of git://git./linux/kernel/git/x86/linux-2.6-tip

* 'bzip2-lzma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip:
  bzip2/lzma: quiet Kconfig warning for INITRAMFS_COMPRESSION_NONE

15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask
Linus Torvalds [Sun, 5 Apr 2009 17:33:07 +0000 (10:33 -0700)]
Merge git://git./linux/kernel/git/rusty/linux-2.6-cpumask

* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask: (36 commits)
  cpumask: remove cpumask allocation from idle_balance, fix
  numa, cpumask: move numa_node_id default implementation to topology.h, fix
  cpumask: remove cpumask allocation from idle_balance
  x86: cpumask: x86 mmio-mod.c use cpumask_var_t for downed_cpus
  x86: cpumask: update 32-bit APM not to mug current->cpus_allowed
  x86: microcode: cleanup
  x86: cpumask: use work_on_cpu in arch/x86/kernel/microcode_core.c
  cpumask: fix CONFIG_CPUMASK_OFFSTACK=y cpu hotunplug crash
  numa, cpumask: move numa_node_id default implementation to topology.h
  cpumask: convert node_to_cpumask_map[] to cpumask_var_t
  cpumask: remove x86 cpumask_t uses.
  cpumask: use cpumask_var_t in uv_flush_tlb_others.
  cpumask: remove cpumask_t assignment from vector_allocation_domain()
  cpumask: make Xen use the new operators.
  cpumask: clean up summit's send_IPI functions
  cpumask: use new cpumask functions throughout x86
  x86: unify cpu_callin_mask/cpu_callout_mask/cpu_initialized_mask/cpu_sibling_setup_mask
  cpumask: convert struct cpuinfo_x86's llc_shared_map to cpumask_var_t
  cpumask: convert node_to_cpumask_map[] to cpumask_var_t
  x86: unify 32 and 64-bit node_to_cpumask_map
  ...

15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-module-and-param
Linus Torvalds [Sun, 5 Apr 2009 17:30:21 +0000 (10:30 -0700)]
Merge git://git./linux/kernel/git/rusty/linux-2.6-module-and-param

* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-module-and-param:
  module: use strstarts()
  strstarts: helper function for !strncmp(str, prefix, strlen(prefix))
  arm: allow usage of string functions in linux/string.h
  module: don't use stop_machine on module load
  module: create a request_module_nowait()
  module: include other structures in module version check
  module: remove the SHF_ALLOC flag on the __versions section.
  module: clarify the force-loading taint message.
  module: Export symbols needed for Ksplice
  Ksplice: Add functions for walking kallsyms symbols
  module: remove module_text_address()
  module: __module_address
  module: Make find_symbol return a struct kernel_symbol
  kernel/module.c: fix an unused goto label
  param: fix charp parameters set via sysfs

Fix trivial conflicts in kernel/extable.c manually.

15 years agoMerge branch 'core/debugobjects' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Sun, 5 Apr 2009 17:26:36 +0000 (10:26 -0700)]
Merge branch 'core/debugobjects' of git://git./linux/kernel/git/tip/linux-2.6-tip

* 'core/debugobjects' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  debugobjects: delay free of internal objects
  debugobjects: replace static objects when slab cache becomes available
  debug_objects: add boot-parameter toggle to turn object debugging off again

15 years agoMerge branch 'printk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Sun, 5 Apr 2009 17:23:25 +0000 (10:23 -0700)]
Merge branch 'printk-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip

* 'printk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  printk: correct the behavior of printk_timed_ratelimit()
  vsprintf: unify the format decoding layer for its 3 users, cleanup
  fix regression from "vsprintf: unify the format decoding layer for its 3 users"
  vsprintf: fix bug in negative value printing
  vsprintf: unify the format decoding layer for its 3 users
  vsprintf: add binary printf
  printk: introduce printk_once()

Fix trivial conflicts (printk_once vs log_buf_kexec_setup() added near
each other) in include/linux/kernel.h.

15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc
Linus Torvalds [Sun, 5 Apr 2009 17:18:21 +0000 (10:18 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/drzeus/mmc

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: (42 commits)
  atmel-mci: fix sdc_reg typo
  tmio_mmc: add maintainer
  mmc: Add OpenFirmware bindings for SDHCI driver
  sdhci: Add quirk for forcing maximum block size to 2048 bytes
  sdhci: Add quirk for controllers that need IRQ re-init after reset
  sdhci: Add quirk for controllers that need small delays for PIO
  sdhci: Add set_clock callback and a quirk for nonstandard clocks
  sdhci: Add get_{max,timeout}_clock callbacks
  sdhci: Add support for hosts reporting inverted write-protect state
  sdhci: Add support for card-detection polling
  sdhci: Enable only relevant (DMA/PIO) interrupts during transfers
  sdhci: Split card-detection IRQs management from sdhci_init()
  sdhci: Add support for bus-specific IO memory accessors
  mmc_spi: adjust for delayed data token response
  omap_hsmmc: Wait for SDBP
  omap_hsmmc: Fix MMC3 dma
  omap_hsmmc: Disable SDBP at suspend
  omap_hsmmc: Do not prefix slot name
  omap_hsmmc: Allow cover switch to cause rescan
  omap_hsmmc: Add 8-bit bus width mode support
  ...

15 years agoACPI: processor: use .notify method instead of installing handler directly
Bjorn Helgaas [Mon, 30 Mar 2009 17:48:24 +0000 (17:48 +0000)]
ACPI: processor: use .notify method instead of installing handler directly

This patch adds a .notify() method.  The presence of .notify() causes
Linux/ACPI to manage event handlers and notify handlers on our behalf,
so we don't have to install and remove them ourselves.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
CC: Zhang Rui <rui.zhang@intel.com>
CC: Zhao Yakui <yakui.zhao@intel.com>
CC: Venki Pallipadi <venkatesh.pallipadi@intel.com>
CC: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPI: button: use .notify method instead of installing handler directly
Bjorn Helgaas [Mon, 30 Mar 2009 17:48:18 +0000 (17:48 +0000)]
ACPI: button: use .notify method instead of installing handler directly

This patch adds a .notify() method.  The presence of .notify() causes
Linux/ACPI to manage event handlers and notify handlers on our behalf,
so we don't have to install and remove them ourselves.

Note that events from fixed hardware buttons now show up as a special
notify event, so to preserve user-space backward compatibility, we
convert that back to ACPI_BUTTON_NOTIFY_STATUS.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Reviewed-by: Alex Chiang <achiang@hp.com>
CC: Alexey Starikovskiy <alexey.y.starikovskiy@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoACPI: support acpi_device_ops .notify methods
Bjorn Helgaas [Mon, 30 Mar 2009 17:48:13 +0000 (17:48 +0000)]
ACPI: support acpi_device_ops .notify methods

This patch adds support for ACPI device driver .notify() methods.  If
such a method is present, Linux/ACPI installs a handler for device
notifications (but not for system notifications such as Bus Check,
Device Check, etc).  When a device notification occurs, Linux/ACPI
passes it on to the driver's .notify() method.

In most cases, this removes the need for drivers to install their own
handlers for device-specific notifications.

For fixed hardware devices like some power and sleep buttons, there's
no notification value because there's no control method to execute a
Notify opcode.  When a fixed hardware device generates an event, we
handle it the same as a regular device notification, except we send
a ACPI_FIXED_HARDWARE_EVENT value.  This is outside the normal 0x0-0xff
range used by Notify opcodes.

Several drivers install their own handlers for system Bus Check and
Device Check notifications so they can support hot-plug.  This patch
doesn't affect that usage.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Reviewed-by: Alex Chiang <achiang@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoMerge branch 'linus' into release
Len Brown [Sun, 5 Apr 2009 06:14:15 +0000 (02:14 -0400)]
Merge branch 'linus' into release

Conflicts:
arch/x86/kernel/cpu/cpufreq/longhaul.c

Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoMerge branch 'misc' into release
Len Brown [Sun, 5 Apr 2009 05:52:07 +0000 (01:52 -0400)]
Merge branch 'misc' into release

15 years agoMerge branch 'x2apic' into release
Len Brown [Sun, 5 Apr 2009 05:51:51 +0000 (01:51 -0400)]
Merge branch 'x2apic' into release

15 years agoMerge branch 'pnpacpi' into release
Len Brown [Sun, 5 Apr 2009 05:51:38 +0000 (01:51 -0400)]
Merge branch 'pnpacpi' into release

15 years agoMerge branch 'dell-wmi' into release
Len Brown [Sun, 5 Apr 2009 05:51:22 +0000 (01:51 -0400)]
Merge branch 'dell-wmi' into release

15 years agoMerge branch 'constify' into release
Len Brown [Sun, 5 Apr 2009 05:51:16 +0000 (01:51 -0400)]
Merge branch 'constify' into release

15 years agoMerge branches 'bugzilla-12461' and 'bugzilla-9998' into release
Len Brown [Sun, 5 Apr 2009 05:51:10 +0000 (01:51 -0400)]
Merge branches 'bugzilla-12461' and 'bugzilla-9998' into release

15 years agoMerge branch 'acpi_enforce_resources' into release
Len Brown [Sun, 5 Apr 2009 05:50:46 +0000 (01:50 -0400)]
Merge branch 'acpi_enforce_resources' into release

15 years agoMerge branch 'async-battery' into release
Len Brown [Sun, 5 Apr 2009 05:48:46 +0000 (01:48 -0400)]
Merge branch 'async-battery' into release

Conflicts:
drivers/acpi/Makefile

Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoMerge branch 'acpi-modparam' into release
Len Brown [Sun, 5 Apr 2009 05:45:50 +0000 (01:45 -0400)]
Merge branch 'acpi-modparam' into release

Conflicts:
drivers/acpi/Makefile

Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoMerge branch 'sony-laptop' into release
Len Brown [Sun, 5 Apr 2009 05:42:14 +0000 (01:42 -0400)]
Merge branch 'sony-laptop' into release

15 years agoMerge branch 'thinkpad-acpi' into release
Len Brown [Sun, 5 Apr 2009 05:42:09 +0000 (01:42 -0400)]
Merge branch 'thinkpad-acpi' into release

15 years agoMerge branch 'acer' into release
Len Brown [Sun, 5 Apr 2009 05:42:03 +0000 (01:42 -0400)]
Merge branch 'acer' into release

15 years agoMerge branch 'video' into release
Len Brown [Sun, 5 Apr 2009 05:40:06 +0000 (01:40 -0400)]
Merge branch 'video' into release

Conflicts:
drivers/acpi/video.c

Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoMerge branch 'psd' into release
Len Brown [Sun, 5 Apr 2009 05:39:33 +0000 (01:39 -0400)]
Merge branch 'psd' into release

15 years agoMerge branch 'battery' into release
Len Brown [Sun, 5 Apr 2009 05:39:26 +0000 (01:39 -0400)]
Merge branch 'battery' into release

15 years agoMerge branch 'hp-wmi' into release
Len Brown [Sun, 5 Apr 2009 05:39:20 +0000 (01:39 -0400)]
Merge branch 'hp-wmi' into release

15 years agoMerge branch 'thermal' into release
Len Brown [Sun, 5 Apr 2009 05:39:12 +0000 (01:39 -0400)]
Merge branch 'thermal' into release

15 years agoMerge branch 'pmtimer-overflow' into release
Len Brown [Sun, 5 Apr 2009 05:39:07 +0000 (01:39 -0400)]
Merge branch 'pmtimer-overflow' into release

15 years agoMerge branch 'dynamic-ssdt' into release
Len Brown [Sun, 5 Apr 2009 05:39:00 +0000 (01:39 -0400)]
Merge branch 'dynamic-ssdt' into release

15 years agoMerge branch 'driver-ops-cleanup' into release
Len Brown [Sun, 5 Apr 2009 05:38:51 +0000 (01:38 -0400)]
Merge branch 'driver-ops-cleanup' into release

15 years agoMerge branch 'bjorn-cleanups' into release
Len Brown [Sun, 5 Apr 2009 05:38:42 +0000 (01:38 -0400)]
Merge branch 'bjorn-cleanups' into release

15 years agoMerge branch 'bjorn-initcall-cleanup' into release
Len Brown [Sun, 5 Apr 2009 05:38:31 +0000 (01:38 -0400)]
Merge branch 'bjorn-initcall-cleanup' into release

15 years agotoshiba-acpi: remove MAINTAINERS entry
Johannes Berg [Mon, 30 Mar 2009 10:02:35 +0000 (12:02 +0200)]
toshiba-acpi: remove MAINTAINERS entry

"I'm not much opposed to marking this driver orphaned.  I haven't used
a Toshiba laptop in four years or so, and disagree with the recent
additions of bluetooth and wireless control to the driver.

--John"

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Acked-by: John Belmonte <john@neggie.net>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agomfd: fix da903x warning
Samuel Ortiz [Tue, 31 Mar 2009 10:27:21 +0000 (12:27 +0200)]
mfd: fix da903x warning

The da903x interrupt handler is retruning an int instead of an irqreturn_t.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
15 years agomfd: fix MAINTAINERS entry
Samuel Ortiz [Sun, 22 Mar 2009 23:46:18 +0000 (00:46 +0100)]
mfd: fix MAINTAINERS entry

The MFD git repo is living on kernel.org, and patches should be sent at
sameo@linux.intel.com.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
15 years agomfd: Use the value of the final spin when reading the AUXADC
Mark Brown [Sun, 1 Mar 2009 19:11:58 +0000 (20:11 +0100)]
mfd: Use the value of the final spin when reading the AUXADC

Reverse the order of the tests for loop exit so we use a valid value
before we time out.  Vanishingly unlikely to happen since we retry for
several times the expected conversion time.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
15 years agomfd: Storage class should be before const qualifier
Tobias Klauser [Tue, 17 Feb 2009 09:11:42 +0000 (10:11 +0100)]
mfd: Storage class should be before const qualifier

The C99 specification states in section 6.11.5:

The placement of a storage-class specifier other than at the beginning
of the declaration specifiers in a declaration is an obsolescent
feature.

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
15 years agomfd: PASIC3: supply clock_rate to DS1WM via driver_data
Philipp Zabel [Tue, 17 Feb 2009 09:09:44 +0000 (10:09 +0100)]
mfd: PASIC3: supply clock_rate to DS1WM via driver_data

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
15 years agomfd: remove DS1WM clock handling
Philipp Zabel [Tue, 17 Feb 2009 09:09:19 +0000 (10:09 +0100)]
mfd: remove DS1WM clock handling

This driver requests a clock that usually is supplied by the MFD in which
the DS1WM is contained. Currently, it is impossible for a MFD to register
their clocks with the generic clock API due to different implementations
across architectures.
For now, this patch removes the clock handling from DS1WM altogether,
trusting that the MFD enable/disable functions will switch the clock if
needed. The clock rate is obtained from a new parameter in driver_data.

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
15 years agomfd: remove unused PASIC3 bus_shift field
Philipp Zabel [Tue, 17 Feb 2009 09:06:52 +0000 (10:06 +0100)]
mfd: remove unused PASIC3 bus_shift field

Removes the now-unused bus_shift field from pasic3_platform_data.

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
15 years agopxa/magician: remove deprecated .bus_shift from PASIC3 platform_data
Philipp Zabel [Tue, 17 Feb 2009 09:06:48 +0000 (10:06 +0100)]
pxa/magician: remove deprecated .bus_shift from PASIC3 platform_data

The PASIC3 driver now calculates its register spacing from the resource
size.

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
15 years agomfd: convert PASIC3 to use MFD core
Philipp Zabel [Tue, 17 Feb 2009 09:06:45 +0000 (10:06 +0100)]
mfd: convert PASIC3 to use MFD core

This patch makes htc-pasic3 register the DS1WM and LED cell drivers
through the MFD core infrastructure instead of allocating the platform
devices manually. It also calculates the bus_shift parameter from the
memory resource size.

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
15 years agomfd: convert DS1WM to use MFD core
Philipp Zabel [Tue, 17 Feb 2009 09:06:41 +0000 (10:06 +0100)]
mfd: convert DS1WM to use MFD core

This patch converts the DS1WM driver into an MFD cell. It also
calculates the bus_shift parameter from the memory resource size.

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
15 years agomfd: Support active high IRQs on WM835x
Mark Brown [Fri, 6 Feb 2009 14:27:13 +0000 (15:27 +0100)]
mfd: Support active high IRQs on WM835x

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
15 years agomfd: Use bulk read to fill WM8350 register cache
Mark Brown [Wed, 4 Feb 2009 21:43:55 +0000 (22:43 +0100)]
mfd: Use bulk read to fill WM8350 register cache

Some I2C controllers have high overheads for setting up I2C operations
which makes the register cache setup on startup excessively slow since
it does a lot of small transactions. Reduce this overhead by doing a
bulk read of the entire register bank and filtering out what we don't
need later.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
15 years agomfd: remove duplicated #include from pcf50633
Huang Weiyi [Wed, 4 Feb 2009 21:43:28 +0000 (22:43 +0100)]
mfd: remove duplicated #include from pcf50633

Removed duplicated #include <linux/device.h> in
  drivers/mfd/pcf50633-core.c

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
15 years agoMake non-compat preadv/pwritev use native register size
Linus Torvalds [Fri, 3 Apr 2009 15:03:22 +0000 (08:03 -0700)]
Make non-compat preadv/pwritev use native register size

Instead of always splitting the file offset into 32-bit 'high' and 'low'
parts, just split them into the largest natural word-size - which in C
terms is 'unsigned long'.

This allows 64-bit architectures to avoid the unnecessary 32-bit
shifting and masking for native format (while the compat interfaces will
obviously always have to do it).

This also changes the order of 'high' and 'low' to be "low first".  Why?
Because when we have it like this, the 64-bit system calls now don't use
the "pos_high" argument at all, and it makes more sense for the native
system call to simply match the user-mode prototype.

This results in a much more natural calling convention, and allows the
compiler to generate much more straightforward code.  On x86-64, we now
generate

        testq   %rcx, %rcx      # pos_l
        js      .L122   #,
        movq    %rcx, -48(%rbp) # pos_l, pos

from the C source

        loff_t pos = pos_from_hilo(pos_h, pos_l);
...
        if (pos < 0)
                return -EINVAL;

and the 'pos_h' register isn't even touched.  It used to generate code
like

        mov     %r8d, %r8d      # pos_low, pos_low
        salq    $32, %rcx       #, tmp71
        movq    %r8, %rax       # pos_low, pos.386
        orq     %rcx, %rax      # tmp71, pos.386
        js      .L122   #,
        movq    %rax, -48(%rbp) # pos.386, pos

which isn't _that_ horrible, but it does show how the natural word size
is just a more sensible interface (same arguments will hold in the user
level glibc wrapper function, of course, so the kernel side is just half
of the equation!)

Note: in all cases the user code wrapper can again be the same. You can
just do

#define HALF_BITS (sizeof(unsigned long)*4)
__syscall(PWRITEV, fd, iov, count, offset, (offset >> HALF_BITS) >> HALF_BITS);

or something like that.  That way the user mode wrapper will also be
nicely passing in a zero (it won't actually have to do the shifts, the
compiler will understand what is going on) for the last argument.

And that is a good idea, even if nobody will necessarily ever care: if
we ever do move to a 128-bit lloff_t, this particular system call might
be left alone.  Of course, that will be the least of our worries if we
really ever need to care, so this may not be worth really caring about.

[ Fixed for lost 'loff_t' cast noticed by Andrew Morton ]

Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-api@vger.kernel.org
Cc: linux-arch@vger.kernel.org
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Ralf Baechle <ralf@linux-mips.org>>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoACPI: battery: asynchronous init
Arjan van de Ven [Sat, 10 Jan 2009 19:19:05 +0000 (14:19 -0500)]
ACPI: battery: asynchronous init

The battery driver tends to take quite some time to initialize
(100ms-300ms is quite typical).
This patch initializes the batter driver asynchronously, so that other
things in the kernel can initialize in parallel to this 300 msec.

As part of this, the battery driver had to move to the back
of the ACPI init order (hence the Makefile change).
Without this move, the next ACPI driver would just block
on the ACPI/devicee layer semaphores until the battery driver was
done anyway, not gaining any boot time.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoacer-wmi: Update copyright notice & documentation
Carlos Corbacho [Sat, 4 Apr 2009 08:33:39 +0000 (09:33 +0100)]
acer-wmi: Update copyright notice & documentation

Explicitly note in the documentation that the Acer Aspire One is not
supported.

Signed-off-by: Carlos Corbacho <carlos@strangeworlds.co.uk>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoacer-wmi: Cleanup the failure cleanup handling
Andy Whitcroft [Sat, 4 Apr 2009 08:33:34 +0000 (09:33 +0100)]
acer-wmi: Cleanup the failure cleanup handling

Cleanup the failure cleanup handling for brightness and email led.

[cc: Split out from another patch]

Signed-off-by: Andy Whitcroft <apw@canonical.com>
Signed-off-by: Carlos Corbacho <carlos@strangeworlds.co.uk>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoacer-wmi: Blacklist Acer Aspire One
Carlos Corbacho [Sat, 4 Apr 2009 08:33:29 +0000 (09:33 +0100)]
acer-wmi: Blacklist Acer Aspire One

The Aspire One's ACPI-WMI interface is a placeholder that does nothing,
and the invalid results that we get from it are now causing userspace
problems as acer-wmi always returns that the rfkill is enabled (i.e. the
radio is off, when it isn't). As it's hardware controlled, acer-wmi
isn't needed on the Aspire One either.

Thanks to Andy Whitcroft at Canonical for tracking down Ubuntu's userspace
issues to this.

Signed-off-by: Carlos Corbacho <carlos@strangeworlds.co.uk>
Reported-by: Andy Whitcroft <apw@canonical.com>
Cc: stable@kernel.org
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agosh: sh7785lcr: Map whole PCI address space.
Takashi Yoshii [Thu, 2 Apr 2009 09:03:30 +0000 (09:03 +0000)]
sh: sh7785lcr: Map whole PCI address space.

PCI still doesn't work on sh7785lcr 29bit 256M map mode.

On SH7785, PCI -> SHwy address translation is not base+offset but
somewhat like base|offset (See HW Manual (rej09b0261) Fig. 13.11).
So, you can't export CS2,3,4,5 by 256M at CS2 (results CS0,1,2,3
exported, I guess).  There are two candidates.

a) 128M@CS2 + 128M@CS4
b) 512M@CS0

Attached patch is B. It maps 512M Byte at 0 independently of memory
size. It results CS0 to CS6 and perhaps some more being accessible
from PCI.

Tested on
7785lcr 29bit 128M map
7785lcr 29bit 256M map
(NOT tested on 32bit)

Signed-off-by: Takashi YOSHII <yoshii.takashi@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: Fix up DSP context save/restore.
Michael Trimarchi [Fri, 3 Apr 2009 17:32:33 +0000 (17:32 +0000)]
sh: Fix up DSP context save/restore.

There were a number of issues with the DSP context save/restore code,
mostly left-over relics from when it was introduced on SH3-DSP with
little follow-up testing, resulting in things like task_pt_dspregs()
referencing incorrect state on the stack.

This follows the MIPS convention of tracking the DSP state in the
thread_struct and handling the state save/restore in switch_to() and
finish_arch_switch() respectively. The regset interface is also updated,
which allows us to finally be rid of task_pt_dspregs() and the special
cased task_pt_regs().

Signed-off-by: Michael Trimarchi <michael@evidence.eu.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: Fix up number of on-chip DMA channels on SH7091.
Paul Mundt [Sat, 4 Apr 2009 15:40:22 +0000 (11:40 -0400)]
sh: Fix up number of on-chip DMA channels on SH7091.

This accidentally regressed when the multi-IRQ changes went in,
switching SH7091 from 4 to 6 channels. Add SH7091 back in to the
4-channel dependency list.

Reported-by: Adrian McMenamin <adrian@mcmen.demon.co.uk>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agovideo: build fix
Len Brown [Sat, 4 Apr 2009 07:33:45 +0000 (03:33 -0400)]
video: build fix

acpi_video_device_write_state() and friends now return ssize_t,
while the constify patch assumed it was still int.

Signed-off-by: Len Brown <len.brown@intel.com>
15 years agothinkpad-acpi: rework brightness support
Henrique de Moraes Holschuh [Sat, 4 Apr 2009 04:25:53 +0000 (04:25 +0000)]
thinkpad-acpi: rework brightness support

Refactor and redesign the brightness control backend...

In order to fix bugzilla #11750...

Add a new brightness control mode: support direct NVRAM checkpointing
of the backlight level (i.e. store directly to NVRAM without the need
for UCMS calls), and use that together with the EC-based control.
Disallow UCMS+EC, thus avoiding races with the SMM firmware.

Switch the models that define HBRV (EC Brightness Value) in the DSDT
to the new mode.  These are: T40-T43, R50-R52, R50e, R51e, X31-X41.

Change the default for all other IBM ThinkPads to UCMS-only.  The
Lenovo models already default to UCMS-only.

Reported-by: Alexey Fisher <bug-track@fisher-privat.net>
Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agothinkpad-acpi: enhanced debugging messages for the fan subdriver
Henrique de Moraes Holschuh [Sat, 4 Apr 2009 04:25:52 +0000 (04:25 +0000)]
thinkpad-acpi: enhanced debugging messages for the fan subdriver

Enhance debugging messages for the fan subdriver.

Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agothinkpad-acpi: enhanced debugging messages for the hotkey subdriver
Henrique de Moraes Holschuh [Sat, 4 Apr 2009 04:25:51 +0000 (04:25 +0000)]
thinkpad-acpi: enhanced debugging messages for the hotkey subdriver

Enhance debugging messages for the hotkey subdriver.

Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agothinkpad-acpi: enhanced debugging messages for rfkill subdrivers
Henrique de Moraes Holschuh [Sat, 4 Apr 2009 04:25:50 +0000 (04:25 +0000)]
thinkpad-acpi: enhanced debugging messages for rfkill subdrivers

Enhance debugging messages for all rfkill subdrivers in thinkpad-acpi.

Also, log a warning if the deprecated sysfs attributes are in use.
These attributes are going to be removed sometime in 2010.

There is an user-visible side-effect: we now coalesce attempts to
enable/disable bluetooth or WWAN in the procfs interface, instead of
hammering the firmware with multiple requests.

Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agothinkpad-acpi: restrict access to some firmware LEDs
Henrique de Moraes Holschuh [Sat, 4 Apr 2009 04:25:49 +0000 (04:25 +0000)]
thinkpad-acpi: restrict access to some firmware LEDs

Some of the ThinkPad LEDs indicate critical conditions that can cause
data loss or cause hardware damage when ignored (e.g. force-ejecting
a powered up bay; ignoring a failing battery, or empty battery; force-
undocking with the dock buses still active, etc).

On almost all ThinkPads, LED access is write-only, and the firmware
usually does fire-and-forget signaling on them, so you effectively
lose whatever message the firmware was trying to convey to the user
when you override the LED state, without any chance to restore it.

Restrict access to all LEDs that can convey important alarms, or that
could mislead the user into incorrectly operating the hardware.  This
will make the Lenovo engineers less unhappy about the whole issue.

Allow users that really want it to still control all LEDs, it is the
unaware user that we have to worry about.

Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agothinkpad-acpi: remove HKEY disable functionality
Henrique de Moraes Holschuh [Sat, 4 Apr 2009 04:25:48 +0000 (04:25 +0000)]
thinkpad-acpi: remove HKEY disable functionality

The HKEY disable functionality basically cripples the entire event
model of the ThinkPad firmware and of the thinkpad-acpi driver.
Remove this functionality from the driver.  HKEY must be enabled at
all times while thinkpad-acpi is loaded, and disabled otherwise.

For sysfs, according to the sysfs ABI and the thinkpad-acpi sysfs
rules of engagement, we will just remove the attributes.  This will be
done in two stages: disable their function now, after two kernel
releases, remove the attributes.

For procfs, we call WARN().  If nothing triggers it, I will simply
remove the enable/disable commands entirely in the future along with
the sysfs attributes.

I don't expect much, if any fallout from this.  There really isn't any
reason to mess with hotkey_enable or with the enable/disable commands
to /proc/acpi/ibm/hotkey, and this has been true for years...

Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agothinkpad-acpi: add new debug helpers and warn of deprecated atts
Henrique de Moraes Holschuh [Sat, 4 Apr 2009 04:25:47 +0000 (04:25 +0000)]
thinkpad-acpi: add new debug helpers and warn of deprecated atts

Add a debug helper that discloses the TGID of the userspace task
attempting to access the driver.  This is highly useful when dealing
with bug reports, since often the user has no idea that some userspace
application is accessing thinkpad-acpi...

Also add a helper to log warnings about sysfs attributes that are
deprecated.

Use the new helpers to issue deprecation warnings for bluetooth_enable
and wwan_enabled, that have been deprecated for a while, now.

Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agothinkpad-acpi: add missing log levels
Henrique de Moraes Holschuh [Sat, 4 Apr 2009 04:25:46 +0000 (04:25 +0000)]
thinkpad-acpi: add missing log levels

Add missing log levels in a standalone commit, to avoid dependencies in
future unrelated changes, just because they wanted to use one of the
missing log levels.

Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: Len Brown <len.brown@intel.com>