kernel weekly news – 14.01.2012

Posted: January 14, 2012 in kernel

Howdy!

-We start with Cătălin Marinaș and his kmemleak patches for -rc1
(3.3-rc1, of course), Roland Dreier has Infiniband fixes,
Rafael J. Wysocki has PM updates for 3.3 and Mark Brown
has regmap updates, also for 3.3:

Please pull the tree below to merge regmap updates for version 3.3.
After the rush of new features in version 3.2 this has been a fairly
quiet cycle for the regmap API, the main change being the wider usage by
drivers and some fixes and tweaks for them. The main things from a
subsystem point of view are:

– Addition of a generic interrupt controller driver which should work
for a range of chips, saving them from having to open code this.
– Removal of the indexed cache type as it’s not got any real advantage
over the rbtree cache.

This pull request also includes the MFD driver for the DA9052 PMIC as it
is one of the first users of the generic regmap IRQ code and therefore
has a build dependency on it.

-Greg KH announces the release of 3.1.8, 3.0.16 and 2.6.32.53 kernels,
Martin Schwidefsky has 3.3 patches regarding s390 and we’re back at Greg KH ,
which has driver core updates for 3.3:

Here’s the big driver core merge for 3.3.

It’s based off of 3.2, as I needed to fix up a merge issue and most
importantly, a build issue with the merge that had to be done by hand,
keeping the tree bisectable.

Note, when you merge this with your tree right now, you will get a
conflict in include/linux/cpu.h, which should be pretty obvious and
trivial to resolve, and a build error in drivers/base/cpu.c that you can
fix by changing the cpu_is_hotpluggable function to look like this:

bool cpu_is_hotpluggable(unsigned cpu)
{
struct device *dev = get_cpu_device(cpu);
return dev && container_of(dev, struct cpu, dev)->hotpluggable;
}

If you want me to do this merge, just let me know, I will be glad to do
so, but I know how much you like doing these types of merges :)

Big thing here, that caused all of the merge issues, is the removal of
the sysdev code. It has been long needed to be removed, Kay finally
just did it, thankfully. There are patches pending that take advantage
of this, providing properly CPU hotplug driver loading support, that
will have to wait until 3.4, as they didn’t make the merge window in
time. Note, the sysdev code isn’t removed from the tree just yet, to
help catch any other tree that might not have noticed this in the
linux-next merge process. I’ll send a follow-on patch after 3.3-rc1 is
out that removes this code, after ensuring that no other in-tree code is
using the sysdev structures.

Those changes touched a lot of the kernel.

So did the module_usb_driver() changes, which had to go through this
tree instead of the USB one, as they depended on some driver.h changes.

All of the fun details are in the shortlog below.

Please pull from:
git.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-core.git/ driver-core-next

All of these patches have been in the linux-next and mm trees for a
while now.

-Arnaldo Carvalho de Melo announces perf/core cleanups, fixes and improvements,
Avi Kivity has KVM updates for 3.3, and Linus Waleji has updates for pinctrl
for 3.3:

The only bigger change is the addition of a pin
configuration API. This makes it possible to, well, config
stuff on pins. Usually this tends to be things like biasing
(pull-up, pull-down), drive strength, schmitt-triggering,
drive mode (open collector/open drain) etc.

We haven’t yet merged any users of this interface, but these
can be expected in the next merge window.

Apart from that it is basically it’s a bunch of refinements
where especially Stephen Warren deserves credit for
straightening out some design issues in the stuff merged
in 3.2.

Myself I’ve mostly renamed stuff, moved the COH901 driver
over from the GPIO subsystem (it’s a copuled twin unit
with the U300 pin controller actually).

I was close to merging the PXA pin controller code for this
set, increasing the users from two to three platforms, but
I’ve decided to be conservative this time. We have a number
of potential platforms cooking so next time there may be
some serious migration to this subsystem.

Most stuff has been maturing in linux-next for a while
except the two top commits from Chanho Park which are
essentially fixes and would be -rc material anyway.

-James Morris updates security for 3.3 (if not otherwise
specified, this will be the default target release), Bob Liu
has blackfin changes, Dmitry Torokhov has input updates,
Boaz Harrosh updates exofs and Jan Kara has ext3, udf and
reiserfs fixes for -rc1.

