Jarkko Nikula [Tue, 25 Nov 2008 10:45:09 +0000 (12:45 +0200)]
ASoC: OMAP: Add support for mono audio links in McBSP DAI
Patch adds support for mono audio links so that McBSP DAI can operate with
real mono codecs. In I2S, the signalling remains the same but only first
frame (left channel) is transmitting audio data and second frame having null
data. In DSP_A, only first frame is transmitted.
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Jarkko Nikula [Wed, 12 Nov 2008 15:05:51 +0000 (17:05 +0200)]
ASoC: OMAP: Add more supported sample rates into McBSP DAI driver
Originally it was put too tight limits to support only 44.1 kHz and 48 kHz
sample rates in McBSP DAI driver. Extend it now to 8 kHz - 96 kHz. With
96 kHz and 2*16 bits, bit clock is 3.072 MHz < 3.125 MHz (I2S max?).
Tested on Nokia N810 with TVL320AIC33 from rates 8 - 96 kHz and on Texas
Instruments Beagle with TWL4030 from rates 8 - 48 kHz.
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Acked-by: Steve Sakoman <steve@sakoman.com> Acked-by: Arun KS <arunks@mistralsolutions.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Jarkko Nikula [Wed, 22 Oct 2008 12:00:29 +0000 (15:00 +0300)]
ALSA: ASoC: OMAP: Continue fixing DSP DAI format in McBSP DAI driver
Fix "ASoC: OMAP: Fix DSP DAI format in McBSP DAI driver" was not correct
due misunderstanding of DSP_A format and similar error in TLV320AIC33
codec which was used to test the original fix.
This patch corrects now DSP_A format in OMAP McBSP DAI driver and is
verified with TLV320AIC23 codec that's implementing DSP_A correctly.
Jarkko Nikula [Mon, 20 Oct 2008 12:29:59 +0000 (15:29 +0300)]
ALSA: ASoC: OMAP: Fix DSP DAI format in McBSP DAI driver
Fix word clock length which must equal to one bit clock cycle in DSP mode.
Surprisingly McBSP is able synchronize into wrong length when it's
slave but e.g. TLV320AIC33 codec in slave configuration is outputting
some amount of noise if word clock length is longer than one bit clock
cycle.
Fix also bit clock and frame sync polarities in DSP mode since they are
opposite from I2S.
Jarkko Nikula [Thu, 9 Oct 2008 12:57:21 +0000 (15:57 +0300)]
ALSA: ASoC: OMAP: Set DMA stream name at runtime in McBSP DAI driver
This suits better when adding support for multiple links and different
link formats.
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Jarkko Nikula [Thu, 9 Oct 2008 12:57:22 +0000 (15:57 +0300)]
ALSA: ASoC: OMAP: Add multilink support to McBSP DAI driver
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Kalle Jokiniemi [Wed, 22 Oct 2008 06:47:06 +0000 (09:47 +0300)]
OMAP3 DSS: Fixed FIFO buffer register field sizes
The size status field in DISPC_[GFX | VID1 | VID2]_FIFO_SIZE_STATUS
register is 11 bits wide in OMAP3, but only 9 bits were read. Similarly,
the threshold field in DISPC_[GFX | VID1 | VID2]_FIFO_THRESHOLD register
is 12 bits wide, while only 9 bits were written in it.
This patch extends the bit field sizes used in setup_plane_fifo to
correspond to ones in OMAP3. In OMAP2 the extra bits are reserved, so no
harm should come from extending the bit fields.
Signed-off-by: Kalle Jokiniemi <ext-kalle.jokiniemi@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Kalle Jokiniemi [Fri, 17 Oct 2008 06:46:08 +0000 (09:46 +0300)]
OMAP3: Remove CONFIG_OMAP_SYSOFFMODE flag
Remove CONFIG_OMAP_SYSOFFMODE flag and do the full initialization of voltage
controller . Enabling automatic sending of OFF command and selecting wether
SYS_OFF_MODE signal is used should be determined dynamically. Hence they are
now not set in the initialization.
The sleep voltage for OFF mode is changed to default 1,2V for VDD1 and
1,15V for VDD2. Using the 0,9V setting causes hangup.
Signed-off-by: Kalle Jokiniemi <ext-kalle.jokiniemi@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Felipe Contreras [Fri, 24 Oct 2008 19:02:57 +0000 (12:02 -0700)]
alsa: add Beagleboard SoC configuration.
This is exactly the same as the overo configuration. It might make sense
to have them in a single one.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
# CHANGED to not spew messages about beagle on non-beagle boards Signed-off-by: Tony Lindgren <tony@atomide.com>
The real bug behind this issue is the fact that we're not
masking out the SPURIOUSIRQFLAG bits [31:7] from the active
interrupt number. The following patch will replace this
patch with the fix.
Commit 8b1f0bd44fe490ec631230c8c040753a2bda8caa introduced a bug that
caused non-CORE DPLL rates to be incorrectly set on boot in
omap3_noncore_dpll_enable(). Debugged by Tomi Valkeinen
<tomi.valkeinen@nokia.com> - thanks Tomi.
Also fix omap3_noncore_dpll_set_rate() to assign clk->rate after a
DPLL reprogram.
Tested on 3430SDP.
Signed-off-by: Paul Walmsley <paul@pwsan.com> Cc: Tomi Valkeinen <tomi.valkeinen@nokia.com> Cc: Rick Bronson <rick@efn.org> Cc: Timo Kokkonen <timo.t.kokkonen@nokia.com> Cc: Sakari Poussa <sakari.poussa@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Sanjeev Premi [Fri, 10 Oct 2008 13:51:02 +0000 (19:21 +0530)]
Fix compiler warnings in smartreflex.c
Fix these compiler warnings:
smartreflex.c:126: warning: initialization makes integer from pointer without a cast
smartreflex.c:134: warning: initialization makes integer from pointer without a cast
Refreshed after updates from Felipe.
Signed-off-by: Sanjeev Premi <premi@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
This patch fixes two problems in LM8323 PWM control. One is that
locking is needed when setting and reading pwm->desired_brightness
asynchronously. The other is that LM8323 may stop a PWM script only
after the current instruction has finished. If it is a long RAMP,
the chip would keep executing the old instruction and new
settings were effectively ignored.
Signed-off-by: Timo Karjalainen <timo.o.karjalainen@nokia.com> Signed-off-by: Daniel Stone <daniel.stone@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Peter Ujfalusi [Thu, 2 Oct 2008 05:28:48 +0000 (08:28 +0300)]
OMAP2: omap-keypad: interrupt disable fix
The GPIO interrupts has been disabled several times
after the first key press.
No need to disable - again - the interrupts in the omap_kp_scan_keypad
function on OMAP2.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Felipe Balbi [Tue, 30 Sep 2008 18:46:59 +0000 (21:46 +0300)]
omap: get rid of a useless cast
That cast was annyoing for quite a while. Now
omap_ctrl_base_get() returns void __iomem *
and __raw_read/write friends uses void __iomem *
so there's no need for casting.
Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Fri, 3 Oct 2008 07:03:33 +0000 (00:03 -0700)]
ehci-omap: (mostly) cosmetic cleanups
Various cleanups to the OMAP EHCI bus glue:
- Whitespace fixes.
- Busy-wait loops should really have timeouts, but lacking
that ... at least cpu_relax() in the body.
- Debug messages should end with newlines, so they don't
break the next message; should not embed newlines; and
should otherwise be clean and correctly spelled.
- The probe() method should have initialized the SBRN value,
so the driver didn't report "USB 0.0 started".
- The MODULE_ALIAS() was missing its "platform:" prefix;
doing it right means the module could hotplug/coldplug.
No real functional change except for the hotplug/coldplug thing.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
Lauri Leukkunen [Wed, 15 Oct 2008 11:51:51 +0000 (14:51 +0300)]
OMAP3: ack spurious IRQs in get_irqnr_and_base
This prevents spurious interrupts from repeating unacked and
thus locking the system, while still allowing the spurious
bad irq error message to be show on console.
Signed-off-by: Lauri Leukkunen <lauri.leukkunen@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Zhaolei [Fri, 17 Oct 2008 10:07:31 +0000 (18:07 +0800)]
Fix debugfs_create_*'s error checking method for arm/plat-omap
debugfs_create_*() returns NULL if an error occurs, returns -ENODEV
when debugfs is not enabled in the kernel.
Comparing to PATCH v1, because clk_debugfs_init is included in
"#if defined CONFIG_DEBUG_FS", we only need to check NULL return.
Thanks Li Zefan <lizf@cn.fujitsu.com>
debugfs_create_u8() and other function's return value's checking method are
also fixed in this patch.
Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Nathan Monson [Thu, 16 Oct 2008 20:10:47 +0000 (13:10 -0700)]
Add MT_MEMORY_SO, mark L3 and L4 to use it
On Wed, Oct 8, 2008 at 11:36 AM, Nathan Monson <nmonson@gmail.com> wrote:
> "Felipe Contreras" <felipe.contreras@gmail.com> writes:
>> irq -33, desc: c0335cf8, depth: 0, count: 0, unhandled: 0
>
> On the BeagleBoard list, Pratheesh Gangadhar said that mapping I/O
> regions as Strongly Ordered suppresses this problem:
> http://groups.google.com/group/beagleboard/browse_thread/thread/23e1c95b4bfb09b5/70d12dca569ca503?show_docid=70d12dca569ca503
Pratheesh helped me make a patch against the latest linux-omap git to
try this.
With this patch, my IRQ -33 problems with the DSP have disappeared.
Before, I would end up in IRQ -33 loop after 10 invocations of the DSP
Bridge 'ping.out' utility. I just finished running it 50,000 times
without error.
As stated before, this patch is just a workaround for testing
purposes, not a fix. Who knows what performance side effects it
has...
Signed-off-by: Nathan Monson <nmonson@gmail.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Tue, 14 Oct 2008 19:01:43 +0000 (12:01 -0700)]
twl4030 MMC card detction
Replace stubbed-out card-detect support for twl4030 GPIOs with
a simpler platform_data mechanism. As before, no current users.
Sanity tested by enabling this on Beagle; it booted OK with
root on MMC.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Mon, 13 Oct 2008 20:05:05 +0000 (13:05 -0700)]
support LED signals on Beagle
Export Beagle's third LED to the LED framework, now that it's
accessible through the twl4030-gpio code.
Claim the VBUS control, defaulting to OFF. Boards that have an
EHCI connector (not rev B) will need to update this slightly.
(Ideally as part of adding hooks to the ehci-map code supporting
external power switching and overcurrent detection.)
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Mon, 13 Oct 2008 20:04:16 +0000 (13:04 -0700)]
twl4030-gpio supports LED signals
Expose the two TWL4030 LED signals as output-only GPIOs. Boards
need to explicitly ask that this be done, to help avoid conflicts
on boards using these same pins to hook up to a vibrator motor.
Note that these are high drive open drain signals; LEDA is rated
for up to 160 mA (!), LEDB up to 60 mA. Boards using one of these
signals to drive a bank of LCD backlight LEDs would probably want
to access the dedicated PWMs for brightness control, too; easy to
add such support later.
Example: Beagle has one real LED here (PWM not necessary), and
one GPIO controlling VBUS output over EHCI (PWM not wanted).
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Mon, 13 Oct 2008 20:03:07 +0000 (13:03 -0700)]
hsmmc.c glue uses standard GPIO calls
Convert the hsmmc init code over to standard GPIO calls:
gpio_request(), gpio_free(), gpio_get_value_cansleep().
NOTE that this doesn't pass GPIO numbers in to hsmmc_init();
those values are still hard-wired. (For the write protect
signal, the LACK of value is hard-wired...) So the hsmmc
glue is still kind of problematic.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Mon, 13 Oct 2008 20:02:18 +0000 (13:02 -0700)]
twl4030-gpio use new gpiolib hooks
Use the new gpiolib internal mechanism for tracking gpio usage,
making them power the GPIO module on/off, so that the standard
gpio_request()/gpio_free() calls can completely replace the
twl4030-specific versions.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Mon, 13 Oct 2008 20:00:21 +0000 (13:00 -0700)]
gpiolib request/free hooks
Add a new internal mechanism to gpiolib to support low power
operations by letting gpio_chip instances see when their GPIOs
are in use. When no GPIOs are active, chips may be able to
enter lower powered runtime states by disabling clocks and/or
power domains.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Thu, 16 Oct 2008 19:32:43 +0000 (12:32 -0700)]
twl4030-usb updates/fixes
Simplify handling of VBUS and ID status and the USB_PRES interrupt.
This seems to resolve the problems I previously saw on Beagle and
Overo boards.
- Read the status directly, instead of trying to infer it from
dodgey side effects of IRQ handling and trigger tweaking.
- Stop trying to arrange those dodgey side effects; just leave
the IRQ enabled at all times.
- Check that status as part of driver probe, so the PHY can
always be active by the time it's needed. (BUGFIX!)
- Re-sequence probe() to be less racey, and to avoid duplicating
logic found elsewhere (notably irq handling and PHY activation).
- Make the irq_chip be the exclusive owner of PWR_EDR (finally).
- Get rid of needless work_struct ... in this irq handling thread,
it's safe and cheap to call sysfs_notify() directly.
Stop enabling IRQs on the USB subchip. There's no IRQ handler for
them, and since ALT_INT_REROUTE isn't being set they'll never
arrive ... so there's no point to enabling them.
Also add some comments about other things such an otg_transciever
driver should be doing, fixing minor omissions; and remove some
unnecessary file inclusions.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Fri, 10 Oct 2008 21:23:01 +0000 (14:23 -0700)]
remove some global twl4030 IRQ defines
Disable more unnecessary TWL4030_*IRQ_* symbols.
We're not yet ready to remove them all from <linux/i2c/twl4030.h>
since various drivers still use those symbols (maybe indirectly)
not platform resources: twl4030_bci_battery.c, twl4030-madc.c,
twl4030-pwrbutton.c, and omap-twl4030keypad.c all need updates.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Fri, 10 Oct 2008 21:22:22 +0000 (14:22 -0700)]
replace twl4030-gpio irq_chip
Replace twl4030 GPIO IRQ handling with generic SIH support.
No change in functionality; but there's now one less kernel
thread tied up supporting this chip.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Fri, 10 Oct 2008 21:21:22 +0000 (14:21 -0700)]
new sharable twl4030 SIH irq_chip
Add TWL4030 infrastructure for shared SIH interrupts.
This is basically what the twl4030 GPIO IRQ code does, but
switching to a workqueue to handle each irqchip's mask/unmask
and set_type operations instead of a kthread that must figure
out what to do each time it wakes up.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Fri, 10 Oct 2008 21:20:46 +0000 (14:20 -0700)]
new twl4030 SIH irq init
Switch to a different twl4030-irq SIH irq init scheme. Its goal
is to remove some section issues while providing a data structure
that can be reused by generic SIH IRQ handling code.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Fri, 10 Oct 2008 21:19:49 +0000 (14:19 -0700)]
create twl4030-irq.c
Split the IRQ support out of twl4030-core.c into twl4030-irq.c,
including some minor tidy-ups and a note_interrupt() paranoia
in case of flakiness with some PIH interrupt.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
Paul Walmsley [Fri, 10 Oct 2008 16:58:30 +0000 (10:58 -0600)]
i2c-omap: fix I2C timeouts due to recursive omap_i2c_{un,}idle()
omap_i2c_unidle() and omap_i2c_idle() are called recursively during
omap_i2c_probe(). This is evidently unexpected and will wipe
out the I2C interrupt enable register the second time that
omap_i2c_idle() is called consecutively. Any I2C transactions
following a probe of a bus with at least one device on it will then
time out.
Fix by moving omap_i2c_idle() further up in omap_i2c_probe(). Ensure
the I2C controller is marked as idle before the probe starts. Also
attempt to catch future reappearances of this bug early in development
by warning in omap_i2c_{un,}idle() when they are called recursively.
Problem reported by David Brownell <david-b@pacbell.net>.
Tested on 3430SDP and 2430SDP.
Signed-off-by: Paul Walmsley <paul@pwsan.com> Cc: David Brownell <david-b@pacbell.net> Cc: Richard Woodruff <r-woodruff2@ti.com>
Acked-by; Steve Sakoman <steve@sakoman.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Sanjeev Premi [Fri, 10 Oct 2008 12:18:58 +0000 (17:48 +0530)]
Enable CONFIG_GPIO_TWL4030=y
Without this option, kernel builds would fail, with
errors similar to:
hsmmc.c:50: undefined reference to `twl4030_get_gpio_datain'
hsmmc.c:82: undefined reference to `twl4030_free_gpio'
hsmmc.c:63: undefined reference to `twl4030_request_gpio'
hsmmc.c:67: undefined reference to `twl4030_set_gpio_debounce'
Signed-off-by: Sanjeev Premi <premi@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Wed, 8 Oct 2008 14:22:30 +0000 (17:22 +0300)]
twl4030-pwrirq simplification, cleanup
I can't test the pwrbutton stuff, but rtc and musb behave...
With one issue: the usb transceiver glue misbehaves on
startup if the device is connected. (Again.) I looked at
this a bit, and I think the issue is probably caused by
not actually using key USB registers ... IRQ trigger
mode state transitions are at best a fragile proxy for the
real state.
(This is similar to the GPIO patch I just sent, but simpler
except for the impact on the few drivers thinking oddly
about IRQs. Those patches cover the key SIH modules, and
a similar one affects the PIH in twl4030-core.)
- Dave
================================
Streamline the "power irq" code, and some of the mechanisms
it uses:
- Support IRQ masking, not just unmasking; simpler code.
- Use the standard handle_edge_irq() handler for these edge IRQs.
- Use generic_handle_irq() instead of a manual expansion thereof.
- Provide a missing spinlock for the shared data.
In short, use more of the standard genirq code ... more correctly.
Also, update the drivers using the "power IRQ" accordingly:
- Don't request IRQF_DISABLED if the handler makes I2C calls;
and defend against lockdep forcing it on us.
- Let the irq_chip handle IRQ mask/unmask; it handles mutual
exclusion between drivers, among other things.
- (Unrelated) remove useless MODULE_ALIAS in pwrbutton.
The USB transceiver driver still places some dodgey games with IRQ
enable/disable, and IRQ trigger flags. At least some of them seem
like they'd be simplified by using USB transceiver registers ...
notably, startup code, which doesn't seem to check state before
it enters an irq-driven mode.
For the moment, these drivers still (wrongly) try to configure IRQ
trigger modes themselves ... again, that's something that an irq_chip
handles (but not yet, for this one).
NOTE: tested (MUSB and RTC only) along with the init/retry hack
to make twl4030-pwrirq work around the i2c-omap timeout problems.
Previously, the only external (to dispc.c) IRQ handler was RFBI's
frame done handler. dispc's IRQ framework was very dumb: you could only
have one handler, and the semantics of {request,free}_irq were odd, to
say the least.
The new framework allows multiple consumers to register arbitrary IRQ
masks.
Signed-off-by: Daniel Stone <daniel.stone@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
FB: OMAP: Blizzard: Properly disable zoom when necessary
The problem is related to the following notice in the documentation:
"Once a destructive window with up-scaling is created, it can only be
disabled by creating a background window.". With the current omapfb
driver code, if you try to do a partial screen update (show menu or
dialog) after a scaled screen update (video overlay), scaling setting
are not reset properly and you see this "magnifying glass" effect if a
part of new update overlaps previously scaled area.
Signed-off-by: Siarhei Siamashka <siarhei.siamashka@nokia.com> Signed-off-by: Daniel Stone <daniel.stone@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Sanjeev Premi [Fri, 10 Oct 2008 10:19:51 +0000 (15:49 +0530)]
Fix compiler warnings in gpmc.c
Fix these compiler warnings:
gpmc.c: In function 'gpmc_init':
gpmc.c:432: warning: 'return' with a value, in function returning void
gpmc.c:439: warning: 'return' with a value, in function returning void
Signed-off-by: Sanjeev Premi <premi@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Roman Tereshonkov <roman.tereshonkov@nokia.com> Acked-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Paul Walmsley [Thu, 9 Oct 2008 23:22:22 +0000 (17:22 -0600)]
OMAP2xxx: move SRAM to fix boot hang
Commit 1c957036bbd912322793da676d05e169abf24782 breaks booting on
OMAP2; it causes the SRAM to be mapped on top of the L4 interconnect.
This causes the system to hang early in boot in omap_map_sram() during
the TLB flush. Fix by moving SRAM elsewhere in the memory map.
Reported by Jarkko Nikula <jarkko.nikula@nokia.com>. This patch is a
collaboration with Tony Lindgren <tony@atomide.com> and
Kevin Hilman <khilman@deeprootsystems.com>.
Boot-tested on 2430SDP (by Paul) and N810 (by Jarkko).
Signed-off-by: Paul Walmsley <paul@pwsan.com> Tested-by: Jarkko Nikula <jarkko.nikula@nokia.com> Cc: Kevin Hilman <khilman@deeprootsystems.com> Cc: Tony Lindgren <tony@atomide.com> Cc: Måns Rullgård <mans@mansr.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Linus Torvalds [Thu, 9 Oct 2008 21:04:54 +0000 (14:04 -0700)]
Don't allow splice() to files opened with O_APPEND
This is debatable, but while we're debating it, let's disallow the
combination of splice and an O_APPEND destination.
It's not entirely clear what the semantics of O_APPEND should be, and
POSIX apparently expects pwrite() to ignore O_APPEND, for example. So
we could make up any semantics we want, including the old ones.
But Miklos convinced me that we should at least give it some thought,
and that accepting writes at arbitrary offsets is wrong at least for
IS_APPEND() files (which always have O_APPEND set, even if the reverse
isn't true: you can obviously have O_APPEND set on a regular file).
So disallow O_APPEND entirely for now. I doubt anybody cares, and this
way we have one less gray area to worry about.
Matt Mackall [Wed, 8 Oct 2008 19:51:57 +0000 (14:51 -0500)]
SLOB: fix bogus ksize calculation fix
This fixes the previous fix, which was completely wrong on closer
inspection. This version has been manually tested with a user-space
test harness and generates sane values. A nearly identical patch has
been boot-tested.
The problem arose from changing how kmalloc/kfree handled alignment
padding without updating ksize to match. This brings it in sync.
Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
hwmon: (abituguru3) Enable DMI probing feature on Abit AT8 32X
Enable driver checking of the DMI product name (when enabled) on
an Abit AT8 32X, instead of falling back to a manual probe. This
eliminates false negatives and eventually will help avoid
unnecessary bus probes on unsupported mainboards.
Signed-off-by: Alistair John Strachan <alistair@devzero.co.uk> Tested-by: Daniel Exner <dex@dragonslave.de> Acked-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
hwmon: (abituguru3) Enable reading from AUX3 fan on Abit AT8 32X
The table for the Abit AT8 32X was incorrectly missing an entry
for the sixth ("AUX3") fan. Add this entry, exporting the fan
reading to userspace.
Closes lm-sensors.org ticket #2339.
Signed-off-by: Alistair John Strachan <alistair@devzero.co.uk> Tested-by: Daniel Exner <dex@dragonslave.de> Acked-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>