-Tejun Heo comes up with percpu and cgroup changes for -rc1,
Konrad Rzeszutek Wilk updates xen/stable, Greg Kroah-Hartman
has TTY/serial, USB, char and misc updates and David
Miller updates networking:

1) Make the new socket diag bits default to ‘n’.

2) Fix assertion triggers by adding a missing napi_gro_flush() call to
the 8139cp driver, from Francois Romieu.

3) The IGMP delay zero fix from Ben Hutchings.

4) Fix endless loop in asix driver’s SKB fixup handler, from Aurelien
Jacobs.

5) Silence lockdep warnings when we take the netdevice address list lock
for child and parent device at the same time, which is common for
nested devices (f.e. bonding, vlan, bridge, teaming). From Jiri Pirko.

6) Fix socket refcounting when tcp cgroup memcontrol is enabled/disabled.
From Glauber Costa.

7) Fix regression in r6040 driver wherein the wrong register bits were
used. From Cesar Eduardo Barros.

8) device ops constifications from Stephen Hemminger.

9) pktgen setting validation from the eagle eyed Dan Carpenter

-David Teigland has DLM updates, Dave Miller is
back with sparc fixes, Guan Xuetao has unicore32 fixes, Wu
Fengguang has writeback updates for 3.3 and Arnd Bergmann
announces arm-soc changes:

It took me a while to sort everything out this time, but here are the
majority of the arm-soc changes for this merge window. The total number
of changes has dropped slightly since last time, but there were a
significant number of complex merge conflicts, so I ended up pulling
all of Russell’s commits into almost all of these series in order to
resolve them.

As you probably have noticed already, I’m maintaining the arm-soc tree
together with Olof Johansson, and he did a lot of the work, especially
while I was away on vacation. As part of sharing the maintainership,
we have enforced stricter rules about how stuff gets into the arm-soc
tree, and you will notice that for each pull request that we got, there
are actually two changesets in the history: one where we pull into
a fresh topic branch of arm-soc using –no-ff, and another one where
this gets pulled into one of the larger series branches (each of which
becomes one pull request to you), using –no-ff –log. If you think
this is excessive, we can stop using –no-ff, but I like the way
this gives us a clear history.

The extra merge changesets from pulling in the rmk/for-linus branch
through all the samsung/* branches to resolve the conflicts however
are something we will try to avoid in the future, sorry about those.

There are two or three more pull requests coming after this:

1. A next/drivers2 branch that depends on the v4l and the dmaengine
trees. I will send the request as soon as the dependencies are
merged

2. A short series moving arch/arm/mach-mx5 into mach-imx
I want to keep this coming last to avoid merge conflicts with
other patches to mx5. The patch itself is trivial (all the
interesting parts are in today’s series), so I will recreate
it end the end of the merge window.

3. A series for stuff that was submitted to arm-soc after the start
of the merge window. While the patches were in linux-next
already, I’m currently leaning towards queuing them for 3.4 instead
of 3.3 because they were never in arm-soc and I have not yet
looked at them.

I expect you to see four trivial conflicts that you will have to
resolve, unless other new patches have been merged in the meantime:
– arch/arm/mach-tegra/board-dt-tegra20.c, a function has been removed
and the patch conflicted with a merge between two other conflicting
patches.
– drivers/net/ethernet/freescale/fec.c, a clk cleanup conflicted with
the netdev tree.
– arch/arm/mach-s3c2440/clock.c, addition conflicts with the sys_device
removal.
– drivers/tty/serial/Kconfig, some Kconfig symbols were removed, and
the context changed.

For each branch “next/foo”, there is also a signed tag “foo” on the
arm-soc git. Please pull whichever of these you prefer.

-Michal Simek updates microblaze, Artem Bityutskiy has UBI changes
and Dave Airlie updates drm for -rc1:

This is the main pull request for the drm for this merge window. It has
two conflicts with your tree, I’ve fixed them up in a separate
drm-linus-merged branch if you don’t want to exercise your merging
fingers.

Highlights:
drm core: add plane support and userspace interface to expose overlays for
intel and soc hardwre. Lots of code removal through restructing by Daniel
Vetter. EDID support for CEA modes.
ttm: DMA aware page pool added, allows for use under Xen, and makes
support for radeon VM easier.
radeon: multi-ring support, semaphore support, better IB pool support, add
VM support for Cayman and upcoming GPUs, evergreen HDMI audio support
gma500: Initial GMA500 KMS driver moved from staging into drm proper.
nouveau: HDMI audio support, lots of power management fixes, overscan
connector property, initial nvd9 support,
exynos: hdmi support, pm support, plane support.
intel: better HDMI ELD support, plane support, GEN 7 streamout support.

The Intel guys are also having process issues again, and then Intel pull
request was very late and it looked like nobody was pulling stuff into a
-next tree at all regularly. I’m sort of tempted to just drop anything
more from them for this cycle, to give them time to sort themselves out
for the next one. I think there is one missed IRQ fix from them I’d like
to see, the rest I’m thinking can wait.

-Wim Van Sebroeck has a pull request for watchdog, Trond Myklebust
pushes NFS client updates, Mark Salter has C6X patches, James Bottomley
announces the first batch of SCSI updates for the 3.2 merge window and
Theodore Ts’o has ext4 fixes.

-Anton Vorontsov has battery updates for 3.3:

– Now we have a full fledged charger manager, implemented by Samsung
folks. This manager monitors battery charge and health, even when
machine suspended! RTC wake-up is used to bring kernel [partially]
back to life periodically.

This new awesome charger manager, hopefully, will start replacing
bunch of proprietary charger managers that are used in embedded
devices today (e.g. BME in Nokia N900).

– New ‘scope’ property for power supplies. The property is used to
distinguish between system vs. devices’ power supplies (think of
wireless keyboard/mice/tablet battery monitors); The support is
already implemented for Wacom and Nintendo Wiimote devices;

– National/TI LP8727 charger driver;

– Work has been started to bring drivers/power/ and ACPI SBS battery
code closer, and hopefully merge the code bases some day;

– Lots of small fixes here and there.

Note that changes that touch anything outside of driver/power were
acked by appropriate maintainers: MFD changes were acked by Samuel
Ortiz; HID changes were acked by Jiri Kosina and ARM changes were
acked by Tony Lindgren.

-Nicholas Bellinger has target updates for -rc1, Pekka Enberg has
SLAB updates for 3.x, John Stultz worked on rtc/time, Rusty Russell ->
virtio and lguest and Jesse Barnes comes up with PCI changes:

There’s a fix pending for a build problem when CONFIG_AMD_NB=n, but I
didn’t want to delay the pull request any longer; I’ll include it in
the next fixes pull.

This one doesn’t include Yinghai’s resource management stuff either,
I’ll put that in my -next tree for the next merge window when Yinghai
has it ready. That might be a good time to revert 12c22d6ef299 (the
revert of the transparent bridge sizing code we talked about), unless
you want to try it now.

It *does* include some nice improvements from Bjorn on how the root bus
and bus resource code is structured, some good boot fixes from Fedora,
and lots of misc fixes elsewhere.

There was definitely more rebasing than I’d like fairly late on, but that
was mainly to merge in fixes to Bjorn’s series for various build errors
that got reported, so I don’t think it invalidated testing (I generally
don’t pull from you and rebase except after you’ve pulled from me).

-Paul Mundt announces rmobile updates for -rc1:

The diffstat here is a bit misleading since it also includes some changes
that were pulled in from one of the sh topic branches which will have
already made their way upstream via the sh merge. This mostly applies to
clock framework and pfc changes that were needed in both trees. Thus,
most of the arch/sh and drivers/sh stuff can just be factored out when
looking at the net impact.

I could have simply made the pull request based on top of the last change
from the sh topic branch in question, but that seemed to be misleading
too, so I’ve just done it this way instead.

-…and sh updates as well:

Here goes my attempt at a merge request by way of signed tag, hopefully
I’ve not botched anything too terribly.

I noticed some people using 3.3 in their signed tags and others with a
single for-linus one that seems like it will be overwritten on each
subsequent merge. I’ve opted for the latter as presumably verification is
only of interest at the time of merging, but can switch to the former if
that’s the preferred way going forward.

Ideally this should be pulled prior to the rmobile updates, which build
on top of some of the changes in here.

-That’s it for this week, see ya!

Leave a comment