* Re: linux-next: scsi tree build warnings
From: James Smart @ 2008-12-11 14:35 UTC (permalink / raw)
To: Stephen Rothwell; +Cc: James Bottomley, linux-next@vger.kernel.org
In-Reply-To: <20081211132503.bc5e5994.sfr@canb.auug.org.au>
we're cleaning this up now...
-- james s
Stephen Rothwell wrote:
> Hi James,
>
> Today's linux-next build (powerpc ppc64_defconfig) produced these
> warnings:
>
> drivers/scsi/lpfc/lpfc_scsi.c: In function 'lpfc_parse_bg_err':
> drivers/scsi/lpfc/lpfc_scsi.c:1319: warning: format '%llx' expects type 'long long unsigned int', but argument 3 has type 'sector_t'
> drivers/scsi/lpfc/lpfc_scsi.c: In function 'lpfc_queuecommand':
> drivers/scsi/lpfc/lpfc_scsi.c:2376: warning: format '%llu' expects type 'long long unsigned int', but argument 6 has type 'sector_t'
> drivers/scsi/lpfc/lpfc_scsi.c:2382: warning: format '%llu' expects type 'long long unsigned int', but argument 6 has type 'sector_t'
> drivers/scsi/lpfc/lpfc_scsi.c:2404: warning: format '%llu' expects type 'long long unsigned int', but argument 6 has type 'sector_t'
> drivers/scsi/lpfc/lpfc_scsi.c:2409: warning: format '%llu' expects type 'long long unsigned int', but argument 6 has type 'sector_t'
> drivers/scsi/lpfc/lpfc_attr.c: In function 'lpfc_bg_guard_err_show':
> drivers/scsi/lpfc/lpfc_attr.c:126: warning: format '%llu' expects type 'long long unsigned int', but argument 4 has type 'uint64_t'
> drivers/scsi/lpfc/lpfc_attr.c: In function 'lpfc_bg_apptag_err_show':
> drivers/scsi/lpfc/lpfc_attr.c:137: warning: format '%llu' expects type 'long long unsigned int', but argument 4 has type 'uint64_t'
> drivers/scsi/lpfc/lpfc_attr.c: In function 'lpfc_bg_reftag_err_show':
> drivers/scsi/lpfc/lpfc_attr.c:148: warning: format '%llu' expects type 'long long unsigned int', but argument 4 has type 'uint64_t'
>
> Introduced by commit 46c6a5eabb0284b10c0377bd78c04edcb4163ee0 ("[SCSI] lpfc 8.3.0 : Add BlockGuard support (T10-DIF) code").
>
> I guess sector_t and uint64_t should be cast to "unsigned long long"
> for printing as u64 is "unsigned long" on some architectures and
> "unsigned long long" on others.
^ permalink raw reply
* Re: linux-next: manual merge of the ttydev tree
From: Dan Williams @ 2008-12-11 14:46 UTC (permalink / raw)
To: Alan Cox; +Cc: Stephen Rothwell, linux-next@vger.kernel.org, David Daney
In-Reply-To: <20081211102122.5fe69850@lxorguk.ukuu.org.uk>
Alan Cox wrote:
> On Thu, 11 Dec 2008 17:26:45 +1100
> Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
>> Hi Alan,
>>
>> Today's linux-next merge of the ttydev tree got a conflict in
>> drivers/serial/8250.c between commit
>> 507ce132910803e8fd1116467e99f59da3d526f0 ("iop13xx: workaround errata
>> that causes uart interrupts to be missed") from the async_tx tree and
>> commit 63c4074301f79f1620d6c880973d6ef1cc770990
>> ("tty-serial-8250-regops") from the ttydev tree.
>>
>> I have reverted the async_tx commit for today. Please try to figure out
>> what should happen here.
>
> Dan - can you feed the uart 8250 patches through the ttydev tree or are
> there dependancies on other parts of async_tx ?
>
No, this purely my fault. That is a debugging patch I use when testing
my tree on iop13xx and I inadvertantly included it in my latest push to
-next. It has been removed. Sorry for the noise.
Regards,
Dan
^ permalink raw reply
* Re: [xfs-masters] next-20081210: BUG: sleeping function called from invalid context at mm/slub.c:1619 (XFS)
From: Christoph Hellwig @ 2008-12-11 18:29 UTC (permalink / raw)
To: Alexander Beregalov; +Cc: linux-next@vger.kernel.org, xfs, xfs-masters
In-Reply-To: <a4423d670812110210g50d66304pb0a7d96b3dde00c7@mail.gmail.com>
On Thu, Dec 11, 2008 at 01:10:23PM +0300, Alexander Beregalov wrote:
> BUG: sleeping function called from invalid context at mm/slub.c:1619
> in_atomic(): 1, irqs_disabled(): 0, pid: 8096, name: sh
> INFO: lockdep is turned off.
> Pid: 8096, comm: sh Tainted: G W 2.6.28-rc7-next-20081210 #2
> Call Trace:
> [<ffffffff80256e5a>] ? __debug_show_held_locks+0x1b/0x24
> [<ffffffff8022fb55>] __might_sleep+0x120/0x122
> [<ffffffff8029c526>] __kmalloc+0x70/0xfc
> [<ffffffff803534d2>] kmem_alloc+0x75/0xd7
> [<ffffffff803350ba>] xfs_fs_vcmn_err+0x46/0x94
> [<ffffffff80335297>] xfs_fs_cmn_err+0x59/0x5e
xfs_fs_vcmn_err does a sleeping memory allocation under a spinlock,
nasty. I have an idea that will get rid of the memory allocation
completely, I'll come back to you once I have hacked something up.
> Filesystem "sda2": xlog_space_left: head behind tail
> tail_cycle = 1802201963, tail_bytes = -690563584
> GH cycle = 3078, GH bytes = 69183384
This btw is a bug, too..
^ permalink raw reply
* [PATCH 1/1] cpumask: force nr_cpumask_bit to NR_CPUS for CPUMASK_OFFSTACK=n
From: Mike Travis @ 2008-12-11 20:44 UTC (permalink / raw)
To: Rusty Russell
Cc: Ingo Molnar, David Miller, Paul Mackerras, Martin Schwidefsky,
Ralf Baechle, Tony Luck, Linus Torvalds, Stephen Rothwell, LKML,
linux-next
In-Reply-To: <200812101019.42908.rusty@rustcorp.com.au>
Re: cpumask conversions, or not?
Rusty Russell wrote:
> On Tuesday 09 December 2008 21:26:36 Mike Travis wrote:
>> Rusty Russell wrote:
>>> Hi all,
>>>
>>> The new cpumask conversions are going well, but unfortunately Stephen
>>> uncovered a nasty bug via linux-next: the new cpumask operators only go to
>>> nr_cpumask_bits which can be less than NR_CPUS if NR_CPUS > BITS_PER_LONG.
>>> The undefined bits confuse the old cpumask operators. We fixed one case,
>>> but I am concerned that we will break archs as we convert more core code.
>> Hi Rusty,
>>
>> I think we can avoid this problem if we make cpumask_bits == NR_CPUS iff
>> CONFIG_CPUMASK_OFFSTACK=n. This complies with the current cpumask_t
>> approach and should cause all cpumask operators to always operate on
>> all cpumask bits.
>
> A very good point. And it's no worse than the old method.
>
> OK, forget about this for now, no urgent conversions needed :)
> Rusty.
This probably should be submitted through linux-next for wider test coverage?
Thanks,
Mike
---
cpumask: force nr_cpumask_bits to be NR_CPUS when CPUMASK_OFFSTACK is false
This maintains compatibility with the current cpumask_t. Once an architecture
is "cpumask clean" [IOW, all references span 0..(nr_cpus_ids-1) only, ignoring
any bits >= nr_cpu_ids], then it can set CPUMASK_OFFSTACK=y.
Signed-off-by: Mike Travis <travis@sgi.com>
---
include/linux/cpumask.h | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
--- linux-2.6-for-ingo.orig/include/linux/cpumask.h
+++ linux-2.6-for-ingo/include/linux/cpumask.h
@@ -510,9 +510,6 @@ extern cpumask_t cpu_active_map;
[BITS_TO_LONGS(NR_CPUS)-1] = CPU_MASK_LAST_WORD \
}
-/* This produces more efficient code. */
-#define nr_cpumask_bits NR_CPUS
-
#else /* NR_CPUS > BITS_PER_LONG */
#define CPU_BITS_ALL \
@@ -521,9 +518,20 @@ extern cpumask_t cpu_active_map;
[BITS_TO_LONGS(NR_CPUS)-1] = CPU_MASK_LAST_WORD \
}
-#define nr_cpumask_bits nr_cpu_ids
#endif /* NR_CPUS > BITS_PER_LONG */
+#ifndef CONFIG_CPUMASK_OFFSTACK
+
+/* This produces more efficient code. */
+#define nr_cpumask_bits NR_CPUS
+
+#else
+
+/* This allows for variabled-sized cpumask's */
+#define nr_cpumask_bits nr_cpu_ids
+
+#endif
+
/* verify cpu argument to cpumask_* operators */
static inline unsigned int cpumask_check(unsigned int cpu)
{
^ permalink raw reply
* Re: [PATCH 1/1] cpumask: force nr_cpumask_bit to NR_CPUS for CPUMASK_OFFSTACK=n
From: Mike Travis @ 2008-12-11 23:10 UTC (permalink / raw)
To: Rusty Russell
Cc: Ingo Molnar, David Miller, Paul Mackerras, Martin Schwidefsky,
Ralf Baechle, Tony Luck, Linus Torvalds, Stephen Rothwell, LKML,
linux-next
In-Reply-To: <49417B99.7090004@sgi.com>
Mike Travis wrote:
> Re: cpumask conversions, or not?
>
> Rusty Russell wrote:
>> On Tuesday 09 December 2008 21:26:36 Mike Travis wrote:
>>> Rusty Russell wrote:
>>>> Hi all,
>>>>
>>>> The new cpumask conversions are going well, but unfortunately Stephen
>>>> uncovered a nasty bug via linux-next: the new cpumask operators only go to
>>>> nr_cpumask_bits which can be less than NR_CPUS if NR_CPUS > BITS_PER_LONG.
>>>> The undefined bits confuse the old cpumask operators. We fixed one case,
>>>> but I am concerned that we will break archs as we convert more core code.
>>> Hi Rusty,
>>>
>>> I think we can avoid this problem if we make cpumask_bits == NR_CPUS iff
>>> CONFIG_CPUMASK_OFFSTACK=n. This complies with the current cpumask_t
>>> approach and should cause all cpumask operators to always operate on
>>> all cpumask bits.
>> A very good point. And it's no worse than the old method.
>>
>> OK, forget about this for now, no urgent conversions needed :)
>> Rusty.
>
> This probably should be submitted through linux-next for wider test coverage?
>
> Thanks,
> Mike
> ---
> cpumask: force nr_cpumask_bits to be NR_CPUS when CPUMASK_OFFSTACK is false
>
> This maintains compatibility with the current cpumask_t. Once an architecture
> is "cpumask clean" [IOW, all references span 0..(nr_cpus_ids-1) only, ignoring
> any bits >= nr_cpu_ids], then it can set CPUMASK_OFFSTACK=y.
>
> Signed-off-by: Mike Travis <travis@sgi.com>
> ---
> include/linux/cpumask.h | 16 ++++++++++++----
> 1 file changed, 12 insertions(+), 4 deletions(-)
>
> --- linux-2.6-for-ingo.orig/include/linux/cpumask.h
> +++ linux-2.6-for-ingo/include/linux/cpumask.h
> @@ -510,9 +510,6 @@ extern cpumask_t cpu_active_map;
> [BITS_TO_LONGS(NR_CPUS)-1] = CPU_MASK_LAST_WORD \
> }
>
> -/* This produces more efficient code. */
> -#define nr_cpumask_bits NR_CPUS
> -
> #else /* NR_CPUS > BITS_PER_LONG */
>
> #define CPU_BITS_ALL \
> @@ -521,9 +518,20 @@ extern cpumask_t cpu_active_map;
> [BITS_TO_LONGS(NR_CPUS)-1] = CPU_MASK_LAST_WORD \
> }
>
> -#define nr_cpumask_bits nr_cpu_ids
> #endif /* NR_CPUS > BITS_PER_LONG */
>
> +#ifndef CONFIG_CPUMASK_OFFSTACK
> +
> +/* This produces more efficient code. */
> +#define nr_cpumask_bits NR_CPUS
> +
> +#else
> +
> +/* This allows for variabled-sized cpumask's */
> +#define nr_cpumask_bits nr_cpu_ids
> +
> +#endif
> +
> /* verify cpu argument to cpumask_* operators */
> static inline unsigned int cpumask_check(unsigned int cpu)
> {
I wonder if we should not jump immediately to "variable-sized" cpumasks,
even for CPUMASK_OFFSTACK=y? That way we could reap the benefits of
allocating the cpumask's on demand, without the restriction that all
code that touches the cpumask is "cpumask clean"? In other words,
perhaps this would be the right approach:
#ifdef CONFIG_ARCH_HAS_VARIABLE_CPUMASKS
#define nr_cpumask_bits nr_cpu_ids
#else
#define nr_cpumask_bits CONFIG_NR_CPUS
#endif
static inline size_t cpumask_size(void)
{
return BITS_TO_LONG(nr_cpumask_bits) * sizeof(LONG);
}
Then when the code is verified that the cpumasks are handled correctly by
all functions that reference these cpumasks, then ARCH_HAS_VARIABLE_CPUMASKS
can be set?
Thanks,
Mike
^ permalink raw reply
* Re: linux-next: scsi tree build warnings
From: Stephen Rothwell @ 2008-12-11 23:30 UTC (permalink / raw)
To: James Smart; +Cc: James Bottomley, linux-next@vger.kernel.org
In-Reply-To: <49412544.8010104@emulex.com>
[-- Attachment #1: Type: text/plain, Size: 249 bytes --]
Hi James,
On Thu, 11 Dec 2008 09:35:48 -0500 James Smart <James.Smart@Emulex.Com> wrote:
>
> we're cleaning this up now...
Thanks.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply
* Re: linux-next: cifs tree build failure
From: Stephen Rothwell @ 2008-12-12 3:32 UTC (permalink / raw)
To: Steve French, linux-cifs-client
Cc: linux-next, Harvey Harrison, David S. Miller, Jeff Layton
In-Reply-To: <20081203135312.60d4518d.sfr@canb.auug.org.au>
Hi Steve,
On Wed, 3 Dec 2008 13:53:12 +1100 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> Today I have fixed this by applying a merge fix patch (see below) and
> will carry this as necessary.
An even better fix (as far as I am concerned) would be for you to pull
the net tree into the cifs tree (since the net tree will *never* rebase,
this is safe) and then apply the following two fixups as part of the
merge. Or if you want to rebase the cifs tree, then use a merge of
Linus' tree and the net tree as the base and fix up the relevent commits
with the following.
That way, I don't have to carry these fixups ... I have had to reapply
the fist once already as things continue to change.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
diff --cc fs/cifs/connect.c
index 204bd13,3519420..0000000
--- a/fs/cifs/connect.c
+++ b/fs/cifs/connect.c
@@@ -2228,8 -2269,12 +2269,12 @@@ cifs_mount(struct super_block *sb, stru
/* new SMB session uses our srvTcp ref */
pSesInfo->server = srvTcp;
- sprintf(pSesInfo->serverName, "%pI4",
- &sin_server->sin_addr.s_addr);
+ if (srvTcp->addr.sockAddr6.sin6_family == AF_INET6)
- sprintf(pSesInfo->serverName, NIP6_FMT,
- NIP6(srvTcp->addr.sockAddr6.sin6_addr));
++ sprintf(pSesInfo->serverName, "%pI6",
++ &srvTcp->addr.sockAddr6.sin6_addr);
+ else
- sprintf(pSesInfo->serverName, NIPQUAD_FMT,
- NIPQUAD(srvTcp->addr.sockAddr.sin_addr.s_addr));
++ sprintf(pSesInfo->serverName, "%pI4",
++ &srvTcp->addr.sockAddr.sin_addr.s_addr);
write_lock(&cifs_tcp_ses_lock);
list_add(&pSesInfo->smb_ses_list, &srvTcp->smb_ses_list);
diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c
index 061a1dc..1b09330 100644
--- a/fs/cifs/cifsfs.c
+++ b/fs/cifs/cifsfs.c
@@ -362,12 +362,12 @@ cifs_show_options(struct seq_file *s, struct vfsmount *m)
switch (server->addr.sockAddr6.
sin6_family) {
case AF_INET6:
- seq_printf(s, NIP6_FMT,
- NIP6(server->addr.sockAddr6.sin6_addr));
+ seq_printf(s, "%pI6",
+ &server->addr.sockAddr6.sin6_addr);
break;
case AF_INET:
- seq_printf(s, NIPQUAD_FMT,
- NIPQUAD(server->addr.sockAddr.sin_addr.s_addr));
+ seq_printf(s, "%pI4",
+ &server->addr.sockAddr.sin_addr.s_addr);
break;
}
}
^ permalink raw reply related
* linux-next: Tree for December 12
From: Stephen Rothwell @ 2008-12-12 7:56 UTC (permalink / raw)
To: linux-next; +Cc: LKML
[-- Attachment #1: Type: text/plain, Size: 8328 bytes --]
Hi all,
Changes since 20081211:
Undropped tree:
drm
Dropped trees (temporarily):
v4l-dvb (build problem)
mtd (difficult conflicts)
semaphore-removal (due to unfixed conflicts against Linus' tree)
cpu_alloc (build problem)
perfmon3 (concerns from the x86 team)
audit (difficult conflicts)
nommu (build problem)
staging (build failure)
The driver-core lost a revert.
The ttydev tree lost a conflict.
----------------------------------------------------------------------------
I have created today's linux-next tree at
git://git.kernel.org/pub/scm/linux/kernel/git/sfr/linux-next.git
(patches at
http://www.kernel.org/pub/linux/kernel/people/sfr/linux-next/). If you
are tracking the linux-next tree using git, you should not use "git pull"
to do so as that will try to merge the new linux-next release with the
old one. You should use "git fetch" as mentioned in the FAQ on the wiki
(see below).
You can see which trees have been included by looking in the Next/Trees
file in the source. There are also quilt-import.log and merge.log files
in the Next directory. Between each merge, the tree was built with
a ppc64_defconfig for powerpc and an allmodconfig for x86_64. After the
final fixups (if any), it is also built with powerpc allnoconfig,
44x_defconfig and allyesconfig (minus CONFIG_PROFILE_ALL_BRANCHES) and
i386, sparc and sparc64 defconfig.
Below is a summary of the state of the merge.
We are up to 132 trees (counting Linus' and 15 trees of patches pending for
Linus' tree), more are welcome (even if they are currently empty).
Thanks to those who have contributed, and to those who haven't, please do.
Status of my local build tests will be at
http://kisskb.ellerman.id.au/linux-next . If maintainers want to give
advice about cross compilers/configs that work, we are always open to add
more builds.
Thanks to Jan Dittmer for adding the linux-next tree to his build tests
at http://l4x.org/k/ , the guys at http://test.kernel.org/ and Randy
Dunlap for doing many randconfig builds.
There is a wiki covering stuff to do with linux-next at
http://linux.f-seidel.de/linux-next/pmwiki/ . Thanks to Frank Seidel.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
$ git checkout master
$ git reset --hard stable
Merging origin/master
Merging arm-current/master
Merging m68k-current/for-linus
Merging powerpc-merge/merge
Merging sparc-current/master
Merging scsi-rc-fixes/master
Merging net-current/master
Merging sound-current/for-linus
Merging pci-current/for-linus
Merging wireless-current/master
Merging kbuild-current/master
Merging quilt/driver-core.current
Merging quilt/usb.current
Merging cpufreq-current/fixes
Merging input-current/for-linus
Merging md-current/for-2.6.26
Merging audit-current/for-linus
Merging dwmw2/master
Merging arm/devel
Merging avr32/avr32-arch
Merging blackfin/for-linus
Merging cris/for-next
Merging ia64/test
Merging m68k/for-next
Merging m68knommu/for-next
Merging mips/mips-for-linux-next
Merging parisc/master
Merging powerpc/next
Merging 4xx/next
Merging galak/next
Merging pxa/for-next
Merging s390/features
CONFLICT (content): Merge conflict in drivers/char/Makefile
Merging sh/master
Merging sparc/master
Merging x86/auto-x86-next
Merging xtensa/master
Merging quilt/driver-core
CONFLICT (content): Merge conflict in arch/powerpc/platforms/85xx/mpc85xx_mds.c
Merging quilt/usb
Merging tip-core/auto-core-next
Merging cpus4096/auto-cpus4096-next
Merging ftrace/auto-ftrace-next
CONFLICT (content): Merge conflict in include/linux/ftrace.h
CONFLICT (content): Merge conflict in scripts/recordmcount.pl
Merging genirq/auto-genirq-next
Merging safe-poison-pointers/auto-safe-poison-pointers-next
Merging sched/auto-sched-next
Merging stackprotector/auto-stackprotector-next
Merging timers/auto-timers-next
Merging pci/linux-next
CONFLICT (content): Merge conflict in drivers/pci/pci-driver.c
Merging quilt/device-mapper
Merging hid/for-next
Merging quilt/i2c
Merging quilt/jdelvare-hwmon
Merging quilt/kernel-doc
Merging jfs/next
Merging kbuild/master
Merging quilt/ide
Merging libata/NEXT
Merging nfs/linux-next
Merging xfs/master
CONFLICT (content): Merge conflict in fs/xfs/xfs_rename.c
Merging infiniband/for-next
Merging acpi/test
Merging nfsd/nfsd-next
Merging ieee1394/for-next
Merging ubi/linux-next
Merging kvm/master
CONFLICT (content): Merge conflict in arch/x86/kernel/reboot.c
Merging dlm/next
Merging scsi/master
Merging ocfs2/linux-next
Merging ext4/next
Merging async_tx/next
Merging udf/for_next
Merging net/master
CONFLICT (delete/modify): arch/sparc64/kernel/idprom.c deleted in HEAD and modified in net/master. Version net/master of arch/sparc64/kernel/idprom.c left in tree.
CONFLICT (content): Merge conflict in fs/lockd/host.c
CONFLICT (content): Merge conflict in fs/lockd/mon.c
$ git rm -f arch/sparc64/kernel/idprom.c
Applying: net: async_tx merge fix
Merging wireless/master
Merging crypto/master
Merging vfs/for-next
Merging sound/for-next
Merging cpufreq/next
Merging v9fs/for-next
Merging rr_cpumask/master
Merging quilt/rr
CONFLICT (content): Merge conflict in arch/x86/kernel/setup.c
CONFLICT (content): Merge conflict in kernel/cpu.c
Merging cifs/master
CONFLICT (content): Merge conflict in fs/cifs/connect.c
Applying: cifs: update for new IP4/6 address printing
Merging mmc/next
Merging gfs2/master
Merging input/next
Merging semaphore/semaphore
Merging bkl-removal/bkl-removal
CONFLICT (content): Merge conflict in fs/ioctl.c
Merging ubifs/linux-next
Merging lsm/for-next
Merging block/for-next
Merging embedded/master
Merging firmware/master
CONFLICT (content): Merge conflict in drivers/net/tg3.c
CONFLICT (content): Merge conflict in firmware/Makefile
CONFLICT (content): Merge conflict in firmware/WHENCE
Merging pcmcia/master
Merging battery/master
Merging leds/for-mm
Merging backlight/for-mm
Merging kgdb/kgdb-next
Merging slab/for-next
Merging uclinux/for-next
Merging md/for-next
Merging kmemcheck/auto-kmemcheck-next
CONFLICT (content): Merge conflict in MAINTAINERS
CONFLICT (content): Merge conflict in arch/x86/mm/Makefile
CONFLICT (content): Merge conflict in mm/slab.c
CONFLICT (content): Merge conflict in mm/slub.c
Merging generic-ipi/auto-generic-ipi-next
Merging mfd/for-next
Merging hdlc/hdlc-next
Merging drm/drm-next
Merging voltage/for-next
Merging security-testing/next
CONFLICT (content): Merge conflict in drivers/char/tty_audit.c
CONFLICT (content): Merge conflict in fs/cifs/cifs_fs_sb.h
CONFLICT (content): Merge conflict in fs/ocfs2/namei.c
CONFLICT (content): Merge conflict in fs/xfs/linux-2.6/xfs_cred.h
CONFLICT (content): Merge conflict in fs/xfs/linux-2.6/xfs_globals.h
CONFLICT (content): Merge conflict in fs/xfs/linux-2.6/xfs_ioctl.c
CONFLICT (content): Merge conflict in fs/xfs/xfs_vnodeops.h
Merging lblnet/master
CONFLICT (content): Merge conflict in Documentation/feature-removal-schedule.txt
Merging quilt/ttydev
CONFLICT (content): Merge conflict in fs/devpts/inode.c
Merging agp/agp-next
Merging oprofile/auto-oprofile-next
Merging fastboot/auto-fastboot-next
Merging sparseirq/auto-sparseirq-next
Merging iommu/auto-iommu-next
Merging uwb/for-upstream
Merging watchdog/master
CONFLICT (content): Merge conflict in drivers/watchdog/iTCO_wdt.c
Merging proc/proc
Merging bdev/master
Merging dwmw2-iommu/master
Merging cputime/cputime
CONFLICT (content): Merge conflict in kernel/sched.c
Merging osd/linux-next
Merging fatfs/master
Merging fuse/for-next
Merging jc_docs/docs-next
Merging nommu/master
CONFLICT (content): Merge conflict in Documentation/sysctl/vm.txt
CONFLICT (content): Merge conflict in kernel/fork.c
$ git reset --hard
Merging trivial/for-next
Merging quilt/staging
CONFLICT (delete/modify): drivers/staging/winbond/linux/wbusb.c deleted in quilt/staging and modified in HEAD. Version HEAD of drivers/staging/winbond/linux/wbusb.c left in tree.
CONFLICT (content): Merge conflict in drivers/staging/wlan-ng/p80211netdev.c
CONFLICT (content): Merge conflict in drivers/staging/wlan-ng/p80211wext.c
$ git rm -f drivers/staging/winbond/linux/wbusb.c
$ git reset --hard HEAD^
Merging scsi-post-merge/master
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply
* Re: [PATCH] cpumask:cpumask_of_node-ia64 fix
From: Rusty Russell @ 2008-12-12 8:11 UTC (permalink / raw)
To: KOSAKI Motohiro
Cc: Mike Travis, Luck, Tony, linux-next, LKML, Stephen Rothwell
In-Reply-To: <20081211132146.4FFD.KOSAKI.MOTOHIRO@jp.fujitsu.com>
On Thursday 11 December 2008 15:23:09 KOSAKI Motohiro wrote:
> and my review and test doen't find any problem in your patch.
> Very thanks.
...
> The following is the folded patch of your patch and your over-simplified fix.
Thanks for this. I do not know how I missed these (I did not have an IA64
cross-compiler then though).
I will fold this fix into the ia64 cpumask_of_node patch.
Thanks,
Rusty.
^ permalink raw reply
* Re: linux-next: manual merge of the ftrace tree
From: Ingo Molnar @ 2008-12-12 9:23 UTC (permalink / raw)
To: Frédéric Weisbecker
Cc: Stephen Rothwell, Thomas Gleixner, H. Peter Anvin, linux-next,
Hugh Dickins, Steven Rostedt
In-Reply-To: <c62985530812101723u66dd1662x279ff15fa741e8e5@mail.gmail.com>
* Frédéric Weisbecker <fweisbec@gmail.com> wrote:
> > struct boot_trace_ret {
> > - char func[KSYM_NAME_LEN];
> > + char func[KSYM_SYMBOL_LEN];
> > int result;
> > unsigned long long duration; /* nsecs */
> > };
> >
>
> Yes that's the right fix. The headers for the boot tracer have moved
> for 2.6.29 merge window and the fix should follow this move. If you
> agree, I will submit your patch to latest -tip with the right "from "
> and "signed-off-by" tags....
i missed that bit indeed - so i've picked up your patch, thanks.
Ingo
^ permalink raw reply
* Re: linux-next: manual merge of the mtd tree
From: Dmitry Eremin-Solenikov @ 2008-12-12 10:29 UTC (permalink / raw)
To: Stephen Rothwell; +Cc: David Woodhouse, linux-next, Eric Miao, Russell King
In-Reply-To: <20081211212335.828b902c.sfr@canb.auug.org.au>
[-- Attachment #1: Type: text/plain, Size: 712 bytes --]
2008/12/11 Stephen Rothwell <sfr@canb.auug.org.au>:
> Hi Dmitry,
>
> On Thu, 11 Dec 2008 13:11:20 +0300 "Dmitry Eremin-Solenikov" <dbaryshkov@gmail.com> wrote:
>>
>> Unfortunately those changes are independant, so I don't quite
>> understand what to do.
>> If you'd prefer, I can provide merged versions of all 3 files, so that
>> you can use this
>> as merge resolution via git-rerere. Is that suitable for you?
>
> That would be a great help, thanks.
Sorry for the delay. I've attached the files resulting from the merge
of today linux-next/master and mtd/master.
> --
> Cheers,
> Stephen Rothwell sfr@canb.auug.org.au
> http://www.canb.auug.org.au/~sfr/
>
--
With best wishes
Dmitry
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: corgi.c --]
[-- Type: text/x-csrc; name=corgi.c, Size: 16403 bytes --]
/*
* Support for Sharp SL-C7xx PDAs
* Models: SL-C700 (Corgi), SL-C750 (Shepherd), SL-C760 (Husky)
*
* Copyright (c) 2004-2005 Richard Purdie
*
* Based on Sharp's 2.4 kernel patches/lubbock.c
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
*/
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/major.h>
#include <linux/fs.h>
#include <linux/interrupt.h>
#include <linux/mmc/host.h>
#include <linux/mtd/physmap.h>
#include <linux/pm.h>
#include <linux/gpio.h>
#include <linux/backlight.h>
#include <linux/io.h>
#include <linux/spi/spi.h>
#include <linux/spi/ads7846.h>
#include <linux/spi/corgi_lcd.h>
#include <linux/mtd/sharpsl.h>
#include <video/w100fb.h>
#include <asm/setup.h>
#include <asm/memory.h>
#include <asm/mach-types.h>
#include <mach/hardware.h>
#include <asm/irq.h>
#include <asm/system.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/irq.h>
#include <mach/pxa-regs.h>
#include <mach/pxa2xx-regs.h>
#include <mach/mfp-pxa25x.h>
#include <mach/i2c.h>
#include <mach/irda.h>
#include <mach/mmc.h>
#include <mach/udc.h>
#include <mach/pxa2xx_spi.h>
#include <mach/corgi.h>
#include <mach/sharpsl.h>
#include <asm/mach/sharpsl_param.h>
#include <asm/hardware/scoop.h>
#include "generic.h"
#include "devices.h"
#include "sharpsl.h"
static unsigned long corgi_pin_config[] __initdata = {
/* Static Memory I/O */
GPIO78_nCS_2, /* w100fb */
GPIO80_nCS_4, /* scoop */
/* SSP1 */
GPIO23_SSP1_SCLK,
GPIO25_SSP1_TXD,
GPIO26_SSP1_RXD,
GPIO24_GPIO, /* CORGI_GPIO_ADS7846_CS - SFRM as chip select */
/* I2S */
GPIO28_I2S_BITCLK_OUT,
GPIO29_I2S_SDATA_IN,
GPIO30_I2S_SDATA_OUT,
GPIO31_I2S_SYNC,
GPIO32_I2S_SYSCLK,
/* Infra-Red */
GPIO47_FICP_TXD,
GPIO46_FICP_RXD,
/* FFUART */
GPIO40_FFUART_DTR,
GPIO41_FFUART_RTS,
GPIO39_FFUART_TXD,
GPIO37_FFUART_DSR,
GPIO34_FFUART_RXD,
GPIO35_FFUART_CTS,
/* PC Card */
GPIO48_nPOE,
GPIO49_nPWE,
GPIO50_nPIOR,
GPIO51_nPIOW,
GPIO52_nPCE_1,
GPIO53_nPCE_2,
GPIO54_nPSKTSEL,
GPIO55_nPREG,
GPIO56_nPWAIT,
GPIO57_nIOIS16,
/* MMC */
GPIO6_MMC_CLK,
GPIO8_MMC_CS0,
/* GPIO */
GPIO9_GPIO, /* CORGI_GPIO_nSD_DETECT */
GPIO7_GPIO, /* CORGI_GPIO_nSD_WP */
GPIO33_GPIO, /* CORGI_GPIO_SD_PWR */
GPIO22_GPIO, /* CORGI_GPIO_IR_ON */
GPIO44_GPIO, /* CORGI_GPIO_HSYNC */
GPIO1_GPIO | WAKEUP_ON_EDGE_RISE,
};
/*
* Corgi SCOOP Device
*/
static struct resource corgi_scoop_resources[] = {
[0] = {
.start = 0x10800000,
.end = 0x10800fff,
.flags = IORESOURCE_MEM,
},
};
static struct scoop_config corgi_scoop_setup = {
.io_dir = CORGI_SCOOP_IO_DIR,
.io_out = CORGI_SCOOP_IO_OUT,
.gpio_base = CORGI_SCOOP_GPIO_BASE,
};
struct platform_device corgiscoop_device = {
.name = "sharp-scoop",
.id = -1,
.dev = {
.platform_data = &corgi_scoop_setup,
},
.num_resources = ARRAY_SIZE(corgi_scoop_resources),
.resource = corgi_scoop_resources,
};
static struct scoop_pcmcia_dev corgi_pcmcia_scoop[] = {
{
.dev = &corgiscoop_device.dev,
.irq = CORGI_IRQ_GPIO_CF_IRQ,
.cd_irq = CORGI_IRQ_GPIO_CF_CD,
.cd_irq_str = "PCMCIA0 CD",
},
};
static struct scoop_pcmcia_config corgi_pcmcia_config = {
.devs = &corgi_pcmcia_scoop[0],
.num_devs = 1,
};
EXPORT_SYMBOL(corgiscoop_device);
static struct w100_mem_info corgi_fb_mem = {
.ext_cntl = 0x00040003,
.sdram_mode_reg = 0x00650021,
.ext_timing_cntl = 0x10002a4a,
.io_cntl = 0x7ff87012,
.size = 0x1fffff,
};
static struct w100_gen_regs corgi_fb_regs = {
.lcd_format = 0x00000003,
.lcdd_cntl1 = 0x01CC0000,
.lcdd_cntl2 = 0x0003FFFF,
.genlcd_cntl1 = 0x00FFFF0D,
.genlcd_cntl2 = 0x003F3003,
.genlcd_cntl3 = 0x000102aa,
};
static struct w100_gpio_regs corgi_fb_gpio = {
.init_data1 = 0x000000bf,
.init_data2 = 0x00000000,
.gpio_dir1 = 0x00000000,
.gpio_oe1 = 0x03c0feff,
.gpio_dir2 = 0x00000000,
.gpio_oe2 = 0x00000000,
};
static struct w100_mode corgi_fb_modes[] = {
{
.xres = 480,
.yres = 640,
.left_margin = 0x56,
.right_margin = 0x55,
.upper_margin = 0x03,
.lower_margin = 0x00,
.crtc_ss = 0x82360056,
.crtc_ls = 0xA0280000,
.crtc_gs = 0x80280028,
.crtc_vpos_gs = 0x02830002,
.crtc_rev = 0x00400008,
.crtc_dclk = 0xA0000000,
.crtc_gclk = 0x8015010F,
.crtc_goe = 0x80100110,
.crtc_ps1_active = 0x41060010,
.pll_freq = 75,
.fast_pll_freq = 100,
.sysclk_src = CLK_SRC_PLL,
.sysclk_divider = 0,
.pixclk_src = CLK_SRC_PLL,
.pixclk_divider = 2,
.pixclk_divider_rotated = 6,
},{
.xres = 240,
.yres = 320,
.left_margin = 0x27,
.right_margin = 0x2e,
.upper_margin = 0x01,
.lower_margin = 0x00,
.crtc_ss = 0x81170027,
.crtc_ls = 0xA0140000,
.crtc_gs = 0xC0140014,
.crtc_vpos_gs = 0x00010141,
.crtc_rev = 0x00400008,
.crtc_dclk = 0xA0000000,
.crtc_gclk = 0x8015010F,
.crtc_goe = 0x80100110,
.crtc_ps1_active = 0x41060010,
.pll_freq = 0,
.fast_pll_freq = 0,
.sysclk_src = CLK_SRC_XTAL,
.sysclk_divider = 0,
.pixclk_src = CLK_SRC_XTAL,
.pixclk_divider = 1,
.pixclk_divider_rotated = 1,
},
};
static struct w100fb_mach_info corgi_fb_info = {
.init_mode = INIT_MODE_ROTATED,
.mem = &corgi_fb_mem,
.regs = &corgi_fb_regs,
.modelist = &corgi_fb_modes[0],
.num_modes = 2,
.gpio = &corgi_fb_gpio,
.xtal_freq = 12500000,
.xtal_dbl = 0,
};
static struct resource corgi_fb_resources[] = {
[0] = {
.start = 0x08000000,
.end = 0x08ffffff,
.flags = IORESOURCE_MEM,
},
};
static struct platform_device corgifb_device = {
.name = "w100fb",
.id = -1,
.num_resources = ARRAY_SIZE(corgi_fb_resources),
.resource = corgi_fb_resources,
.dev = {
.platform_data = &corgi_fb_info,
},
};
/*
* Corgi Keyboard Device
*/
static struct platform_device corgikbd_device = {
.name = "corgi-keyboard",
.id = -1,
};
/*
* Corgi LEDs
*/
static struct gpio_led corgi_gpio_leds[] = {
{
.name = "corgi:amber:charge",
.default_trigger = "sharpsl-charge",
.gpio = CORGI_GPIO_LED_ORANGE,
},
{
.name = "corgi:green:mail",
.default_trigger = "nand-disk",
.gpio = CORGI_GPIO_LED_GREEN,
},
};
static struct gpio_led_platform_data corgi_gpio_leds_info = {
.leds = corgi_gpio_leds,
.num_leds = ARRAY_SIZE(corgi_gpio_leds),
};
static struct platform_device corgiled_device = {
.name = "leds-gpio",
.id = -1,
.dev = {
.platform_data = &corgi_gpio_leds_info,
},
};
/*
* MMC/SD Device
*
* The card detect interrupt isn't debounced so we delay it by 250ms
* to give the card a chance to fully insert/eject.
*/
static struct pxamci_platform_data corgi_mci_platform_data;
static int corgi_mci_init(struct device *dev, irq_handler_t corgi_detect_int, void *data)
{
int err;
err = gpio_request(CORGI_GPIO_nSD_DETECT, "nSD_DETECT");
if (err)
goto err_out;
err = gpio_request(CORGI_GPIO_nSD_WP, "nSD_WP");
if (err)
goto err_free_1;
err = gpio_request(CORGI_GPIO_SD_PWR, "SD_PWR");
if (err)
goto err_free_2;
gpio_direction_input(CORGI_GPIO_nSD_DETECT);
gpio_direction_input(CORGI_GPIO_nSD_WP);
gpio_direction_output(CORGI_GPIO_SD_PWR, 0);
corgi_mci_platform_data.detect_delay = msecs_to_jiffies(250);
err = request_irq(CORGI_IRQ_GPIO_nSD_DETECT, corgi_detect_int,
IRQF_DISABLED | IRQF_TRIGGER_RISING |
IRQF_TRIGGER_FALLING,
"MMC card detect", data);
if (err) {
pr_err("%s: MMC/SD: can't request MMC card detect IRQ\n",
__func__);
goto err_free_3;
}
return 0;
err_free_3:
gpio_free(CORGI_GPIO_SD_PWR);
err_free_2:
gpio_free(CORGI_GPIO_nSD_WP);
err_free_1:
gpio_free(CORGI_GPIO_nSD_DETECT);
err_out:
return err;
}
static void corgi_mci_setpower(struct device *dev, unsigned int vdd)
{
struct pxamci_platform_data* p_d = dev->platform_data;
gpio_set_value(CORGI_GPIO_SD_PWR, ((1 << vdd) & p_d->ocr_mask));
}
static int corgi_mci_get_ro(struct device *dev)
{
return gpio_get_value(CORGI_GPIO_nSD_WP);
}
static void corgi_mci_exit(struct device *dev, void *data)
{
free_irq(CORGI_IRQ_GPIO_nSD_DETECT, data);
gpio_free(CORGI_GPIO_SD_PWR);
gpio_free(CORGI_GPIO_nSD_WP);
gpio_free(CORGI_GPIO_nSD_DETECT);
}
static struct pxamci_platform_data corgi_mci_platform_data = {
.ocr_mask = MMC_VDD_32_33|MMC_VDD_33_34,
.init = corgi_mci_init,
.get_ro = corgi_mci_get_ro,
.setpower = corgi_mci_setpower,
.exit = corgi_mci_exit,
};
/*
* Irda
*/
static void corgi_irda_transceiver_mode(struct device *dev, int mode)
{
gpio_set_value(CORGI_GPIO_IR_ON, mode & IR_OFF);
pxa2xx_transceiver_mode(dev, mode);
}
static int corgi_irda_startup(struct device *dev)
{
int err;
err = gpio_request(CORGI_GPIO_IR_ON, "IR_ON");
if (err)
return err;
gpio_direction_output(CORGI_GPIO_IR_ON, 1);
return 0;
}
static void corgi_irda_shutdown(struct device *dev)
{
gpio_free(CORGI_GPIO_IR_ON);
}
static struct pxaficp_platform_data corgi_ficp_platform_data = {
.transceiver_cap = IR_SIRMODE | IR_OFF,
.transceiver_mode = corgi_irda_transceiver_mode,
.startup = corgi_irda_startup,
.shutdown = corgi_irda_shutdown,
};
/*
* USB Device Controller
*/
static struct pxa2xx_udc_mach_info udc_info __initdata = {
/* no connect GPIO; corgi can't tell connection status */
.gpio_pullup = CORGI_GPIO_USB_PULLUP,
};
#if defined(CONFIG_SPI_PXA2XX) || defined(CONFIG_SPI_PXA2XX_MASTER)
static struct pxa2xx_spi_master corgi_spi_info = {
.num_chipselect = 3,
};
static struct ads7846_platform_data corgi_ads7846_info = {
.model = 7846,
.vref_delay_usecs = 100,
.x_plate_ohms = 419,
.y_plate_ohms = 486,
.gpio_pendown = CORGI_GPIO_TP_INT,
};
static void corgi_ads7846_cs(u32 command)
{
gpio_set_value(CORGI_GPIO_ADS7846_CS, !(command == PXA2XX_CS_ASSERT));
}
static struct pxa2xx_spi_chip corgi_ads7846_chip = {
.cs_control = corgi_ads7846_cs,
};
static void corgi_bl_kick_battery(void)
{
void (*kick_batt)(void);
kick_batt = symbol_get(sharpsl_battery_kick);
if (kick_batt) {
kick_batt();
symbol_put(sharpsl_battery_kick);
}
}
static struct corgi_lcd_platform_data corgi_lcdcon_info = {
.init_mode = CORGI_LCD_MODE_VGA,
.max_intensity = 0x2f,
.default_intensity = 0x1f,
.limit_mask = 0x0b,
.gpio_backlight_cont = CORGI_GPIO_BACKLIGHT_CONT,
.gpio_backlight_on = -1,
.kick_battery = corgi_bl_kick_battery,
};
static void corgi_lcdcon_cs(u32 command)
{
gpio_set_value(CORGI_GPIO_LCDCON_CS, !(command == PXA2XX_CS_ASSERT));
}
static struct pxa2xx_spi_chip corgi_lcdcon_chip = {
.cs_control = corgi_lcdcon_cs,
};
static void corgi_max1111_cs(u32 command)
{
gpio_set_value(CORGI_GPIO_MAX1111_CS, !(command == PXA2XX_CS_ASSERT));
}
static struct pxa2xx_spi_chip corgi_max1111_chip = {
.cs_control = corgi_max1111_cs,
};
static struct spi_board_info corgi_spi_devices[] = {
{
.modalias = "ads7846",
.max_speed_hz = 1200000,
.bus_num = 1,
.chip_select = 0,
.platform_data = &corgi_ads7846_info,
.controller_data= &corgi_ads7846_chip,
.irq = gpio_to_irq(CORGI_GPIO_TP_INT),
}, {
.modalias = "corgi-lcd",
.max_speed_hz = 50000,
.bus_num = 1,
.chip_select = 1,
.platform_data = &corgi_lcdcon_info,
.controller_data= &corgi_lcdcon_chip,
}, {
.modalias = "max1111",
.max_speed_hz = 450000,
.bus_num = 1,
.chip_select = 2,
.controller_data= &corgi_max1111_chip,
},
};
static void __init corgi_init_spi(void)
{
int err;
err = gpio_request(CORGI_GPIO_ADS7846_CS, "ADS7846_CS");
if (err)
return;
err = gpio_request(CORGI_GPIO_LCDCON_CS, "LCDCON_CS");
if (err)
goto err_free_1;
err = gpio_request(CORGI_GPIO_MAX1111_CS, "MAX1111_CS");
if (err)
goto err_free_2;
gpio_direction_output(CORGI_GPIO_ADS7846_CS, 1);
gpio_direction_output(CORGI_GPIO_LCDCON_CS, 1);
gpio_direction_output(CORGI_GPIO_MAX1111_CS, 1);
pxa2xx_set_spi_info(1, &corgi_spi_info);
spi_register_board_info(ARRAY_AND_SIZE(corgi_spi_devices));
return;
err_free_2:
gpio_free(CORGI_GPIO_LCDCON_CS);
err_free_1:
gpio_free(CORGI_GPIO_ADS7846_CS);
}
#else
static inline void corgi_init_spi(void) {}
#endif
static struct mtd_partition sharpsl_nand_partitions[] = {
{
.name = "System Area",
.offset = 0,
.size = 7 * 1024 * 1024,
},
{
.name = "Root Filesystem",
.offset = 7 * 1024 * 1024,
.size = 25 * 1024 * 1024,
},
{
.name = "Home Filesystem",
.offset = MTDPART_OFS_APPEND,
.size = MTDPART_SIZ_FULL,
},
};
static uint8_t scan_ff_pattern[] = { 0xff, 0xff };
static struct nand_bbt_descr sharpsl_bbt = {
.options = 0,
.offs = 4,
.len = 2,
.pattern = scan_ff_pattern
};
static struct sharpsl_nand_platform_data sharpsl_nand_platform_data = {
.badblock_pattern = &sharpsl_bbt,
.partitions = sharpsl_nand_partitions,
.nr_partitions = ARRAY_SIZE(sharpsl_nand_partitions),
};
static struct resource sharpsl_nand_resources[] = {
{
.start = 0x0C000000,
.end = 0x0C000FFF,
.flags = IORESOURCE_MEM,
},
};
static struct platform_device sharpsl_nand_device = {
.name = "sharpsl-nand",
.id = -1,
.resource = sharpsl_nand_resources,
.num_resources = ARRAY_SIZE(sharpsl_nand_resources),
.dev.platform_data = &sharpsl_nand_platform_data,
};
static struct mtd_partition sharpsl_rom_parts[] = {
{
.name ="Boot PROM Filesystem",
.offset = 0x00120000,
.size = MTDPART_SIZ_FULL,
},
};
static struct physmap_flash_data sharpsl_rom_data = {
.width = 2,
.nr_parts = ARRAY_SIZE(sharpsl_rom_parts),
.parts = sharpsl_rom_parts,
};
static struct resource sharpsl_rom_resources[] = {
{
.start = 0x00000000,
.end = 0x007fffff,
.flags = IORESOURCE_MEM,
},
};
static struct platform_device sharpsl_rom_device = {
.name = "physmap-flash",
.id = -1,
.resource = sharpsl_rom_resources,
.num_resources = ARRAY_SIZE(sharpsl_rom_resources),
.dev.platform_data = &sharpsl_rom_data,
};
static struct platform_device *devices[] __initdata = {
&corgiscoop_device,
&corgifb_device,
&corgikbd_device,
&corgiled_device,
&sharpsl_nand_device,
&sharpsl_rom_device,
};
static void corgi_poweroff(void)
{
if (!machine_is_corgi())
/* Green LED off tells the bootloader to halt */
gpio_set_value(CORGI_GPIO_LED_GREEN, 0);
arm_machine_restart('h');
}
static void corgi_restart(char mode)
{
if (!machine_is_corgi())
/* Green LED on tells the bootloader to reboot */
gpio_set_value(CORGI_GPIO_LED_GREEN, 1);
arm_machine_restart('h');
}
static void __init corgi_init(void)
{
pm_power_off = corgi_poweroff;
arm_pm_restart = corgi_restart;
/* Stop 3.6MHz and drive HIGH to PCMCIA and CS */
PCFR |= PCFR_OPDE;
pxa2xx_mfp_config(ARRAY_AND_SIZE(corgi_pin_config));
corgi_init_spi();
pxa_set_udc_info(&udc_info);
pxa_set_mci_info(&corgi_mci_platform_data);
pxa_set_ficp_info(&corgi_ficp_platform_data);
pxa_set_i2c_info(NULL);
platform_scoop_config = &corgi_pcmcia_config;
if (machine_is_husky())
sharpsl_nand_partitions[1].size = 53 * 1024 * 1024;
platform_add_devices(devices, ARRAY_SIZE(devices));
}
static void __init fixup_corgi(struct machine_desc *desc,
struct tag *tags, char **cmdline, struct meminfo *mi)
{
sharpsl_save_param();
mi->nr_banks=1;
mi->bank[0].start = 0xa0000000;
mi->bank[0].node = 0;
if (machine_is_corgi())
mi->bank[0].size = (32*1024*1024);
else
mi->bank[0].size = (64*1024*1024);
}
#ifdef CONFIG_MACH_CORGI
MACHINE_START(CORGI, "SHARP Corgi")
.phys_io = 0x40000000,
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.fixup = fixup_corgi,
.map_io = pxa_map_io,
.init_irq = pxa25x_init_irq,
.init_machine = corgi_init,
.timer = &pxa_timer,
MACHINE_END
#endif
#ifdef CONFIG_MACH_SHEPHERD
MACHINE_START(SHEPHERD, "SHARP Shepherd")
.phys_io = 0x40000000,
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.fixup = fixup_corgi,
.map_io = pxa_map_io,
.init_irq = pxa25x_init_irq,
.init_machine = corgi_init,
.timer = &pxa_timer,
MACHINE_END
#endif
#ifdef CONFIG_MACH_HUSKY
MACHINE_START(HUSKY, "SHARP Husky")
.phys_io = 0x40000000,
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.fixup = fixup_corgi,
.map_io = pxa_map_io,
.init_irq = pxa25x_init_irq,
.init_machine = corgi_init,
.timer = &pxa_timer,
MACHINE_END
#endif
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: poodle.c --]
[-- Type: text/x-csrc; name=poodle.c, Size: 12244 bytes --]
/*
* linux/arch/arm/mach-pxa/poodle.c
*
* Support for the SHARP Poodle Board.
*
* Based on:
* linux/arch/arm/mach-pxa/lubbock.c Author: Nicolas Pitre
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* Change Log
* 12-Dec-2002 Sharp Corporation for Poodle
* John Lenz <lenz@cs.wisc.edu> updates to 2.6
*/
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/fb.h>
#include <linux/pm.h>
#include <linux/delay.h>
#include <linux/mtd/physmap.h>
#include <linux/gpio.h>
#include <linux/spi/spi.h>
#include <linux/spi/ads7846.h>
#include <linux/mtd/sharpsl.h>
#include <mach/hardware.h>
#include <asm/mach-types.h>
#include <asm/irq.h>
#include <asm/setup.h>
#include <asm/system.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/irq.h>
#include <mach/pxa-regs.h>
#include <mach/pxa2xx-regs.h>
#include <mach/mfp-pxa25x.h>
#include <mach/mmc.h>
#include <mach/udc.h>
#include <mach/i2c.h>
#include <mach/irda.h>
#include <mach/poodle.h>
#include <mach/pxafb.h>
#include <mach/sharpsl.h>
#include <mach/ssp.h>
#include <mach/pxa2xx_spi.h>
#include <asm/hardware/scoop.h>
#include <asm/hardware/locomo.h>
#include <asm/mach/sharpsl_param.h>
#include "generic.h"
#include "devices.h"
#include "sharpsl.h"
static unsigned long poodle_pin_config[] __initdata = {
/* I/O */
GPIO79_nCS_3,
GPIO80_nCS_4,
GPIO18_RDY,
/* Clock */
GPIO12_32KHz,
/* SSP1 */
GPIO23_SSP1_SCLK,
GPIO25_SSP1_TXD,
GPIO26_SSP1_RXD,
GPIO24_GPIO, /* POODLE_GPIO_TP_CS - SFRM as chip select */
/* I2S */
GPIO28_I2S_BITCLK_OUT,
GPIO29_I2S_SDATA_IN,
GPIO30_I2S_SDATA_OUT,
GPIO31_I2S_SYNC,
GPIO32_I2S_SYSCLK,
/* Infra-Red */
GPIO47_FICP_TXD,
GPIO46_FICP_RXD,
/* FFUART */
GPIO40_FFUART_DTR,
GPIO41_FFUART_RTS,
GPIO39_FFUART_TXD,
GPIO37_FFUART_DSR,
GPIO34_FFUART_RXD,
GPIO35_FFUART_CTS,
/* LCD */
GPIO58_LCD_LDD_0,
GPIO59_LCD_LDD_1,
GPIO60_LCD_LDD_2,
GPIO61_LCD_LDD_3,
GPIO62_LCD_LDD_4,
GPIO63_LCD_LDD_5,
GPIO64_LCD_LDD_6,
GPIO65_LCD_LDD_7,
GPIO66_LCD_LDD_8,
GPIO67_LCD_LDD_9,
GPIO68_LCD_LDD_10,
GPIO69_LCD_LDD_11,
GPIO70_LCD_LDD_12,
GPIO71_LCD_LDD_13,
GPIO72_LCD_LDD_14,
GPIO73_LCD_LDD_15,
GPIO74_LCD_FCLK,
GPIO75_LCD_LCLK,
GPIO76_LCD_PCLK,
GPIO77_LCD_BIAS,
/* PC Card */
GPIO48_nPOE,
GPIO49_nPWE,
GPIO50_nPIOR,
GPIO51_nPIOW,
GPIO52_nPCE_1,
GPIO53_nPCE_2,
GPIO54_nPSKTSEL,
GPIO55_nPREG,
GPIO56_nPWAIT,
GPIO57_nIOIS16,
/* MMC */
GPIO6_MMC_CLK,
GPIO8_MMC_CS0,
/* GPIO */
GPIO9_GPIO, /* POODLE_GPIO_nSD_DETECT */
GPIO7_GPIO, /* POODLE_GPIO_nSD_WP */
GPIO3_GPIO, /* POODLE_GPIO_SD_PWR */
GPIO33_GPIO, /* POODLE_GPIO_SD_PWR1 */
GPIO20_GPIO, /* POODLE_GPIO_USB_PULLUP */
GPIO22_GPIO, /* POODLE_GPIO_IR_ON */
};
static struct resource poodle_scoop_resources[] = {
[0] = {
.start = 0x10800000,
.end = 0x10800fff,
.flags = IORESOURCE_MEM,
},
};
static struct scoop_config poodle_scoop_setup = {
.io_dir = POODLE_SCOOP_IO_DIR,
.io_out = POODLE_SCOOP_IO_OUT,
.gpio_base = POODLE_SCOOP_GPIO_BASE,
};
struct platform_device poodle_scoop_device = {
.name = "sharp-scoop",
.id = -1,
.dev = {
.platform_data = &poodle_scoop_setup,
},
.num_resources = ARRAY_SIZE(poodle_scoop_resources),
.resource = poodle_scoop_resources,
};
static struct scoop_pcmcia_dev poodle_pcmcia_scoop[] = {
{
.dev = &poodle_scoop_device.dev,
.irq = POODLE_IRQ_GPIO_CF_IRQ,
.cd_irq = POODLE_IRQ_GPIO_CF_CD,
.cd_irq_str = "PCMCIA0 CD",
},
};
static struct scoop_pcmcia_config poodle_pcmcia_config = {
.devs = &poodle_pcmcia_scoop[0],
.num_devs = 1,
};
EXPORT_SYMBOL(poodle_scoop_device);
/* LoCoMo device */
static struct resource locomo_resources[] = {
[0] = {
.start = 0x10000000,
.end = 0x10001fff,
.flags = IORESOURCE_MEM,
},
[1] = {
.start = IRQ_GPIO(10),
.end = IRQ_GPIO(10),
.flags = IORESOURCE_IRQ,
},
};
struct platform_device poodle_locomo_device = {
.name = "locomo",
.id = 0,
.num_resources = ARRAY_SIZE(locomo_resources),
.resource = locomo_resources,
};
EXPORT_SYMBOL(poodle_locomo_device);
#if defined(CONFIG_SPI_PXA2XX) || defined(CONFIG_SPI_PXA2XX_MODULE)
static struct pxa2xx_spi_master poodle_spi_info = {
.num_chipselect = 1,
};
static struct ads7846_platform_data poodle_ads7846_info = {
.model = 7846,
.vref_delay_usecs = 100,
.x_plate_ohms = 419,
.y_plate_ohms = 486,
.gpio_pendown = POODLE_GPIO_TP_INT,
};
static void ads7846_cs(u32 command)
{
gpio_set_value(POODLE_GPIO_TP_CS, !(command == PXA2XX_CS_ASSERT));
}
static struct pxa2xx_spi_chip poodle_ads7846_chip = {
.cs_control = ads7846_cs,
};
static struct spi_board_info poodle_spi_devices[] = {
{
.modalias = "ads7846",
.max_speed_hz = 10000,
.bus_num = 1,
.platform_data = &poodle_ads7846_info,
.controller_data= &poodle_ads7846_chip,
.irq = gpio_to_irq(POODLE_GPIO_TP_INT),
},
};
static void __init poodle_init_spi(void)
{
int err;
err = gpio_request(POODLE_GPIO_TP_CS, "ADS7846_CS");
if (err)
return;
gpio_direction_output(POODLE_GPIO_TP_CS, 1);
pxa2xx_set_spi_info(1, &poodle_spi_info);
spi_register_board_info(ARRAY_AND_SIZE(poodle_spi_devices));
}
#else
static inline void poodle_init_spi(void) {}
#endif
/*
* MMC/SD Device
*
* The card detect interrupt isn't debounced so we delay it by 250ms
* to give the card a chance to fully insert/eject.
*/
static struct pxamci_platform_data poodle_mci_platform_data;
static int poodle_mci_init(struct device *dev, irq_handler_t poodle_detect_int, void *data)
{
int err;
err = gpio_request(POODLE_GPIO_nSD_DETECT, "nSD_DETECT");
if (err)
goto err_out;
err = gpio_request(POODLE_GPIO_nSD_WP, "nSD_WP");
if (err)
goto err_free_1;
err = gpio_request(POODLE_GPIO_SD_PWR, "SD_PWR");
if (err)
goto err_free_2;
err = gpio_request(POODLE_GPIO_SD_PWR1, "SD_PWR1");
if (err)
goto err_free_3;
gpio_direction_input(POODLE_GPIO_nSD_DETECT);
gpio_direction_input(POODLE_GPIO_nSD_WP);
gpio_direction_output(POODLE_GPIO_SD_PWR, 0);
gpio_direction_output(POODLE_GPIO_SD_PWR1, 0);
poodle_mci_platform_data.detect_delay = msecs_to_jiffies(250);
err = request_irq(POODLE_IRQ_GPIO_nSD_DETECT, poodle_detect_int,
IRQF_DISABLED | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
"MMC card detect", data);
if (err) {
pr_err("%s: MMC/SD: can't request MMC card detect IRQ\n",
__func__);
goto err_free_4;
}
return 0;
err_free_4:
gpio_free(POODLE_GPIO_SD_PWR1);
err_free_3:
gpio_free(POODLE_GPIO_SD_PWR);
err_free_2:
gpio_free(POODLE_GPIO_nSD_WP);
err_free_1:
gpio_free(POODLE_GPIO_nSD_DETECT);
err_out:
return err;
}
static void poodle_mci_setpower(struct device *dev, unsigned int vdd)
{
struct pxamci_platform_data* p_d = dev->platform_data;
if ((1 << vdd) & p_d->ocr_mask) {
gpio_set_value(POODLE_GPIO_SD_PWR, 1);
mdelay(2);
gpio_set_value(POODLE_GPIO_SD_PWR1, 1);
} else {
gpio_set_value(POODLE_GPIO_SD_PWR1, 0);
gpio_set_value(POODLE_GPIO_SD_PWR, 0);
}
}
static int poodle_mci_get_ro(struct device *dev)
{
return !!gpio_get_value(POODLE_GPIO_nSD_WP);
return GPLR(POODLE_GPIO_nSD_WP) & GPIO_bit(POODLE_GPIO_nSD_WP);
}
static void poodle_mci_exit(struct device *dev, void *data)
{
free_irq(POODLE_IRQ_GPIO_nSD_DETECT, data);
gpio_free(POODLE_GPIO_SD_PWR1);
gpio_free(POODLE_GPIO_SD_PWR);
gpio_free(POODLE_GPIO_nSD_WP);
gpio_free(POODLE_GPIO_nSD_DETECT);
}
static struct pxamci_platform_data poodle_mci_platform_data = {
.ocr_mask = MMC_VDD_32_33|MMC_VDD_33_34,
.init = poodle_mci_init,
.get_ro = poodle_mci_get_ro,
.setpower = poodle_mci_setpower,
.exit = poodle_mci_exit,
};
/*
* Irda
*/
static void poodle_irda_transceiver_mode(struct device *dev, int mode)
{
gpio_set_value(POODLE_GPIO_IR_ON, mode & IR_OFF);
pxa2xx_transceiver_mode(dev, mode);
}
static int poodle_irda_startup(struct device *dev)
{
int err;
err = gpio_request(POODLE_GPIO_IR_ON, "IR_ON");
if (err)
return err;
gpio_direction_output(POODLE_GPIO_IR_ON, 1);
return 0;
}
static void poodle_irda_shutdown(struct device *dev)
{
gpio_free(POODLE_GPIO_IR_ON);
}
static struct pxaficp_platform_data poodle_ficp_platform_data = {
.transceiver_cap = IR_SIRMODE | IR_OFF,
.transceiver_mode = poodle_irda_transceiver_mode,
.startup = poodle_irda_startup,
.shutdown = poodle_irda_shutdown,
};
/*
* USB Device Controller
*/
static struct pxa2xx_udc_mach_info udc_info __initdata = {
/* no connect GPIO; poodle can't tell connection status */
.gpio_pullup = POODLE_GPIO_USB_PULLUP,
};
/* PXAFB device */
static struct pxafb_mode_info poodle_fb_mode = {
.pixclock = 144700,
.xres = 320,
.yres = 240,
.bpp = 16,
.hsync_len = 7,
.left_margin = 11,
.right_margin = 30,
.vsync_len = 2,
.upper_margin = 2,
.lower_margin = 0,
.sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
};
static struct pxafb_mach_info poodle_fb_info = {
.modes = &poodle_fb_mode,
.num_modes = 1,
.lcd_conn = LCD_COLOR_TFT_16BPP,
};
static struct mtd_partition sharpsl_nand_partitions[] = {
{
.name = "System Area",
.offset = 0,
.size = 7 * 1024 * 1024,
},
{
.name = "Root Filesystem",
.offset = 7 * 1024 * 1024,
.size = 22 * 1024 * 1024,
},
{
.name = "Home Filesystem",
.offset = MTDPART_OFS_APPEND,
.size = MTDPART_SIZ_FULL,
},
};
static uint8_t scan_ff_pattern[] = { 0xff, 0xff };
static struct nand_bbt_descr sharpsl_bbt = {
.options = 0,
.offs = 4,
.len = 2,
.pattern = scan_ff_pattern
};
static struct sharpsl_nand_platform_data sharpsl_nand_platform_data = {
.badblock_pattern = &sharpsl_bbt,
.partitions = sharpsl_nand_partitions,
.nr_partitions = ARRAY_SIZE(sharpsl_nand_partitions),
};
static struct resource sharpsl_nand_resources[] = {
{
.start = 0x0C000000,
.end = 0x0C000FFF,
.flags = IORESOURCE_MEM,
},
};
static struct platform_device sharpsl_nand_device = {
.name = "sharpsl-nand",
.id = -1,
.resource = sharpsl_nand_resources,
.num_resources = ARRAY_SIZE(sharpsl_nand_resources),
.dev.platform_data = &sharpsl_nand_platform_data,
};
static struct mtd_partition sharpsl_rom_parts[] = {
{
.name ="Boot PROM Filesystem",
.offset = 0x00120000,
.size = MTDPART_SIZ_FULL,
},
};
static struct physmap_flash_data sharpsl_rom_data = {
.width = 2,
.nr_parts = ARRAY_SIZE(sharpsl_rom_parts),
.parts = sharpsl_rom_parts,
};
static struct resource sharpsl_rom_resources[] = {
{
.start = 0x00000000,
.end = 0x007fffff,
.flags = IORESOURCE_MEM,
},
};
static struct platform_device sharpsl_rom_device = {
.name = "physmap-flash",
.id = -1,
.resource = sharpsl_rom_resources,
.num_resources = ARRAY_SIZE(sharpsl_rom_resources),
.dev.platform_data = &sharpsl_rom_data,
};
static struct platform_device *devices[] __initdata = {
&poodle_locomo_device,
&poodle_scoop_device,
&sharpsl_nand_device,
&sharpsl_rom_device,
};
static void poodle_poweroff(void)
{
arm_machine_restart('h');
}
static void poodle_restart(char mode)
{
arm_machine_restart('h');
}
static void __init poodle_init(void)
{
int ret = 0;
pm_power_off = poodle_poweroff;
arm_pm_restart = poodle_restart;
PCFR |= PCFR_OPDE;
pxa2xx_mfp_config(ARRAY_AND_SIZE(poodle_pin_config));
platform_scoop_config = &poodle_pcmcia_config;
ret = platform_add_devices(devices, ARRAY_SIZE(devices));
if (ret)
pr_warning("poodle: Unable to register LoCoMo device\n");
set_pxa_fb_parent(&poodle_locomo_device.dev);
set_pxa_fb_info(&poodle_fb_info);
pxa_set_udc_info(&udc_info);
pxa_set_mci_info(&poodle_mci_platform_data);
pxa_set_ficp_info(&poodle_ficp_platform_data);
pxa_set_i2c_info(NULL);
poodle_init_spi();
}
static void __init fixup_poodle(struct machine_desc *desc,
struct tag *tags, char **cmdline, struct meminfo *mi)
{
sharpsl_save_param();
mi->nr_banks=1;
mi->bank[0].start = 0xa0000000;
mi->bank[0].node = 0;
mi->bank[0].size = (32*1024*1024);
}
MACHINE_START(POODLE, "SHARP Poodle")
.phys_io = 0x40000000,
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.fixup = fixup_poodle,
.map_io = pxa_map_io,
.init_irq = pxa25x_init_irq,
.timer = &pxa_timer,
.init_machine = poodle_init,
MACHINE_END
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #4: spitz.c --]
[-- Type: text/x-csrc; name=spitz.c, Size: 19323 bytes --]
/*
* Support for Sharp SL-Cxx00 Series of PDAs
* Models: SL-C3000 (Spitz), SL-C1000 (Akita) and SL-C3100 (Borzoi)
*
* Copyright (c) 2005 Richard Purdie
*
* Based on Sharp's 2.4 kernel patches/lubbock.c
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
*/
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/delay.h>
#include <linux/major.h>
#include <linux/fs.h>
#include <linux/interrupt.h>
#include <linux/gpio.h>
#include <linux/leds.h>
#include <linux/mmc/host.h>
#include <linux/mtd/physmap.h>
#include <linux/pm.h>
#include <linux/backlight.h>
#include <linux/io.h>
#include <linux/i2c.h>
#include <linux/i2c/pca953x.h>
#include <linux/spi/spi.h>
#include <linux/spi/ads7846.h>
#include <linux/spi/corgi_lcd.h>
#include <linux/mtd/sharpsl.h>
#include <asm/setup.h>
#include <asm/memory.h>
#include <asm/mach-types.h>
#include <mach/hardware.h>
#include <asm/irq.h>
#include <asm/system.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/irq.h>
#include <mach/pxa-regs.h>
#include <mach/pxa2xx-regs.h>
#include <mach/mfp-pxa27x.h>
#include <mach/pxa27x-udc.h>
#include <mach/reset.h>
#include <mach/i2c.h>
#include <mach/irda.h>
#include <mach/mmc.h>
#include <mach/ohci.h>
#include <mach/udc.h>
#include <mach/pxafb.h>
#include <mach/pxa2xx_spi.h>
#include <mach/spitz.h>
#include <mach/sharpsl.h>
#include <asm/mach/sharpsl_param.h>
#include <asm/hardware/scoop.h>
#include "generic.h"
#include "devices.h"
#include "sharpsl.h"
static unsigned long spitz_pin_config[] __initdata = {
/* Chip Selects */
GPIO78_nCS_2, /* SCOOP #2 */
GPIO79_nCS_3, /* NAND */
GPIO80_nCS_4, /* SCOOP #1 */
/* LCD - 16bpp Active TFT */
GPIO58_LCD_LDD_0,
GPIO59_LCD_LDD_1,
GPIO60_LCD_LDD_2,
GPIO61_LCD_LDD_3,
GPIO62_LCD_LDD_4,
GPIO63_LCD_LDD_5,
GPIO64_LCD_LDD_6,
GPIO65_LCD_LDD_7,
GPIO66_LCD_LDD_8,
GPIO67_LCD_LDD_9,
GPIO68_LCD_LDD_10,
GPIO69_LCD_LDD_11,
GPIO70_LCD_LDD_12,
GPIO71_LCD_LDD_13,
GPIO72_LCD_LDD_14,
GPIO73_LCD_LDD_15,
GPIO74_LCD_FCLK,
GPIO75_LCD_LCLK,
GPIO76_LCD_PCLK,
/* PC Card */
GPIO48_nPOE,
GPIO49_nPWE,
GPIO50_nPIOR,
GPIO51_nPIOW,
GPIO85_nPCE_1,
GPIO54_nPCE_2,
GPIO55_nPREG,
GPIO56_nPWAIT,
GPIO57_nIOIS16,
GPIO104_PSKTSEL,
/* MMC */
GPIO32_MMC_CLK,
GPIO112_MMC_CMD,
GPIO92_MMC_DAT_0,
GPIO109_MMC_DAT_1,
GPIO110_MMC_DAT_2,
GPIO111_MMC_DAT_3,
/* GPIOs */
GPIO9_GPIO, /* SPITZ_GPIO_nSD_DETECT */
GPIO81_GPIO, /* SPITZ_GPIO_nSD_WP */
GPIO41_GPIO, /* SPITZ_GPIO_USB_CONNECT */
GPIO37_GPIO, /* SPITZ_GPIO_USB_HOST */
GPIO35_GPIO, /* SPITZ_GPIO_USB_DEVICE */
GPIO22_GPIO, /* SPITZ_GPIO_HSYNC */
GPIO94_GPIO, /* SPITZ_GPIO_CF_CD */
GPIO105_GPIO, /* SPITZ_GPIO_CF_IRQ */
GPIO106_GPIO, /* SPITZ_GPIO_CF2_IRQ */
/* I2C */
GPIO117_I2C_SCL,
GPIO118_I2C_SDA,
GPIO1_GPIO | WAKEUP_ON_EDGE_RISE,
};
/*
* Spitz SCOOP Device #1
*/
static struct resource spitz_scoop_resources[] = {
[0] = {
.start = 0x10800000,
.end = 0x10800fff,
.flags = IORESOURCE_MEM,
},
};
static struct scoop_config spitz_scoop_setup = {
.io_dir = SPITZ_SCP_IO_DIR,
.io_out = SPITZ_SCP_IO_OUT,
.suspend_clr = SPITZ_SCP_SUS_CLR,
.suspend_set = SPITZ_SCP_SUS_SET,
.gpio_base = SPITZ_SCP_GPIO_BASE,
};
struct platform_device spitzscoop_device = {
.name = "sharp-scoop",
.id = 0,
.dev = {
.platform_data = &spitz_scoop_setup,
},
.num_resources = ARRAY_SIZE(spitz_scoop_resources),
.resource = spitz_scoop_resources,
};
/*
* Spitz SCOOP Device #2
*/
static struct resource spitz_scoop2_resources[] = {
[0] = {
.start = 0x08800040,
.end = 0x08800fff,
.flags = IORESOURCE_MEM,
},
};
static struct scoop_config spitz_scoop2_setup = {
.io_dir = SPITZ_SCP2_IO_DIR,
.io_out = SPITZ_SCP2_IO_OUT,
.suspend_clr = SPITZ_SCP2_SUS_CLR,
.suspend_set = SPITZ_SCP2_SUS_SET,
.gpio_base = SPITZ_SCP2_GPIO_BASE,
};
struct platform_device spitzscoop2_device = {
.name = "sharp-scoop",
.id = 1,
.dev = {
.platform_data = &spitz_scoop2_setup,
},
.num_resources = ARRAY_SIZE(spitz_scoop2_resources),
.resource = spitz_scoop2_resources,
};
#define SPITZ_PWR_SD 0x01
#define SPITZ_PWR_CF 0x02
/* Power control is shared with between one of the CF slots and SD */
static void spitz_card_pwr_ctrl(int device, unsigned short new_cpr)
{
unsigned short cpr = read_scoop_reg(&spitzscoop_device.dev, SCOOP_CPR);
if (new_cpr & 0x0007) {
gpio_set_value(SPITZ_GPIO_CF_POWER, 1);
if (!(cpr & 0x0002) && !(cpr & 0x0004))
mdelay(5);
if (device == SPITZ_PWR_CF)
cpr |= 0x0002;
if (device == SPITZ_PWR_SD)
cpr |= 0x0004;
write_scoop_reg(&spitzscoop_device.dev, SCOOP_CPR, cpr | new_cpr);
} else {
if (device == SPITZ_PWR_CF)
cpr &= ~0x0002;
if (device == SPITZ_PWR_SD)
cpr &= ~0x0004;
if (!(cpr & 0x0002) && !(cpr & 0x0004)) {
write_scoop_reg(&spitzscoop_device.dev, SCOOP_CPR, 0x0000);
mdelay(1);
gpio_set_value(SPITZ_GPIO_CF_POWER, 0);
} else {
write_scoop_reg(&spitzscoop_device.dev, SCOOP_CPR, cpr | new_cpr);
}
}
}
static void spitz_pcmcia_pwr(struct device *scoop, unsigned short cpr, int nr)
{
/* Only need to override behaviour for slot 0 */
if (nr == 0)
spitz_card_pwr_ctrl(SPITZ_PWR_CF, cpr);
else
write_scoop_reg(scoop, SCOOP_CPR, cpr);
}
static struct scoop_pcmcia_dev spitz_pcmcia_scoop[] = {
{
.dev = &spitzscoop_device.dev,
.irq = SPITZ_IRQ_GPIO_CF_IRQ,
.cd_irq = SPITZ_IRQ_GPIO_CF_CD,
.cd_irq_str = "PCMCIA0 CD",
},{
.dev = &spitzscoop2_device.dev,
.irq = SPITZ_IRQ_GPIO_CF2_IRQ,
.cd_irq = -1,
},
};
static struct scoop_pcmcia_config spitz_pcmcia_config = {
.devs = &spitz_pcmcia_scoop[0],
.num_devs = 2,
.power_ctrl = spitz_pcmcia_pwr,
};
EXPORT_SYMBOL(spitzscoop_device);
EXPORT_SYMBOL(spitzscoop2_device);
/*
* Spitz Keyboard Device
*/
static struct platform_device spitzkbd_device = {
.name = "spitz-keyboard",
.id = -1,
};
/*
* Spitz LEDs
*/
static struct gpio_led spitz_gpio_leds[] = {
{
.name = "spitz:amber:charge",
.default_trigger = "sharpsl-charge",
.gpio = SPITZ_GPIO_LED_ORANGE,
},
{
.name = "spitz:green:hddactivity",
.default_trigger = "ide-disk",
.gpio = SPITZ_GPIO_LED_GREEN,
},
};
static struct gpio_led_platform_data spitz_gpio_leds_info = {
.leds = spitz_gpio_leds,
.num_leds = ARRAY_SIZE(spitz_gpio_leds),
};
static struct platform_device spitzled_device = {
.name = "leds-gpio",
.id = -1,
.dev = {
.platform_data = &spitz_gpio_leds_info,
},
};
#if defined(CONFIG_SPI_PXA2XX) || defined(CONFIG_SPI_PXA2XX_MODULE)
static struct pxa2xx_spi_master spitz_spi_info = {
.num_chipselect = 3,
};
static struct ads7846_platform_data spitz_ads7846_info = {
.model = 7846,
.vref_delay_usecs = 100,
.x_plate_ohms = 419,
.y_plate_ohms = 486,
.gpio_pendown = SPITZ_GPIO_TP_INT,
};
static void spitz_ads7846_cs(u32 command)
{
gpio_set_value(SPITZ_GPIO_ADS7846_CS, !(command == PXA2XX_CS_ASSERT));
}
static struct pxa2xx_spi_chip spitz_ads7846_chip = {
.cs_control = spitz_ads7846_cs,
};
static void spitz_bl_kick_battery(void)
{
void (*kick_batt)(void);
kick_batt = symbol_get(sharpsl_battery_kick);
if (kick_batt) {
kick_batt();
symbol_put(sharpsl_battery_kick);
}
}
static struct corgi_lcd_platform_data spitz_lcdcon_info = {
.init_mode = CORGI_LCD_MODE_VGA,
.max_intensity = 0x2f,
.default_intensity = 0x1f,
.limit_mask = 0x0b,
.gpio_backlight_cont = SPITZ_GPIO_BACKLIGHT_CONT,
.gpio_backlight_on = SPITZ_GPIO_BACKLIGHT_ON,
.kick_battery = spitz_bl_kick_battery,
};
static void spitz_lcdcon_cs(u32 command)
{
gpio_set_value(SPITZ_GPIO_LCDCON_CS, !(command == PXA2XX_CS_ASSERT));
}
static struct pxa2xx_spi_chip spitz_lcdcon_chip = {
.cs_control = spitz_lcdcon_cs,
};
static void spitz_max1111_cs(u32 command)
{
gpio_set_value(SPITZ_GPIO_MAX1111_CS, !(command == PXA2XX_CS_ASSERT));
}
static struct pxa2xx_spi_chip spitz_max1111_chip = {
.cs_control = spitz_max1111_cs,
};
static struct spi_board_info spitz_spi_devices[] = {
{
.modalias = "ads7846",
.max_speed_hz = 1200000,
.bus_num = 2,
.chip_select = 0,
.platform_data = &spitz_ads7846_info,
.controller_data= &spitz_ads7846_chip,
.irq = gpio_to_irq(SPITZ_GPIO_TP_INT),
}, {
.modalias = "corgi-lcd",
.max_speed_hz = 50000,
.bus_num = 2,
.chip_select = 1,
.platform_data = &spitz_lcdcon_info,
.controller_data= &spitz_lcdcon_chip,
}, {
.modalias = "max1111",
.max_speed_hz = 450000,
.bus_num = 2,
.chip_select = 2,
.controller_data= &spitz_max1111_chip,
},
};
static void __init spitz_init_spi(void)
{
int err;
err = gpio_request(SPITZ_GPIO_ADS7846_CS, "ADS7846_CS");
if (err)
return;
err = gpio_request(SPITZ_GPIO_LCDCON_CS, "LCDCON_CS");
if (err)
goto err_free_1;
err = gpio_request(SPITZ_GPIO_MAX1111_CS, "MAX1111_CS");
if (err)
goto err_free_2;
err = gpio_direction_output(SPITZ_GPIO_ADS7846_CS, 1);
if (err)
goto err_free_3;
err = gpio_direction_output(SPITZ_GPIO_LCDCON_CS, 1);
if (err)
goto err_free_3;
err = gpio_direction_output(SPITZ_GPIO_MAX1111_CS, 1);
if (err)
goto err_free_3;
if (machine_is_akita()) {
spitz_lcdcon_info.gpio_backlight_cont = AKITA_GPIO_BACKLIGHT_CONT;
spitz_lcdcon_info.gpio_backlight_on = AKITA_GPIO_BACKLIGHT_ON;
}
pxa2xx_set_spi_info(2, &spitz_spi_info);
spi_register_board_info(ARRAY_AND_SIZE(spitz_spi_devices));
return;
err_free_3:
gpio_free(SPITZ_GPIO_MAX1111_CS);
err_free_2:
gpio_free(SPITZ_GPIO_LCDCON_CS);
err_free_1:
gpio_free(SPITZ_GPIO_ADS7846_CS);
}
#else
static inline void spitz_init_spi(void) {}
#endif
/*
* MMC/SD Device
*
* The card detect interrupt isn't debounced so we delay it by 250ms
* to give the card a chance to fully insert/eject.
*/
static struct pxamci_platform_data spitz_mci_platform_data;
static int spitz_mci_init(struct device *dev, irq_handler_t spitz_detect_int, void *data)
{
int err;
err = gpio_request(SPITZ_GPIO_nSD_DETECT, "nSD_DETECT");
if (err)
goto err_out;
err = gpio_request(SPITZ_GPIO_nSD_WP, "nSD_WP");
if (err)
goto err_free_1;
gpio_direction_input(SPITZ_GPIO_nSD_DETECT);
gpio_direction_input(SPITZ_GPIO_nSD_WP);
spitz_mci_platform_data.detect_delay = msecs_to_jiffies(250);
err = request_irq(SPITZ_IRQ_GPIO_nSD_DETECT, spitz_detect_int,
IRQF_DISABLED | IRQF_TRIGGER_RISING |
IRQF_TRIGGER_FALLING,
"MMC card detect", data);
if (err) {
pr_err("%s: MMC/SD: can't request MMC card detect IRQ\n",
__func__);
goto err_free_2;
}
return 0;
err_free_2:
gpio_free(SPITZ_GPIO_nSD_WP);
err_free_1:
gpio_free(SPITZ_GPIO_nSD_DETECT);
err_out:
return err;
}
static void spitz_mci_setpower(struct device *dev, unsigned int vdd)
{
struct pxamci_platform_data* p_d = dev->platform_data;
if (( 1 << vdd) & p_d->ocr_mask)
spitz_card_pwr_ctrl(SPITZ_PWR_SD, 0x0004);
else
spitz_card_pwr_ctrl(SPITZ_PWR_SD, 0x0000);
}
static int spitz_mci_get_ro(struct device *dev)
{
return gpio_get_value(SPITZ_GPIO_nSD_WP);
}
static void spitz_mci_exit(struct device *dev, void *data)
{
free_irq(SPITZ_IRQ_GPIO_nSD_DETECT, data);
gpio_free(SPITZ_GPIO_nSD_WP);
gpio_free(SPITZ_GPIO_nSD_DETECT);
}
static struct pxamci_platform_data spitz_mci_platform_data = {
.ocr_mask = MMC_VDD_32_33|MMC_VDD_33_34,
.init = spitz_mci_init,
.get_ro = spitz_mci_get_ro,
.setpower = spitz_mci_setpower,
.exit = spitz_mci_exit,
};
/*
* USB Host (OHCI)
*/
static int spitz_ohci_init(struct device *dev)
{
int err;
err = gpio_request(SPITZ_GPIO_USB_HOST, "USB_HOST");
if (err)
return err;
/* Only Port 2 is connected
* Setup USB Port 2 Output Control Register
*/
UP2OCR = UP2OCR_HXS | UP2OCR_HXOE | UP2OCR_DPPDE | UP2OCR_DMPDE;
return gpio_direction_output(SPITZ_GPIO_USB_HOST, 1);
}
static struct pxaohci_platform_data spitz_ohci_platform_data = {
.port_mode = PMM_NPS_MODE,
.init = spitz_ohci_init,
.flags = ENABLE_PORT_ALL | NO_OC_PROTECTION,
.power_budget = 150,
};
/*
* Irda
*/
static int spitz_irda_startup(struct device *dev)
{
int rc;
rc = gpio_request(SPITZ_GPIO_IR_ON, "IrDA on");
if (rc)
goto err;
rc = gpio_direction_output(SPITZ_GPIO_IR_ON, 1);
if (rc)
goto err_dir;
return 0;
err_dir:
gpio_free(SPITZ_GPIO_IR_ON);
err:
return rc;
}
static void spitz_irda_shutdown(struct device *dev)
{
gpio_free(SPITZ_GPIO_IR_ON);
}
static void spitz_irda_transceiver_mode(struct device *dev, int mode)
{
gpio_set_value(SPITZ_GPIO_IR_ON, mode & IR_OFF);
pxa2xx_transceiver_mode(dev, mode);
}
#ifdef CONFIG_MACH_AKITA
static void akita_irda_transceiver_mode(struct device *dev, int mode)
{
gpio_set_value(AKITA_GPIO_IR_ON, mode & IR_OFF);
pxa2xx_transceiver_mode(dev, mode);
}
#endif
static struct pxaficp_platform_data spitz_ficp_platform_data = {
.transceiver_cap = IR_SIRMODE | IR_OFF,
.transceiver_mode = spitz_irda_transceiver_mode,
.startup = spitz_irda_startup,
.shutdown = spitz_irda_shutdown,
};
/*
* Spitz PXA Framebuffer
*/
static struct pxafb_mode_info spitz_pxafb_modes[] = {
{
.pixclock = 19231,
.xres = 480,
.yres = 640,
.bpp = 16,
.hsync_len = 40,
.left_margin = 46,
.right_margin = 125,
.vsync_len = 3,
.upper_margin = 1,
.lower_margin = 0,
.sync = 0,
},{
.pixclock = 134617,
.xres = 240,
.yres = 320,
.bpp = 16,
.hsync_len = 20,
.left_margin = 20,
.right_margin = 46,
.vsync_len = 2,
.upper_margin = 1,
.lower_margin = 0,
.sync = 0,
},
};
static struct pxafb_mach_info spitz_pxafb_info = {
.modes = &spitz_pxafb_modes[0],
.num_modes = 2,
.fixed_modes = 1,
.lcd_conn = LCD_COLOR_TFT_16BPP | LCD_ALTERNATE_MAPPING,
};
static struct mtd_partition sharpsl_nand_partitions[] = {
{
.name = "System Area",
.offset = 0,
.size = 7 * 1024 * 1024,
},
{
.name = "Root Filesystem",
.offset = 7 * 1024 * 1024,
},
{
.name = "Home Filesystem",
.offset = MTDPART_OFS_APPEND,
.size = MTDPART_SIZ_FULL,
},
};
static uint8_t scan_ff_pattern[] = { 0xff, 0xff };
static struct nand_bbt_descr sharpsl_bbt = {
.options = 0,
.offs = 4,
.len = 2,
.pattern = scan_ff_pattern
};
static struct sharpsl_nand_platform_data sharpsl_nand_platform_data = {
.badblock_pattern = &sharpsl_bbt,
.partitions = sharpsl_nand_partitions,
.nr_partitions = ARRAY_SIZE(sharpsl_nand_partitions),
};
static struct resource sharpsl_nand_resources[] = {
{
.start = 0x0C000000,
.end = 0x0C000FFF,
.flags = IORESOURCE_MEM,
},
};
static struct platform_device sharpsl_nand_device = {
.name = "sharpsl-nand",
.id = -1,
.resource = sharpsl_nand_resources,
.num_resources = ARRAY_SIZE(sharpsl_nand_resources),
.dev.platform_data = &sharpsl_nand_platform_data,
};
static struct mtd_partition sharpsl_rom_parts[] = {
{
.name ="Boot PROM Filesystem",
.offset = 0x00140000,
.size = MTDPART_SIZ_FULL,
},
};
static struct physmap_flash_data sharpsl_rom_data = {
.width = 2,
.nr_parts = ARRAY_SIZE(sharpsl_rom_parts),
.parts = sharpsl_rom_parts,
};
static struct resource sharpsl_rom_resources[] = {
{
.start = 0x00000000,
.end = 0x007fffff,
.flags = IORESOURCE_MEM,
},
};
static struct platform_device sharpsl_rom_device = {
.name = "physmap-flash",
.id = -1,
.resource = sharpsl_rom_resources,
.num_resources = ARRAY_SIZE(sharpsl_rom_resources),
.dev.platform_data = &sharpsl_rom_data,
};
static struct platform_device *devices[] __initdata = {
&spitzscoop_device,
&spitzkbd_device,
&spitzled_device,
&sharpsl_nand_device,
&sharpsl_rom_device,
};
static void spitz_poweroff(void)
{
arm_machine_restart('g');
}
static void spitz_restart(char mode)
{
/* Bootloader magic for a reboot */
if((MSC0 & 0xffff0000) == 0x7ff00000)
MSC0 = (MSC0 & 0xffff) | 0x7ee00000;
spitz_poweroff();
}
static void __init common_init(void)
{
init_gpio_reset(SPITZ_GPIO_ON_RESET, 1);
pm_power_off = spitz_poweroff;
arm_pm_restart = spitz_restart;
if (machine_is_spitz()) {
sharpsl_nand_partitions[1].size = 5 * 1024 * 1024;
} else if (machine_is_akita()) {
sharpsl_nand_partitions[1].size = 58 * 1024 * 1024;
} else if (machine_is_borzoi()) {
sharpsl_nand_partitions[1].size = 32 * 1024 * 1024;
}
PMCR = 0x00;
/* Stop 3.6MHz and drive HIGH to PCMCIA and CS */
PCFR |= PCFR_OPDE;
pxa2xx_mfp_config(ARRAY_AND_SIZE(spitz_pin_config));
spitz_init_spi();
platform_add_devices(devices, ARRAY_SIZE(devices));
pxa_set_mci_info(&spitz_mci_platform_data);
pxa_set_ohci_info(&spitz_ohci_platform_data);
pxa_set_ficp_info(&spitz_ficp_platform_data);
set_pxa_fb_info(&spitz_pxafb_info);
pxa_set_i2c_info(NULL);
}
#if defined(CONFIG_MACH_SPITZ) || defined(CONFIG_MACH_BORZOI)
static void __init spitz_init(void)
{
platform_scoop_config = &spitz_pcmcia_config;
common_init();
platform_device_register(&spitzscoop2_device);
}
#endif
#ifdef CONFIG_MACH_AKITA
/*
* Akita IO Expander
*/
static struct pca953x_platform_data akita_ioexp = {
.gpio_base = AKITA_IOEXP_GPIO_BASE,
};
static struct i2c_board_info akita_i2c_board_info[] = {
{
.type = "max7310",
.addr = 0x18,
.platform_data = &akita_ioexp,
},
};
static struct nand_bbt_descr sharpsl_akita_bbt = {
.options = 0,
.offs = 4,
.len = 1,
.pattern = scan_ff_pattern
};
static struct nand_ecclayout akita_oobinfo = {
.eccbytes = 24,
.eccpos = {
0x5, 0x1, 0x2, 0x3, 0x6, 0x7, 0x15, 0x11,
0x12, 0x13, 0x16, 0x17, 0x25, 0x21, 0x22, 0x23,
0x26, 0x27, 0x35, 0x31, 0x32, 0x33, 0x36, 0x37},
.oobfree = {{0x08, 0x09}}
};
static void __init akita_init(void)
{
spitz_ficp_platform_data.transceiver_mode = akita_irda_transceiver_mode;
sharpsl_nand_platform_data.badblock_pattern = &sharpsl_akita_bbt;
sharpsl_nand_platform_data.ecc_layout = &akita_oobinfo;
/* We just pretend the second element of the array doesn't exist */
spitz_pcmcia_config.num_devs = 1;
platform_scoop_config = &spitz_pcmcia_config;
i2c_register_board_info(0, ARRAY_AND_SIZE(akita_i2c_board_info));
common_init();
}
#endif
static void __init fixup_spitz(struct machine_desc *desc,
struct tag *tags, char **cmdline, struct meminfo *mi)
{
sharpsl_save_param();
mi->nr_banks = 1;
mi->bank[0].start = 0xa0000000;
mi->bank[0].node = 0;
mi->bank[0].size = (64*1024*1024);
}
#ifdef CONFIG_MACH_SPITZ
MACHINE_START(SPITZ, "SHARP Spitz")
.phys_io = 0x40000000,
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.fixup = fixup_spitz,
.map_io = pxa_map_io,
.init_irq = pxa27x_init_irq,
.init_machine = spitz_init,
.timer = &pxa_timer,
MACHINE_END
#endif
#ifdef CONFIG_MACH_BORZOI
MACHINE_START(BORZOI, "SHARP Borzoi")
.phys_io = 0x40000000,
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.fixup = fixup_spitz,
.map_io = pxa_map_io,
.init_irq = pxa27x_init_irq,
.init_machine = spitz_init,
.timer = &pxa_timer,
MACHINE_END
#endif
#ifdef CONFIG_MACH_AKITA
MACHINE_START(AKITA, "SHARP Akita")
.phys_io = 0x40000000,
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.fixup = fixup_spitz,
.map_io = pxa_map_io,
.init_irq = pxa27x_init_irq,
.init_machine = akita_init,
.timer = &pxa_timer,
MACHINE_END
#endif
^ permalink raw reply
* Re: linux-next: manual merge of the mtd tree
From: David Woodhouse @ 2008-12-12 11:11 UTC (permalink / raw)
To: Dmitry Eremin-Solenikov
Cc: Stephen Rothwell, linux-next, Eric Miao, Russell King
In-Reply-To: <bc64b4640812120229j6989fb6ax7842ed2190946a57@mail.gmail.com>
On Fri, 2008-12-12 at 13:29 +0300, Dmitry Eremin-Solenikov wrote:
> Sorry for the delay. I've attached the files resulting from the merge
> of today linux-next/master and mtd/master.
Thanks for doing that.
--
David Woodhouse Open Source Technology Centre
David.Woodhouse@intel.com Intel Corporation
^ permalink raw reply
* [BUGFIX][PATCH] sgi-xp: xpc needs to pass the physical address, not virtual
From: Russ Anderson @ 2008-12-12 17:07 UTC (permalink / raw)
To: Ingo Molnar, tglx, linux-next
Cc: Stephen Rothwell, H. Peter Anvin, Dean Nelson, Russ Anderson
xpc needs to pass the physical address, not virtual.
Signed-off-by: Russ Anderson <rja@sgi.com>
Acked-by: Dean Nelson <dcn@sgi.com>
---
Testing uncovered this problem. The virtual address happens to work
most of the time due to the way bios was masking off the node bits.
Passing the physical address makes it work all of the time.
arch/x86/include/asm/uv/bios.h | 2 +-
arch/x86/kernel/bios_uv.c | 4 +---
drivers/misc/sgi-xp/xpc_uv.c | 8 ++++----
3 files changed, 6 insertions(+), 8 deletions(-)
Index: linux/drivers/misc/sgi-xp/xpc_uv.c
===================================================================
--- linux.orig/drivers/misc/sgi-xp/xpc_uv.c 2008-12-11 15:23:58.000000000 -0600
+++ linux/drivers/misc/sgi-xp/xpc_uv.c 2008-12-11 15:49:02.000000000 -0600
@@ -119,16 +119,16 @@ xpc_gru_mq_watchlist_alloc_uv(struct xpc
int ret;
#if defined CONFIG_X86_64
- ret = uv_bios_mq_watchlist_alloc(mq->mmr_blade, mq->address, mq->order,
- &mq->mmr_offset);
+ ret = uv_bios_mq_watchlist_alloc(mq->mmr_blade, uv_gpa(mq->address),
+ mq->order, &mq->mmr_offset);
if (ret < 0) {
dev_err(xpc_part, "uv_bios_mq_watchlist_alloc() failed, "
"ret=%d\n", ret);
return ret;
}
#elif defined CONFIG_IA64_GENERIC || defined CONFIG_IA64_SGI_UV
- ret = sn_mq_watchlist_alloc(mq->mmr_blade, mq->address, mq->order,
- &mq->mmr_offset);
+ ret = sn_mq_watchlist_alloc(mq->mmr_blade, uv_gpa(mq->address),
+ mq->order, &mq->mmr_offset);
if (ret < 0) {
dev_err(xpc_part, "sn_mq_watchlist_alloc() failed, ret=%d\n",
ret);
Index: linux/arch/x86/include/asm/uv/bios.h
===================================================================
--- linux.orig/arch/x86/include/asm/uv/bios.h 2008-12-11 15:23:57.000000000 -0600
+++ linux/arch/x86/include/asm/uv/bios.h 2008-12-11 15:34:30.000000000 -0600
@@ -100,7 +100,7 @@ extern s64 uv_bios_call_reentrant(enum u
extern s64 uv_bios_get_sn_info(int, int *, long *, long *, long *);
extern s64 uv_bios_freq_base(u64, u64 *);
-extern int uv_bios_mq_watchlist_alloc(int, void *, unsigned int,
+extern int uv_bios_mq_watchlist_alloc(int, unsigned long, unsigned int,
unsigned long *);
extern int uv_bios_mq_watchlist_free(int, int);
extern s64 uv_bios_change_memprotect(u64, u64, enum uv_memprotect);
Index: linux/arch/x86/kernel/bios_uv.c
===================================================================
--- linux.orig/arch/x86/kernel/bios_uv.c 2008-12-11 15:23:57.000000000 -0600
+++ linux/arch/x86/kernel/bios_uv.c 2008-12-11 15:36:09.000000000 -0600
@@ -101,15 +101,13 @@ s64 uv_bios_get_sn_info(int fc, int *uvt
}
int
-uv_bios_mq_watchlist_alloc(int blade, void *mq, unsigned int mq_size,
+uv_bios_mq_watchlist_alloc(int blade, unsigned long addr, unsigned int mq_size,
unsigned long *intr_mmr_offset)
{
union uv_watchlist_u size_blade;
- unsigned long addr;
u64 watchlist;
s64 ret;
- addr = (unsigned long)mq;
size_blade.size = mq_size;
size_blade.blade = blade;
--
Russ Anderson, OS RAS/Partitioning Project Lead
SGI - Silicon Graphics Inc rja@sgi.com
^ permalink raw reply
* Re: Suspend on X200 with next-20081125: Success!
From: Pavel Machek @ 2008-12-12 18:59 UTC (permalink / raw)
To: Nico -telmich- Schottelius, linux-next, LKML
In-Reply-To: <20081127090647.GA16088@denkbrett.schottelius.org>
On Thu 2008-11-27 10:06:47, Nico -telmich- Schottelius wrote:
> Good morning everybody!
>
> I just resumed the Lenovo X200 running
> 2.6.28-rc6-next-20081125-denkbrett #15 SMP PREEMPT
> with xorg running!
>
> Currently just once and after the resume it beeped until
> I released it from the docking station (putting back in
> works), though it looks pretty good!
>
> Thanks for your work!
See suspend.sf.net/ , whitelist entry might be nice for the
mailinglist...
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
^ permalink raw reply
* Re: linux-next: staging tree build failure
From: Greg KH @ 2008-12-12 18:55 UTC (permalink / raw)
To: Stephen Rothwell; +Cc: linux-next, Dmitry Baryshkov
In-Reply-To: <20081211193739.57277b63.sfr@canb.auug.org.au>
On Thu, Dec 11, 2008 at 07:37:39PM +1100, Stephen Rothwell wrote:
> Hi Greg,
>
> On Mon, 8 Dec 2008 20:43:03 +1100 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> >
> > Today's linux-next build (x86_64 allmodconfig) failed like this:
> >
> > drivers/staging/agnx/xmit.c: In function 'fill_agnx_hdr':
> > drivers/staging/agnx/xmit.c:629: error: 'struct <anonymous>' has no member named 'retry_limit'
> > drivers/staging/agnx/xmit.c:630: error: 'struct <anonymous>' has no member named 'retry_limit'
> .
> .
> .
> >
> > Commit "STAGING: Move staging drivers back to staging-specific menu"
> > allowed them to build in the allmodconfig again. I have dropped the
> > staging tree for today.
>
> This failure is still happening.
Ick, sorry about that, this should now be fixed.
thanks,
greg k-h
^ permalink raw reply
* Re: [PATCH] staging: really fix up Kconfig automatic deselction
From: Greg KH @ 2008-12-12 18:55 UTC (permalink / raw)
To: Dmitry Eremin-Solenikov; +Cc: Greg KH, linux-next, Stephen Rothwell
In-Reply-To: <493DF4EC.70509@gmail.com>
On Tue, Dec 09, 2008 at 07:32:44AM +0300, Dmitry Eremin-Solenikov wrote:
> Greg KH wrote:
>> On Tue, Dec 09, 2008 at 04:10:51AM +0300, Dmitry Eremin-Solenikov wrote:
>>> Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
>> This patch should be used instead of your current one in my tree, right?
>> Or apply it on top of your current one?
>
> On top of the previous one. If you want, you can squash them into one
> commit, of course.
I've merged them together now, thanks for the fix.
greg k-h
^ permalink raw reply
* Re: [BUG] linux-next: 20081209 - kernel bug at __rcu_process_callbacks, while booting up
From: Kamalesh Babulal @ 2008-12-12 19:40 UTC (permalink / raw)
To: Paul E. McKenney; +Cc: Stephen Rothwell, linux-next, LKML, dm-devel, tglx, mel
In-Reply-To: <20081210183302.GD6745@linux.vnet.ibm.com>
* Paul E. McKenney <paulmck@linux.vnet.ibm.com> [2008-12-10 10:33:02]:
> On Wed, Dec 10, 2008 at 11:39:36PM +0530, Kamalesh Babulal wrote:
> > * Paul E. McKenney <paulmck@linux.vnet.ibm.com> [2008-12-10 09:53:38]:
> >
> > > On Wed, Dec 10, 2008 at 10:00:07PM +0530, Kamalesh Babulal wrote:
> > > > * Paul E. McKenney <paulmck@linux.vnet.ibm.com> [2008-12-10 06:54:14]:
> > > >
> > > > > On Wed, Dec 10, 2008 at 05:27:21PM +0530, Kamalesh Babulal wrote:
> > > > > > Hi,
> > > > > >
> > > > > > Kernel bug is hit while booting up the next-20081208/09 kernels over
> > > > > > the x86_64 box. The IP is pointing to 0x0 and its stuck at
> > > > > > __rcu_process_callbacks.
> > > > >
> > > > > Kernel config?
> > > > >
> > > > > Thanx, Paul
> > > > >
> > > > Hi Paul,
> > > >
> > > > I have attached the kernel config file.
> > >
> > > Hello, Kamalesh,
> > >
> > > No significant recent changes in this area. Is this consistent?
> > > Any chance of "git bisect"?
> > >
> > > Thanx, Paul
> > >
> > Hi Paul,
> >
> > I tried reproducing it for three times and I was successfull in reproducing it thrice.
> > I have already started the git bisect, will update the results soon.
>
> Very good, looking forward to seeing the result!
>
> Thanx, Paul
>
Hi Paul,
After a Complete round of git bisect, I was not able to reproduce the oops,
but when I tried again with complete next-20081209 patch, I am getting
different warning message altogether this time
INIT: version 2.86 booting
BUG: unable to handle kernel paging request at ffffffff0000000a
IP: [<ffffffff8033f4e4>] blk_recalc_rq_sectors+0x5c/0xd9
PGD 203067 PUD 0
Oops: 0000 [#1] SMP
last sysfs file: /sys/block/dm-3/removable
CPU 3
Modules linked in:
Pid: 0, comm: swapper Not tainted 2.6.28-rc7-next-20081209-autokern1 #1
RIP: 0010:[<ffffffff8033f4e4>] [<ffffffff8033f4e4>] blk_recalc_rq_sectors+0x5c/0xd9
RSP: 0018:ffff88003fae3e08 EFLAGS: 00010256
RAX: 0000000000000000 RBX: ffff88003e970338 RCX: ffff88000100b018
RDX: ffffffff00000002 RSI: 0000000000000008 RDI: ffff88003e970338
RBP: ffff88003e970338 R08: ffff88003e49d7c0 R09: ffff8800010472b0
R10: 0000000000000000 R11: 0000000000001000 R12: ffffe20000dfe080
R13: 0000000000000000 R14: 0000000000000008 R15: 0000000000000000
FS: 00007f149c33e6f0(0000) GS:ffff88003fa56840(0000) knlGS:0000000000000000
CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b
CR2: ffffffff0000000a CR3: 000000003e4a2000 CR4: 00000000000006e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process swapper (pid: 0, threadinfo ffff88003fada000, task ffff88003fad72b0)
Stack:
0000000000000000 ffffffff8033b3f5 0000000000000fe0 ffff88003e970338
0000000000000000 0000000000000000 0000000000000000 ffff88003e970338
ffff88003eae2180 ffffffff8033b42d 0000000000000000 ffff88003e970338
Call Trace:
<IRQ> <0> [<ffffffff8033b3f5>] ? __end_that_request_first+0x231/0x24e
[<ffffffff8033b42d>] ? end_that_request_data+0x1b/0x4c
[<ffffffff8033bba7>] ? blk_end_io+0x1c/0x76
[<ffffffff803f6f61>] ? scsi_io_completion+0x1bc/0x452
[<ffffffff8033f9e2>] ? blk_done_softirq+0x5c/0x6a
[<ffffffff8023b895>] ? __do_softirq+0x76/0x136
[<ffffffff8021f88e>] ? ack_apic_level+0x66/0xe3
[<ffffffff8020d03c>] ? call_softirq+0x1c/0x28
[<ffffffff8020e091>] ? do_softirq+0x2c/0x6c
[<ffffffff8020e193>] ? do_IRQ+0xc2/0xdf
[<ffffffff8020c913>] ? ret_from_intr+0x0/0xa
<EOI> <0>Code: 8b 43 60 48 39 43 58 77 7f 48 89 53 68 48 8b 93 80 00 00 00 48 89 43 58 66 83 7a 28 00 74 12 0f b7 42 2a 48 8b 52 48 48 c1 e0 04 <8b> 44 10 08 eb 03 8b 42 30 48 8b 93 80 00 00 00 c1 e8 09 89 43
RIP [<ffffffff8033f4e4>] blk_recalc_rq_sectors+0x5c/0xd9
RSP <ffff88003fae3e08>
CR2: ffffffff0000000a
---[ end trace 38c705e1b1fe7ae3 ]---
Kernel panic - not syncing: Fatal exception in interrupt
Pid: 0, comm: swapper Tainted: G D 2.6.28-rc7-next-20081209-autokern1 #1
Call Trace:
<IRQ> [<ffffffff80236e81>] panic+0x86/0x144
[<ffffffff8020e751>] show_registers+0x21d/0x228
[<ffffffff803b0511>] do_unblank_screen+0x2c/0x12c
[<ffffffff805207fa>] oops_end+0xa0/0xad
[<ffffffff80522010>] do_page_fault+0x748/0x801
[<ffffffff8022b44a>] __wake_up_common+0x3f/0x71
[<ffffffff8051fdff>] page_fault+0x1f/0x30
[<ffffffff8033f4e4>] blk_recalc_rq_sectors+0x5c/0xd9
[<ffffffff8033b3f5>] __end_that_request_first+0x231/0x24e
[<ffffffff8033b42d>] end_that_request_data+0x1b/0x4c
[<ffffffff8033bba7>] blk_end_io+0x1c/0x76
[<ffffffff803f6f61>] scsi_io_completion+0x1bc/0x452
[<ffffffff8033f9e2>] blk_done_softirq+0x5c/0x6a
[<ffffffff8023b895>] __do_softirq+0x76/0x136
[<ffffffff8021f88e>] ack_apic_level+0x66/0xe3
[<ffffffff8020d03c>] call_softirq+0x1c/0x28
[<ffffffff8020e091>] do_softirq+0x2c/0x6c
[<ffffffff8020e193>] do_IRQ+0xc2/0xdf
[<ffffffff8020c913>] ret_from_intr+0x0/0xa
<EOI> <4>------------[ cut here ]------------
WARNING: at kernel/smp.c:293 smp_call_function_many+0x37/0x220()
Hardware name: IBM eServer BladeCenter LS20 -[885055U]-
Modules linked in:
Pid: 0, comm: swapper Tainted: G D 2.6.28-rc7-next-20081209-autokern1 #1
Call Trace:
<IRQ> [<ffffffff80236dd4>] warn_slowpath+0xd8/0xf5
[<ffffffff8020c913>] ret_from_intr+0x0/0xa
[<ffffffff8020c913>] ret_from_intr+0x0/0xa
[<ffffffff8020c913>] ret_from_intr+0x0/0xa
[<ffffffff8020c913>] ret_from_intr+0x0/0xa
[<ffffffff80237a22>] printk+0x4e/0x56
[<ffffffff8020f1b9>] print_trace_address+0x1d/0x2d
[<ffffffff80253a01>] smp_call_function_many+0x37/0x220
[<ffffffff8020e525>] dump_trace+0x223/0x232
[<ffffffff8020f1b9>] print_trace_address+0x1d/0x2d
[<ffffffff80253c0a>] smp_call_function+0x20/0x24
[<ffffffff8021ccc1>] native_smp_send_stop+0x1a/0x26
[<ffffffff80236e95>] panic+0x9a/0x144
[<ffffffff8020e751>] show_registers+0x21d/0x228
[<ffffffff803b0511>] do_unblank_screen+0x2c/0x12c
[<ffffffff805207fa>] oops_end+0xa0/0xad
[<ffffffff80522010>] do_page_fault+0x748/0x801
[<ffffffff8022b44a>] __wake_up_common+0x3f/0x71
[<ffffffff8051fdff>] page_fault+0x1f/0x30
[<ffffffff8033f4e4>] blk_recalc_rq_sectors+0x5c/0xd9
[<ffffffff8033b3f5>] __end_that_request_first+0x231/0x24e
[<ffffffff8033b42d>] end_that_request_data+0x1b/0x4c
[<ffffffff8033bba7>] blk_end_io+0x1c/0x76
[<ffffffff803f6f61>] scsi_io_completion+0x1bc/0x452
[<ffffffff8033f9e2>] blk_done_softirq+0x5c/0x6a
[<ffffffff8023b895>] __do_softirq+0x76/0x136
[<ffffffff8021f88e>] ack_apic_level+0x66/0xe3
[<ffffffff8020d03c>] call_softirq+0x1c/0x28
[<ffffffff8020e091>] do_softirq+0x2c/0x6c
[<ffffffff8020e193>] do_IRQ+0xc2/0xdf
[<ffffffff8020c913>] ret_from_intr+0x0/0xa
<EOI> <4>---[ end trace 38c705e1b1fe7ae3 ]---
> > > > > > Activating logical volumes
> > > > > > 4 logical volume(s) in volume group "VolGroup00"BUG: unable to handle kernel NULL pointer dereference at 0000000000000000
> > > > > > IP: [<0000000000000000>] 0x0
> > > > > > PGD 3e8ad067 PUD 3e8ac067 PMD 0
> > > > > > Oops: 0010 [#1] SMP
> > > > > > last sysfs file: /sys/block/dm-1/removable
> > > > > > CPU 3
> > > > > > Modules linked in:
> > > > > > Pid: 0, comm: swapper Not tainted 2.6.28-rc7-next-20081209-autotest #1
> > > > > > RIP: 0010:[<0000000000000000>] [<0000000000000000>] 0x0
> > > > > > RSP: 0018:ffff88003fa73ef0 EFLAGS: 00010286
> > > > > > RAX: ffff88003eae0500 RBX: ffff880001047040 RCX: ffffffff80268f66
> > > > > > RDX: 0000000000000000 RSI: ffffe20000fab800 RDI: ffff88003eae0500
> > > > > > RBP: 0000000000000000 R08: ffff880001047040 R09: ffffffff80853950
> > > > > > R10: 0000000000000038 R11: ffffffff8032222d R12: 0000000000000005
> > > > > > R13: 0000000000000038 R14: 0000000000000009 R15: 0000000000000018
> > > > > > FS: 000000000066d870(0000) GS:ffff88003f803f00(0000) knlGS:0000000000000000
> > > > > > CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b
> > > > > > CR2: 0000000000000000 CR3: 000000003e8a9000 CR4: 00000000000006e0
> > > > > > DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> > > > > > DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
> > > > > > Process swapper (pid: 0, threadinfo ffff88003fa64000, task ffff88003f9dde00)
> > > > > > Stack:
> > > > > > ffffffff80268f66 ffff88003fa73ef8 0000000000000100 0000000000000001
> > > > > > ffffffff807400b8 0000000000000038 ffffffff80269001 0000000000000018
> > > > > > ffffffff8023b891 ffffffff8020e79e 0000000000000046 ffff88003fa73f80
> > > > > > Call Trace:
> > > > > > <IRQ> <0> [<ffffffff80268f66>] __rcu_process_callbacks+0x14e/0x1c3
> > > > > > [<ffffffff80269001>] rcu_process_callbacks+0x26/0x4a
> > > > > > [<ffffffff8023b891>] __do_softirq+0x76/0x136
> > > > > > [<ffffffff8020e79e>] profile_pc+0x21/0x5b
> > > > > > [<ffffffff8020d03c>] call_softirq+0x1c/0x28
> > > > > > [<ffffffff8020e091>] do_softirq+0x2c/0x6c
> > > > > > [<ffffffff8021e018>] smp_apic_timer_interrupt+0x93/0xac
> > > > > > [<ffffffff8020ca73>] apic_timer_interrupt+0x13/0x20
> > > > > > <EOI> <0>Code: Bad RIP value.
> > > > > > RIP [<0000000000000000>] 0x0
> > > > > > RSP <ffff88003fa73ef0>
> > > > > > CR2: 0000000000000000
> > > > > > ---[ end trace 69ecde41a682e571 ]---
> > > > > > Kernel panic - not syncing: Fatal exception in interrupt
> > > > > > Pid: 0, comm: swapper Tainted: G D 2.6.28-rc7-next-20081209-autotest #1
> > > > > > Call Trace:
> > > > > > Mounting root fi <IRQ> lesystem.
> > > > > > [<ffffffff80236e7d>] panic+0x86/0x144
> > > > > > [<ffffffff8020ca73>] apic_timer_interrupt+0x13/0x20
> > > > > > [<ffffffff8051fd57>] oops_end+0x61/0xad
> > > > > > [<ffffffff8051fd96>] oops_end+0xa0/0xad
> > > > > > [<ffffffff805215ac>] do_page_fault+0x748/0x801
> > > > > > [<ffffffff8051f3af>] page_fault+0x1f/0x30
> > > > > > [<ffffffff8032222d>] selinux_cred_free+0x0/0x14
> > > > > > BUG: unable to handle kernel NULL pointer dereference at 0000000000000002
> > > > > > IP: [<ffffffff802926da>] kmem_cache_alloc+0x6a/0x99
> > > > > > PGD 3e8ad067 PUD 3e8ac067 PMD 0
> > > > > > Oops: 0000 [#2] SMP
> > > > > > last sysfs file: /sys/block/ram7/removable
> > > > > > CPU 2
> > > > > > Modules linked in:
> > > > > > Pid: 1, comm: init Tainted: G D 2.6.28-rc7-next-20081209-autotest #1
> > > > > > RIP: 0010:[<ffffffff802926da>] [<ffffffff802926da>] kmem_cache_alloc+0x6a/0x99
> > > > > > RSP: 0018:ffff88003f9d7db8 EFLAGS: 00010002
> > > > > > RAX: 0000000000000000 RBX: 0000000000000246 RCX: 0000000000000001
> > > > > > RDX: ffff880001037800 RSI: 0000000000000002 RDI: ffffffff80854f70
> > > > > > RBP: 0000000000000020 R08: 0000000000000000 R09: ffffffff80859a80
> > > > > > R10: 0000000000000001 R11: ffff88003f426018 R12: ffffffff80854f70
> > > > > > R13: ffffffff80253ab1 R14: 0000000000000080 R15: ffffffff802b4141
> > > > > > FS: 000000000066d870(0063) GS:ffff88003f803c80(0000) knlGS:0000000000000000
> > > > > > CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
> > > > > > CR2: 0000000000000002 CR3: 000000003e8a9000 CR4: 00000000000006e0
> > > > > > DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> > > > > > DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
> > > > > > Process init (pid: 1, threadinfo ffff88003f9d6000, task ffff88003f9d8000)
> > > > > > Stack:
> > > > > > 00000000ffffffff ffff88003f426000 ffffffff80859a80 ffffffff80859a80
> > > > > > 0000000000000000 ffffffff80253ab1 00000000006f1db0 0000000000000000
> > > > > > ffff88003eb6a2f8 ffff88003f9d7e48 0000000000000000 01ff88003e97c400
> > > > > > Call Trace:
> > > > > > [<ffffffff80253ab1>] ? smp_call_function_many+0xdb/0x220
> > > > > > [<ffffffff802704ca>] ? do_writepages+0x23/0x30
> > > > > > [<ffffffff802b4141>] ? invalidate_bh_lru+0x0/0x42
> > > > > > [<ffffffff80253c16>] ? smp_call_function+0x20/0x24
> > > > > > [<ffffffff8023b483>] ? on_each_cpu+0x10/0x22
> > > > > > [<ffffffff802b919b>] ? kill_bdev+0x1b/0x30
> > > > > > [<ffffffff802b9892>] ? __blkdev_put+0x54/0x151
> > > > > > [<ffffffff8029899f>] ? __fput+0xe7/0x1b4
> > > > > > [<ffffffff802961ea>] ? filp_close+0x5e/0x66
> > > > > > [<ffffffff8029627f>] ? sys_close+0x8d/0xd1
> > > > > > [<ffffffff8020bf5b>] ? system_call_fastpath+0x16/0x1b
> > > > > > Code: 18 03 00 00 48 8b 32 44 8b 72 18 48 85 f6 75 18 49 89 d0 89 ee 4c 89 e9 83 ca ff 4c 89 e7 e8 57 f8 ff ff 48 89 c6 eb 0a 8b 42 14 <48> 8b 04 c6 48 89 02 53 9d 31 c0 c1 ed 0f 48 85 f6 0f 95 c0 85
> > > > > > RIP [<ffffffff802926da>] kmem_cache_alloc+0x6a/0x99
> > > > > > RSP <ffff88003f9d7db8>
> > > > > > CR2: 0000000000000002
> > > > > > ---[ end trace 69ecde41a682e571 ]---
> > > > > > Kernel panic - not syncing: Attempted to kill init!
> > > > > > Pid: 1, comm: init Tainted: G D 2.6.28-rc7-next-20081209-autotest #1
> > > > > > Call Trace:
> > > > > > [<ffffffff80236e7d>] panic+0x86/0x144
> > > > > > [<ffffffff802abbfb>] mntput_no_expire+0x1e/0x139
> > > > > > [<ffffffff802961ea>] filp_close+0x5e/0x66
> > > > > > [<ffffffff8023870d>] exit_fs+0x35/0x46
> > > > > > [<ffffffff80239b7a>] do_exit+0x75/0x766
> > > > > > [<ffffffff8051fd9e>] oops_end+0xa8/0xad
> > > > > > [<ffffffff805215ac>] do_page_fault+0x748/0x801
> > > > > > [<ffffffff80253ab1>] smp_call_function_many+0xdb/0x220
> > > > > > [<ffffffff802b4141>] invalidate_bh_lru+0x0/0x42
> > > > > > [<ffffffff8051f3af>] page_fault+0x1f/0x30
> > > > > > [<ffffffff802b4141>] invalidate_bh_lru+0x0/0x42
> > > > > > [<ffffffff80253ab1>] smp_call_function_many+0xdb/0x220
> > > > > > [<ffffffff802926da>] kmem_cache_alloc+0x6a/0x99
> > > > > > [<ffffffff80253ab1>] smp_call_function_many+0xdb/0x220
> > > > > > [<ffffffff802704ca>] do_writepages+0x23/0x30
> > > > > > [<ffffffff802b4141>] invalidate_bh_lru+0x0/0x42
> > > > > > [<ffffffff80253c16>] smp_call_function+0x20/0x24
> > > > > > [<ffffffff8023b483>] on_each_cpu+0x10/0x22
> > > > > > [<ffffffff802b919b>] kill_bdev+0x1b/0x30
> > > > > > [<ffffffff802b9892>] __blkdev_put+0x54/0x151
> > > > > > [<ffffffff8029899f>] __fput+0xe7/0x1b4
> > > > > > [<ffffffff802961ea>] filp_close+0x5e/0x66
> > > > > > [<ffffffff8029627f>] sys_close+0x8d/0xd1
> > > > > > [<ffffffff8020bf5b>] system_call_fastpath+0x16/0x1b
> > > > > > BUG: unable to handle kernel NULL pointer dereference at 0000000000000002
> > > > > > IP: [<ffffffff802926da>] kmem_cache_alloc+0x6a/0x99
> > > > > > PGD 0
> > > > > > Oops: 0000 [#3] SMP
> > > > > > last sysfs file: /sys/block/ram7/removable
> > > > > > CPU 2
> > > > > > Modules linked in:
> > > > > > Pid: 1, comm: init Tainted: G D 2.6.28-rc7-next-20081209-autotest #1
> > > > > > RIP: 0010:[<ffffffff802926da>] [<ffffffff802926da>] kmem_cache_alloc+0x6a/0x99
> > > > > > RSP: 0018:ffff88003f9d7a58 EFLAGS: 00010002
> > > > > > RAX: 0000000000000000 RBX: 0000000000000246 RCX: 0000000000000001
> > > > > > RDX: ffff880001037800 RSI: 0000000000000002 RDI: ffffffff80854f70
> > > > > > RBP: 0000000000000020 R08: ffffffff8052a5c0 R09: ffffffff80859a80
> > > > > > R10: 0000000000000000 R11: ffffffff8067c887 R12: ffffffff80854f70
> > > > > > R13: ffffffff80253ab1 R14: 0000000000000080 R15: ffffffff80211dd3
> > > > > > FS: 000000000066d870(0000) GS:ffff88003f803c80(0000) knlGS:0000000000000000
> > > > > > CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
> > > > > > CR2: 0000000000000002 CR3: 0000000000201000 CR4: 00000000000006e0
> > > > > > DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> > > > > > DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
> > > > > > Process init (pid: 1, threadinfo ffff88003f9d6000, task ffff88003f9d8000)
> > > > > > Stack:
> > > > > > 00000000ffffffff ffff88003f9d8000 ffffffff80859a80 ffffffff80859a80
> > > > > > 0000000000000000 ffffffff80253ab1 ffffffff8052a5c0 ffff88003fa3bfc0
> > > > > > 0000000000000000 ffffffff8020e525 0000000000000010 000000003e943800
> > > > > > Call Trace:
> > > > > > [<ffffffff80253ab1>] ? smp_call_function_many+0xdb/0x220
> > > > > > [<ffffffff8020e525>] ? dump_trace+0x223/0x232
> > > > > > [<ffffffff80253c16>] ? smp_call_function+0x20/0x24
> > > > > > [<ffffffff8021ccc1>] ? native_smp_send_stop+0x1a/0x26
> > > > > > [<ffffffff80236e91>] ? panic+0x9a/0x144
> > > > > > [<ffffffff802abbfb>] ? mntput_no_expire+0x1e/0x139
> > > > > > [<ffffffff802961ea>] ? filp_close+0x5e/0x66
> > > > > > [<ffffffff8023870d>] ? exit_fs+0x35/0x46
> > > > > > [<ffffffff80239b7a>] ? do_exit+0x75/0x766
> > > > > > [<ffffffff8051fd9e>] ? oops_end+0xa8/0xad
> > > > > > [<ffffffff805215ac>] ? do_page_fault+0x748/0x801
> > > > > > [<ffffffff80253ab1>] ? smp_call_function_many+0xdb/0x220
> > > > > > [<ffffffff802b4141>] ? invalidate_bh_lru+0x0/0x42
> > > > > > [<ffffffff8051f3af>] ? page_fault+0x1f/0x30
> > > > > > [<ffffffff802b4141>] ? invalidate_bh_lru+0x0/0x42
> > > > > > [<ffffffff80253ab1>] ? smp_call_function_many+0xdb/0x220
> > > > > > [<ffffffff802926da>] ? kmem_cache_alloc+0x6a/0x99
> > > > > > [<ffffffff80253ab1>] ? smp_call_function_many+0xdb/0x220
> > > > > > [<ffffffff802704ca>] ? do_writepages+0x23/0x30
> > > > > > [<ffffffff802b4141>] ? invalidate_bh_lru+0x0/0x42
> > > > > > [<ffffffff80253c16>] ? smp_call_function+0x20/0x24
> > > > > > [<ffffffff8023b483>] ? on_each_cpu+0x10/0x22
> > > > > > [<ffffffff802b919b>] ? kill_bdev+0x1b/0x30
> > > > > > [<ffffffff802b9892>] ? __blkdev_put+0x54/0x151
> > > > > > [<ffffffff8029899f>] ? __fput+0xe7/0x1b4
> > > > > > [<ffffffff802961ea>] ? filp_close+0x5e/0x66
> > > > > > [<ffffffff8029627f>] ? sys_close+0x8d/0xd1
> > > > > > [<ffffffff8020bf5b>] ? system_call_fastpath+0x16/0x1b
> > > > > > Code: 18 03 00 00 48 8b 32 44 8b 72 18 48 85 f6 75 18 49 89 d0 89 ee 4c 89 e9 83 ca ff 4c 89 e7 e8 57 f8 ff ff 48 89 c6 eb 0a 8b 42 14 <48> 8b 04 c6 48 89 02 53 9d 31 c0 c1 ed 0f 48 85 f6 0f 95 c0 85
> > > > > > RIP [<ffffffff802926da>] kmem_cache_alloc+0x6a/0x99
> > > > > > RSP <ffff88003f9d7a58>
> > > > > > CR2: 0000000000000002
> > > > > > ---[ end trace 69ecde41a682e571 ]---
> > > > > > Fixing recursive fault but reboot is needed!
> > > > > > [<ffffffff80268f66>] __rcu_process_callbacks+0x14e/0x1c3
> > > > > > [<ffffffff80268f66>] __rcu_process_callbacks+0x14e/0x1c3
> > > > > > [<ffffffff80269001>] rcu_process_callbacks+0x26/0x4a
> > > > > > [<ffffffff8023b891>] __do_softirq+0x76/0x136
> > > > > > [<ffffffff8020e79e>] profile_pc+0x21/0x5b
> > > > > > [<ffffffff8020d03c>] call_softirq+0x1c/0x28
> > > > > > [<ffffffff8020e091>] do_softirq+0x2c/0x6c
> > > > > > [<ffffffff8021e018>] smp_apic_timer_interrupt+0x93/0xac
> > > > > > [<ffffffff8020ca73>] apic_timer_interrupt+0x13/0x20
> > > > > > <EOI>
> > > >
<snip the .config file>
--
Thanks & Regards,
Kamalesh Babulal,
Linux Technology Center,
IBM, ISTL.
^ permalink raw reply
* Re: [BUG] linux-next: 20081209 - kernel bug at __rcu_process_callbacks, while booting up
From: Paul E. McKenney @ 2008-12-12 22:16 UTC (permalink / raw)
To: Kamalesh Babulal; +Cc: Stephen Rothwell, linux-next, LKML, dm-devel, tglx, mel
In-Reply-To: <20081212194026.GA5455@linux.vnet.ibm.com>
On Sat, Dec 13, 2008 at 01:10:26AM +0530, Kamalesh Babulal wrote:
> * Paul E. McKenney <paulmck@linux.vnet.ibm.com> [2008-12-10 10:33:02]:
>
> > On Wed, Dec 10, 2008 at 11:39:36PM +0530, Kamalesh Babulal wrote:
> > > * Paul E. McKenney <paulmck@linux.vnet.ibm.com> [2008-12-10 09:53:38]:
> > >
> > > > On Wed, Dec 10, 2008 at 10:00:07PM +0530, Kamalesh Babulal wrote:
> > > > > * Paul E. McKenney <paulmck@linux.vnet.ibm.com> [2008-12-10 06:54:14]:
> > > > >
> > > > > > On Wed, Dec 10, 2008 at 05:27:21PM +0530, Kamalesh Babulal wrote:
> > > > > > > Hi,
> > > > > > >
> > > > > > > Kernel bug is hit while booting up the next-20081208/09 kernels over
> > > > > > > the x86_64 box. The IP is pointing to 0x0 and its stuck at
> > > > > > > __rcu_process_callbacks.
> > > > > >
> > > > > > Kernel config?
> > > > > >
> > > > > > Thanx, Paul
> > > > > >
> > > > > Hi Paul,
> > > > >
> > > > > I have attached the kernel config file.
> > > >
> > > > Hello, Kamalesh,
> > > >
> > > > No significant recent changes in this area. Is this consistent?
> > > > Any chance of "git bisect"?
> > > >
> > > > Thanx, Paul
> > > >
> > > Hi Paul,
> > >
> > > I tried reproducing it for three times and I was successfull in reproducing it thrice.
> > > I have already started the git bisect, will update the results soon.
> >
> > Very good, looking forward to seeing the result!
> >
> > Thanx, Paul
> >
> Hi Paul,
>
> After a Complete round of git bisect, I was not able to reproduce the oops,
> but when I tried again with complete next-20081209 patch, I am getting
> different warning message altogether this time
Might be that the two oopses are different manifestations of the same
underlying problem, right?
Thanx, Paul
> INIT: version 2.86 booting
> BUG: unable to handle kernel paging request at ffffffff0000000a
> IP: [<ffffffff8033f4e4>] blk_recalc_rq_sectors+0x5c/0xd9
> PGD 203067 PUD 0
> Oops: 0000 [#1] SMP
> last sysfs file: /sys/block/dm-3/removable
> CPU 3
> Modules linked in:
> Pid: 0, comm: swapper Not tainted 2.6.28-rc7-next-20081209-autokern1 #1
> RIP: 0010:[<ffffffff8033f4e4>] [<ffffffff8033f4e4>] blk_recalc_rq_sectors+0x5c/0xd9
> RSP: 0018:ffff88003fae3e08 EFLAGS: 00010256
> RAX: 0000000000000000 RBX: ffff88003e970338 RCX: ffff88000100b018
> RDX: ffffffff00000002 RSI: 0000000000000008 RDI: ffff88003e970338
> RBP: ffff88003e970338 R08: ffff88003e49d7c0 R09: ffff8800010472b0
> R10: 0000000000000000 R11: 0000000000001000 R12: ffffe20000dfe080
> R13: 0000000000000000 R14: 0000000000000008 R15: 0000000000000000
> FS: 00007f149c33e6f0(0000) GS:ffff88003fa56840(0000) knlGS:0000000000000000
> CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b
> CR2: ffffffff0000000a CR3: 000000003e4a2000 CR4: 00000000000006e0
> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
> Process swapper (pid: 0, threadinfo ffff88003fada000, task ffff88003fad72b0)
> Stack:
> 0000000000000000 ffffffff8033b3f5 0000000000000fe0 ffff88003e970338
> 0000000000000000 0000000000000000 0000000000000000 ffff88003e970338
> ffff88003eae2180 ffffffff8033b42d 0000000000000000 ffff88003e970338
> Call Trace:
> <IRQ> <0> [<ffffffff8033b3f5>] ? __end_that_request_first+0x231/0x24e
> [<ffffffff8033b42d>] ? end_that_request_data+0x1b/0x4c
> [<ffffffff8033bba7>] ? blk_end_io+0x1c/0x76
> [<ffffffff803f6f61>] ? scsi_io_completion+0x1bc/0x452
> [<ffffffff8033f9e2>] ? blk_done_softirq+0x5c/0x6a
> [<ffffffff8023b895>] ? __do_softirq+0x76/0x136
> [<ffffffff8021f88e>] ? ack_apic_level+0x66/0xe3
> [<ffffffff8020d03c>] ? call_softirq+0x1c/0x28
> [<ffffffff8020e091>] ? do_softirq+0x2c/0x6c
> [<ffffffff8020e193>] ? do_IRQ+0xc2/0xdf
> [<ffffffff8020c913>] ? ret_from_intr+0x0/0xa
> <EOI> <0>Code: 8b 43 60 48 39 43 58 77 7f 48 89 53 68 48 8b 93 80 00 00 00 48 89 43 58 66 83 7a 28 00 74 12 0f b7 42 2a 48 8b 52 48 48 c1 e0 04 <8b> 44 10 08 eb 03 8b 42 30 48 8b 93 80 00 00 00 c1 e8 09 89 43
> RIP [<ffffffff8033f4e4>] blk_recalc_rq_sectors+0x5c/0xd9
> RSP <ffff88003fae3e08>
> CR2: ffffffff0000000a
> ---[ end trace 38c705e1b1fe7ae3 ]---
> Kernel panic - not syncing: Fatal exception in interrupt
> Pid: 0, comm: swapper Tainted: G D 2.6.28-rc7-next-20081209-autokern1 #1
> Call Trace:
> <IRQ> [<ffffffff80236e81>] panic+0x86/0x144
> [<ffffffff8020e751>] show_registers+0x21d/0x228
> [<ffffffff803b0511>] do_unblank_screen+0x2c/0x12c
> [<ffffffff805207fa>] oops_end+0xa0/0xad
> [<ffffffff80522010>] do_page_fault+0x748/0x801
> [<ffffffff8022b44a>] __wake_up_common+0x3f/0x71
> [<ffffffff8051fdff>] page_fault+0x1f/0x30
> [<ffffffff8033f4e4>] blk_recalc_rq_sectors+0x5c/0xd9
> [<ffffffff8033b3f5>] __end_that_request_first+0x231/0x24e
> [<ffffffff8033b42d>] end_that_request_data+0x1b/0x4c
> [<ffffffff8033bba7>] blk_end_io+0x1c/0x76
> [<ffffffff803f6f61>] scsi_io_completion+0x1bc/0x452
> [<ffffffff8033f9e2>] blk_done_softirq+0x5c/0x6a
> [<ffffffff8023b895>] __do_softirq+0x76/0x136
> [<ffffffff8021f88e>] ack_apic_level+0x66/0xe3
> [<ffffffff8020d03c>] call_softirq+0x1c/0x28
> [<ffffffff8020e091>] do_softirq+0x2c/0x6c
> [<ffffffff8020e193>] do_IRQ+0xc2/0xdf
> [<ffffffff8020c913>] ret_from_intr+0x0/0xa
> <EOI> <4>------------[ cut here ]------------
> WARNING: at kernel/smp.c:293 smp_call_function_many+0x37/0x220()
> Hardware name: IBM eServer BladeCenter LS20 -[885055U]-
> Modules linked in:
> Pid: 0, comm: swapper Tainted: G D 2.6.28-rc7-next-20081209-autokern1 #1
> Call Trace:
> <IRQ> [<ffffffff80236dd4>] warn_slowpath+0xd8/0xf5
> [<ffffffff8020c913>] ret_from_intr+0x0/0xa
> [<ffffffff8020c913>] ret_from_intr+0x0/0xa
> [<ffffffff8020c913>] ret_from_intr+0x0/0xa
> [<ffffffff8020c913>] ret_from_intr+0x0/0xa
> [<ffffffff80237a22>] printk+0x4e/0x56
> [<ffffffff8020f1b9>] print_trace_address+0x1d/0x2d
> [<ffffffff80253a01>] smp_call_function_many+0x37/0x220
> [<ffffffff8020e525>] dump_trace+0x223/0x232
> [<ffffffff8020f1b9>] print_trace_address+0x1d/0x2d
> [<ffffffff80253c0a>] smp_call_function+0x20/0x24
> [<ffffffff8021ccc1>] native_smp_send_stop+0x1a/0x26
> [<ffffffff80236e95>] panic+0x9a/0x144
> [<ffffffff8020e751>] show_registers+0x21d/0x228
> [<ffffffff803b0511>] do_unblank_screen+0x2c/0x12c
> [<ffffffff805207fa>] oops_end+0xa0/0xad
> [<ffffffff80522010>] do_page_fault+0x748/0x801
> [<ffffffff8022b44a>] __wake_up_common+0x3f/0x71
> [<ffffffff8051fdff>] page_fault+0x1f/0x30
> [<ffffffff8033f4e4>] blk_recalc_rq_sectors+0x5c/0xd9
> [<ffffffff8033b3f5>] __end_that_request_first+0x231/0x24e
> [<ffffffff8033b42d>] end_that_request_data+0x1b/0x4c
> [<ffffffff8033bba7>] blk_end_io+0x1c/0x76
> [<ffffffff803f6f61>] scsi_io_completion+0x1bc/0x452
> [<ffffffff8033f9e2>] blk_done_softirq+0x5c/0x6a
> [<ffffffff8023b895>] __do_softirq+0x76/0x136
> [<ffffffff8021f88e>] ack_apic_level+0x66/0xe3
> [<ffffffff8020d03c>] call_softirq+0x1c/0x28
> [<ffffffff8020e091>] do_softirq+0x2c/0x6c
> [<ffffffff8020e193>] do_IRQ+0xc2/0xdf
> [<ffffffff8020c913>] ret_from_intr+0x0/0xa
> <EOI> <4>---[ end trace 38c705e1b1fe7ae3 ]---
>
>
> > > > > > > Activating logical volumes
> > > > > > > 4 logical volume(s) in volume group "VolGroup00"BUG: unable to handle kernel NULL pointer dereference at 0000000000000000
> > > > > > > IP: [<0000000000000000>] 0x0
> > > > > > > PGD 3e8ad067 PUD 3e8ac067 PMD 0
> > > > > > > Oops: 0010 [#1] SMP
> > > > > > > last sysfs file: /sys/block/dm-1/removable
> > > > > > > CPU 3
> > > > > > > Modules linked in:
> > > > > > > Pid: 0, comm: swapper Not tainted 2.6.28-rc7-next-20081209-autotest #1
> > > > > > > RIP: 0010:[<0000000000000000>] [<0000000000000000>] 0x0
> > > > > > > RSP: 0018:ffff88003fa73ef0 EFLAGS: 00010286
> > > > > > > RAX: ffff88003eae0500 RBX: ffff880001047040 RCX: ffffffff80268f66
> > > > > > > RDX: 0000000000000000 RSI: ffffe20000fab800 RDI: ffff88003eae0500
> > > > > > > RBP: 0000000000000000 R08: ffff880001047040 R09: ffffffff80853950
> > > > > > > R10: 0000000000000038 R11: ffffffff8032222d R12: 0000000000000005
> > > > > > > R13: 0000000000000038 R14: 0000000000000009 R15: 0000000000000018
> > > > > > > FS: 000000000066d870(0000) GS:ffff88003f803f00(0000) knlGS:0000000000000000
> > > > > > > CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b
> > > > > > > CR2: 0000000000000000 CR3: 000000003e8a9000 CR4: 00000000000006e0
> > > > > > > DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> > > > > > > DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
> > > > > > > Process swapper (pid: 0, threadinfo ffff88003fa64000, task ffff88003f9dde00)
> > > > > > > Stack:
> > > > > > > ffffffff80268f66 ffff88003fa73ef8 0000000000000100 0000000000000001
> > > > > > > ffffffff807400b8 0000000000000038 ffffffff80269001 0000000000000018
> > > > > > > ffffffff8023b891 ffffffff8020e79e 0000000000000046 ffff88003fa73f80
> > > > > > > Call Trace:
> > > > > > > <IRQ> <0> [<ffffffff80268f66>] __rcu_process_callbacks+0x14e/0x1c3
> > > > > > > [<ffffffff80269001>] rcu_process_callbacks+0x26/0x4a
> > > > > > > [<ffffffff8023b891>] __do_softirq+0x76/0x136
> > > > > > > [<ffffffff8020e79e>] profile_pc+0x21/0x5b
> > > > > > > [<ffffffff8020d03c>] call_softirq+0x1c/0x28
> > > > > > > [<ffffffff8020e091>] do_softirq+0x2c/0x6c
> > > > > > > [<ffffffff8021e018>] smp_apic_timer_interrupt+0x93/0xac
> > > > > > > [<ffffffff8020ca73>] apic_timer_interrupt+0x13/0x20
> > > > > > > <EOI> <0>Code: Bad RIP value.
> > > > > > > RIP [<0000000000000000>] 0x0
> > > > > > > RSP <ffff88003fa73ef0>
> > > > > > > CR2: 0000000000000000
> > > > > > > ---[ end trace 69ecde41a682e571 ]---
> > > > > > > Kernel panic - not syncing: Fatal exception in interrupt
> > > > > > > Pid: 0, comm: swapper Tainted: G D 2.6.28-rc7-next-20081209-autotest #1
> > > > > > > Call Trace:
> > > > > > > Mounting root fi <IRQ> lesystem.
> > > > > > > [<ffffffff80236e7d>] panic+0x86/0x144
> > > > > > > [<ffffffff8020ca73>] apic_timer_interrupt+0x13/0x20
> > > > > > > [<ffffffff8051fd57>] oops_end+0x61/0xad
> > > > > > > [<ffffffff8051fd96>] oops_end+0xa0/0xad
> > > > > > > [<ffffffff805215ac>] do_page_fault+0x748/0x801
> > > > > > > [<ffffffff8051f3af>] page_fault+0x1f/0x30
> > > > > > > [<ffffffff8032222d>] selinux_cred_free+0x0/0x14
> > > > > > > BUG: unable to handle kernel NULL pointer dereference at 0000000000000002
> > > > > > > IP: [<ffffffff802926da>] kmem_cache_alloc+0x6a/0x99
> > > > > > > PGD 3e8ad067 PUD 3e8ac067 PMD 0
> > > > > > > Oops: 0000 [#2] SMP
> > > > > > > last sysfs file: /sys/block/ram7/removable
> > > > > > > CPU 2
> > > > > > > Modules linked in:
> > > > > > > Pid: 1, comm: init Tainted: G D 2.6.28-rc7-next-20081209-autotest #1
> > > > > > > RIP: 0010:[<ffffffff802926da>] [<ffffffff802926da>] kmem_cache_alloc+0x6a/0x99
> > > > > > > RSP: 0018:ffff88003f9d7db8 EFLAGS: 00010002
> > > > > > > RAX: 0000000000000000 RBX: 0000000000000246 RCX: 0000000000000001
> > > > > > > RDX: ffff880001037800 RSI: 0000000000000002 RDI: ffffffff80854f70
> > > > > > > RBP: 0000000000000020 R08: 0000000000000000 R09: ffffffff80859a80
> > > > > > > R10: 0000000000000001 R11: ffff88003f426018 R12: ffffffff80854f70
> > > > > > > R13: ffffffff80253ab1 R14: 0000000000000080 R15: ffffffff802b4141
> > > > > > > FS: 000000000066d870(0063) GS:ffff88003f803c80(0000) knlGS:0000000000000000
> > > > > > > CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
> > > > > > > CR2: 0000000000000002 CR3: 000000003e8a9000 CR4: 00000000000006e0
> > > > > > > DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> > > > > > > DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
> > > > > > > Process init (pid: 1, threadinfo ffff88003f9d6000, task ffff88003f9d8000)
> > > > > > > Stack:
> > > > > > > 00000000ffffffff ffff88003f426000 ffffffff80859a80 ffffffff80859a80
> > > > > > > 0000000000000000 ffffffff80253ab1 00000000006f1db0 0000000000000000
> > > > > > > ffff88003eb6a2f8 ffff88003f9d7e48 0000000000000000 01ff88003e97c400
> > > > > > > Call Trace:
> > > > > > > [<ffffffff80253ab1>] ? smp_call_function_many+0xdb/0x220
> > > > > > > [<ffffffff802704ca>] ? do_writepages+0x23/0x30
> > > > > > > [<ffffffff802b4141>] ? invalidate_bh_lru+0x0/0x42
> > > > > > > [<ffffffff80253c16>] ? smp_call_function+0x20/0x24
> > > > > > > [<ffffffff8023b483>] ? on_each_cpu+0x10/0x22
> > > > > > > [<ffffffff802b919b>] ? kill_bdev+0x1b/0x30
> > > > > > > [<ffffffff802b9892>] ? __blkdev_put+0x54/0x151
> > > > > > > [<ffffffff8029899f>] ? __fput+0xe7/0x1b4
> > > > > > > [<ffffffff802961ea>] ? filp_close+0x5e/0x66
> > > > > > > [<ffffffff8029627f>] ? sys_close+0x8d/0xd1
> > > > > > > [<ffffffff8020bf5b>] ? system_call_fastpath+0x16/0x1b
> > > > > > > Code: 18 03 00 00 48 8b 32 44 8b 72 18 48 85 f6 75 18 49 89 d0 89 ee 4c 89 e9 83 ca ff 4c 89 e7 e8 57 f8 ff ff 48 89 c6 eb 0a 8b 42 14 <48> 8b 04 c6 48 89 02 53 9d 31 c0 c1 ed 0f 48 85 f6 0f 95 c0 85
> > > > > > > RIP [<ffffffff802926da>] kmem_cache_alloc+0x6a/0x99
> > > > > > > RSP <ffff88003f9d7db8>
> > > > > > > CR2: 0000000000000002
> > > > > > > ---[ end trace 69ecde41a682e571 ]---
> > > > > > > Kernel panic - not syncing: Attempted to kill init!
> > > > > > > Pid: 1, comm: init Tainted: G D 2.6.28-rc7-next-20081209-autotest #1
> > > > > > > Call Trace:
> > > > > > > [<ffffffff80236e7d>] panic+0x86/0x144
> > > > > > > [<ffffffff802abbfb>] mntput_no_expire+0x1e/0x139
> > > > > > > [<ffffffff802961ea>] filp_close+0x5e/0x66
> > > > > > > [<ffffffff8023870d>] exit_fs+0x35/0x46
> > > > > > > [<ffffffff80239b7a>] do_exit+0x75/0x766
> > > > > > > [<ffffffff8051fd9e>] oops_end+0xa8/0xad
> > > > > > > [<ffffffff805215ac>] do_page_fault+0x748/0x801
> > > > > > > [<ffffffff80253ab1>] smp_call_function_many+0xdb/0x220
> > > > > > > [<ffffffff802b4141>] invalidate_bh_lru+0x0/0x42
> > > > > > > [<ffffffff8051f3af>] page_fault+0x1f/0x30
> > > > > > > [<ffffffff802b4141>] invalidate_bh_lru+0x0/0x42
> > > > > > > [<ffffffff80253ab1>] smp_call_function_many+0xdb/0x220
> > > > > > > [<ffffffff802926da>] kmem_cache_alloc+0x6a/0x99
> > > > > > > [<ffffffff80253ab1>] smp_call_function_many+0xdb/0x220
> > > > > > > [<ffffffff802704ca>] do_writepages+0x23/0x30
> > > > > > > [<ffffffff802b4141>] invalidate_bh_lru+0x0/0x42
> > > > > > > [<ffffffff80253c16>] smp_call_function+0x20/0x24
> > > > > > > [<ffffffff8023b483>] on_each_cpu+0x10/0x22
> > > > > > > [<ffffffff802b919b>] kill_bdev+0x1b/0x30
> > > > > > > [<ffffffff802b9892>] __blkdev_put+0x54/0x151
> > > > > > > [<ffffffff8029899f>] __fput+0xe7/0x1b4
> > > > > > > [<ffffffff802961ea>] filp_close+0x5e/0x66
> > > > > > > [<ffffffff8029627f>] sys_close+0x8d/0xd1
> > > > > > > [<ffffffff8020bf5b>] system_call_fastpath+0x16/0x1b
> > > > > > > BUG: unable to handle kernel NULL pointer dereference at 0000000000000002
> > > > > > > IP: [<ffffffff802926da>] kmem_cache_alloc+0x6a/0x99
> > > > > > > PGD 0
> > > > > > > Oops: 0000 [#3] SMP
> > > > > > > last sysfs file: /sys/block/ram7/removable
> > > > > > > CPU 2
> > > > > > > Modules linked in:
> > > > > > > Pid: 1, comm: init Tainted: G D 2.6.28-rc7-next-20081209-autotest #1
> > > > > > > RIP: 0010:[<ffffffff802926da>] [<ffffffff802926da>] kmem_cache_alloc+0x6a/0x99
> > > > > > > RSP: 0018:ffff88003f9d7a58 EFLAGS: 00010002
> > > > > > > RAX: 0000000000000000 RBX: 0000000000000246 RCX: 0000000000000001
> > > > > > > RDX: ffff880001037800 RSI: 0000000000000002 RDI: ffffffff80854f70
> > > > > > > RBP: 0000000000000020 R08: ffffffff8052a5c0 R09: ffffffff80859a80
> > > > > > > R10: 0000000000000000 R11: ffffffff8067c887 R12: ffffffff80854f70
> > > > > > > R13: ffffffff80253ab1 R14: 0000000000000080 R15: ffffffff80211dd3
> > > > > > > FS: 000000000066d870(0000) GS:ffff88003f803c80(0000) knlGS:0000000000000000
> > > > > > > CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
> > > > > > > CR2: 0000000000000002 CR3: 0000000000201000 CR4: 00000000000006e0
> > > > > > > DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> > > > > > > DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
> > > > > > > Process init (pid: 1, threadinfo ffff88003f9d6000, task ffff88003f9d8000)
> > > > > > > Stack:
> > > > > > > 00000000ffffffff ffff88003f9d8000 ffffffff80859a80 ffffffff80859a80
> > > > > > > 0000000000000000 ffffffff80253ab1 ffffffff8052a5c0 ffff88003fa3bfc0
> > > > > > > 0000000000000000 ffffffff8020e525 0000000000000010 000000003e943800
> > > > > > > Call Trace:
> > > > > > > [<ffffffff80253ab1>] ? smp_call_function_many+0xdb/0x220
> > > > > > > [<ffffffff8020e525>] ? dump_trace+0x223/0x232
> > > > > > > [<ffffffff80253c16>] ? smp_call_function+0x20/0x24
> > > > > > > [<ffffffff8021ccc1>] ? native_smp_send_stop+0x1a/0x26
> > > > > > > [<ffffffff80236e91>] ? panic+0x9a/0x144
> > > > > > > [<ffffffff802abbfb>] ? mntput_no_expire+0x1e/0x139
> > > > > > > [<ffffffff802961ea>] ? filp_close+0x5e/0x66
> > > > > > > [<ffffffff8023870d>] ? exit_fs+0x35/0x46
> > > > > > > [<ffffffff80239b7a>] ? do_exit+0x75/0x766
> > > > > > > [<ffffffff8051fd9e>] ? oops_end+0xa8/0xad
> > > > > > > [<ffffffff805215ac>] ? do_page_fault+0x748/0x801
> > > > > > > [<ffffffff80253ab1>] ? smp_call_function_many+0xdb/0x220
> > > > > > > [<ffffffff802b4141>] ? invalidate_bh_lru+0x0/0x42
> > > > > > > [<ffffffff8051f3af>] ? page_fault+0x1f/0x30
> > > > > > > [<ffffffff802b4141>] ? invalidate_bh_lru+0x0/0x42
> > > > > > > [<ffffffff80253ab1>] ? smp_call_function_many+0xdb/0x220
> > > > > > > [<ffffffff802926da>] ? kmem_cache_alloc+0x6a/0x99
> > > > > > > [<ffffffff80253ab1>] ? smp_call_function_many+0xdb/0x220
> > > > > > > [<ffffffff802704ca>] ? do_writepages+0x23/0x30
> > > > > > > [<ffffffff802b4141>] ? invalidate_bh_lru+0x0/0x42
> > > > > > > [<ffffffff80253c16>] ? smp_call_function+0x20/0x24
> > > > > > > [<ffffffff8023b483>] ? on_each_cpu+0x10/0x22
> > > > > > > [<ffffffff802b919b>] ? kill_bdev+0x1b/0x30
> > > > > > > [<ffffffff802b9892>] ? __blkdev_put+0x54/0x151
> > > > > > > [<ffffffff8029899f>] ? __fput+0xe7/0x1b4
> > > > > > > [<ffffffff802961ea>] ? filp_close+0x5e/0x66
> > > > > > > [<ffffffff8029627f>] ? sys_close+0x8d/0xd1
> > > > > > > [<ffffffff8020bf5b>] ? system_call_fastpath+0x16/0x1b
> > > > > > > Code: 18 03 00 00 48 8b 32 44 8b 72 18 48 85 f6 75 18 49 89 d0 89 ee 4c 89 e9 83 ca ff 4c 89 e7 e8 57 f8 ff ff 48 89 c6 eb 0a 8b 42 14 <48> 8b 04 c6 48 89 02 53 9d 31 c0 c1 ed 0f 48 85 f6 0f 95 c0 85
> > > > > > > RIP [<ffffffff802926da>] kmem_cache_alloc+0x6a/0x99
> > > > > > > RSP <ffff88003f9d7a58>
> > > > > > > CR2: 0000000000000002
> > > > > > > ---[ end trace 69ecde41a682e571 ]---
> > > > > > > Fixing recursive fault but reboot is needed!
> > > > > > > [<ffffffff80268f66>] __rcu_process_callbacks+0x14e/0x1c3
> > > > > > > [<ffffffff80268f66>] __rcu_process_callbacks+0x14e/0x1c3
> > > > > > > [<ffffffff80269001>] rcu_process_callbacks+0x26/0x4a
> > > > > > > [<ffffffff8023b891>] __do_softirq+0x76/0x136
> > > > > > > [<ffffffff8020e79e>] profile_pc+0x21/0x5b
> > > > > > > [<ffffffff8020d03c>] call_softirq+0x1c/0x28
> > > > > > > [<ffffffff8020e091>] do_softirq+0x2c/0x6c
> > > > > > > [<ffffffff8021e018>] smp_apic_timer_interrupt+0x93/0xac
> > > > > > > [<ffffffff8020ca73>] apic_timer_interrupt+0x13/0x20
> > > > > > > <EOI>
> > > > >
> <snip the .config file>
>
> --
> Thanks & Regards,
> Kamalesh Babulal,
> Linux Technology Center,
> IBM, ISTL.
^ permalink raw reply
* Re: linux-next: manual merge of the mtd tree
From: Stephen Rothwell @ 2008-12-12 23:05 UTC (permalink / raw)
To: Dmitry Eremin-Solenikov
Cc: David Woodhouse, linux-next, Eric Miao, Russell King
In-Reply-To: <bc64b4640812120229j6989fb6ax7842ed2190946a57@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 375 bytes --]
Hi Dmitry,
On Fri, 12 Dec 2008 13:29:01 +0300 "Dmitry Eremin-Solenikov" <dbaryshkov@gmail.com> wrote:
>
> Sorry for the delay. I've attached the files resulting from the merge
> of today linux-next/master and mtd/master.
Thanks, I will use them on Monday.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply
* Re: linux-next: Tree for December 12 (drm)
From: Randy Dunlap @ 2008-12-13 4:55 UTC (permalink / raw)
To: Stephen Rothwell; +Cc: linux-next, LKML, jesse.barnes, airlied
In-Reply-To: <20081212185654.0af8b4a1.sfr@canb.auug.org.au>
Stephen Rothwell wrote:
> Hi all,
>
> Changes since 20081211:
>
> Undropped tree:
> drm
oops ^^^
When I2C=n, and drm is built-in or modular, this build error
happens:
(drm built-in:)
build-r7079.out:(.text+0x47e5f): undefined reference to `i2c_transfer'
7080 same
7086 same
7089 same
(from gpu/drm/drm_edid.c)
(drm modular:)
build-r7103.out:ERROR: "i2c_transfer" [drivers/gpu/drm/drm.ko] undefined!
(from gpu/drm/drm_edid.c)
~Randy
^ permalink raw reply
* Re: [PATCH 1/1] cpumask: force nr_cpumask_bit to NR_CPUS for CPUMASK_OFFSTACK=n
From: Rusty Russell @ 2008-12-13 9:55 UTC (permalink / raw)
To: Mike Travis
Cc: Ingo Molnar, David Miller, Paul Mackerras, Martin Schwidefsky,
Ralf Baechle, Tony Luck, Linus Torvalds, Stephen Rothwell, LKML,
linux-next
In-Reply-To: <49417B99.7090004@sgi.com>
On Friday 12 December 2008 07:14:09 Mike Travis wrote:
> Re: cpumask conversions, or not?
>
> Rusty Russell wrote:
> > On Tuesday 09 December 2008 21:26:36 Mike Travis wrote:
> >> Rusty Russell wrote:
> >>> Hi all,
> >>>
> >>> The new cpumask conversions are going well, but unfortunately Stephen
> >>> uncovered a nasty bug via linux-next: the new cpumask operators only go to
> >>> nr_cpumask_bits which can be less than NR_CPUS if NR_CPUS > BITS_PER_LONG.
> >>> The undefined bits confuse the old cpumask operators. We fixed one case,
> >>> but I am concerned that we will break archs as we convert more core code.
> >> Hi Rusty,
> >>
> >> I think we can avoid this problem if we make cpumask_bits == NR_CPUS iff
> >> CONFIG_CPUMASK_OFFSTACK=n. This complies with the current cpumask_t
> >> approach and should cause all cpumask operators to always operate on
> >> all cpumask bits.
> >
> > A very good point. And it's no worse than the old method.
> >
> > OK, forget about this for now, no urgent conversions needed :)
> > Rusty.
>
> This probably should be submitted through linux-next for wider test coverage?
Identical patch already in series.
Thanks,
Rusty.
^ permalink raw reply
* Re: next-2008120[3,4] drm oops (was Re: vanilla kernels hang randomly under Fedora 10 on system with Radeon card)
From: Bartlomiej Zolnierkiewicz @ 2008-12-13 13:57 UTC (permalink / raw)
To: Dave Airlie; +Cc: linux-kernel, Benny Amorsen, linux-next
In-Reply-To: <200812100009.24630.bzolnier@gmail.com>
On Wednesday 10 December 2008, Bartlomiej Zolnierkiewicz wrote:
> On Monday 08 December 2008, Dave Airlie wrote:
> > On Sat, Dec 6, 2008 at 4:50 AM, Bartlomiej Zolnierkiewicz
> > <bzolnier@gmail.com> wrote:
> > > On Thursday 04 December 2008, Bartlomiej Zolnierkiewicz wrote:
> > >
> > > [...]
> > >
> > >> To add more fun I'm getting following DRM oops with next-2008120[3,4]:
> > >
> > > Here is refreshed oops (I needed to tweak/rebuild the kernel):
> > >
> > > BUG: unable to handle kernel NULL pointer dereference at 00000144
> > > IP: [<c0247371>] drm_addmap_core+0x548/0x561
> > > *pde = 00000000
> > > Oops: 0000 [#1] PREEMPT SMP
> > > last sysfs file: /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/enable
> > > Modules linked in: radeon(+) lib80211_crypt_tkip xt_state ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack nf_defrag_ipv4 acerhk cpufreq_ondemand binfmt_misc snd_intel8x0 snd_intel8x0m snd_ac97_codec snd_seq_dummy ac97_bus snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss snd_pcm ipw2200 snd_timer libipw snd soundcore snd_page_alloc lib80211 ehci_hcd uhci_hcd parport_pc parport
> > >
> > > Pid: 1740, comm: modprobe Not tainted (2.6.28-rc7-next-20081204 #268) Extensa 2900
> > > EIP: 0060:[<c0247371>] EFLAGS: 00213202 CPU: 0
> > > EIP is at drm_addmap_core+0x548/0x561
> > > EAX: 00000000 EBX: 00000000 ECX: 00000000 EDX: da1dec00
> > > ESI: da2baac0 EDI: da177a80 EBP: e0010000 ESP: da2c1ea4
> > > DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
> > > Process modprobe (pid: 1740, ti=da2c1000 task=df8741b0 task.ti=da2c1000)
> > > Stack:
> > > da177a80 00010000 da1dec00 00000002 da1dec20 da177a88 da1decd4 da1decd4
> > > da1dece0 00010000 da2c1eec da285800 da285b44 da1dec00 c02473f2 00000001
> > > 00000082 da2c1eec da2c1ef4 00010000 e085674c 00000001 00000082 da285b40
> > > Call Trace:
> > > [<c02473f2>] drm_addmap+0x14/0x2e
> > > [<e085674c>] radeon_driver_load+0xef/0x15a [radeon]
> > > [<c024bb73>] drm_get_dev+0x240/0x4ab
> > > [<c01e48af>] kobject_get+0xf/0x13
> > > [<c024821d>] drm_init+0x5a/0x89
> > > [<e0832000>] radeon_init+0x0/0x14 [radeon]
> > > [<c010112c>] _stext+0x44/0x108
> > > [<c01430a8>] sys_init_module+0x87/0x174
> > > [<c0102eb1>] sysenter_do_call+0x12/0x25
> > > [<c0310000>] rtl8139_init_one+0x685/0x85e
> > > Code: 12 0d 00 eb 35 8b 3c 24 8b 47 10 c7 47 1c 00 00 00 00 c1 e0 0c 89 47 18 8b 44 24 10 e8 a8 12 0d 00 8b 54 24 08 8b 82 b0 02 00 00 <8b> 80 44 01 00 00 89 47 20 8b 4c 24 44 89 39 83 c4 28 89 d8 5b
> > > EIP: [<c0247371>] drm_addmap_core+0x548/0x561 SS:ESP 0068:da2c1ea4
> > > ---[ end trace b2c7f2a062698806 ]---
> > >
> > > [...]
> > >
> > >> which I think may be caused by:
> > >>
> > >> commit c2f29f764c0daa0084674d4a463e7158ac5c4dc4
> > >> Author: Dave Airlie <airlied@redhat.com>
> > >> Date: Fri Nov 28 14:22:24 2008 +1000
> > >>
> > >> drm: move to kref per-master structures.
> > >>
> > >> however I haven't verified it yet.
> >
> >
> > Thanks for that, I've pushed the fix into drm-next
> > (d5de2d1a3a88628396c895410ae9e06f732d6591)
> > which was to reorganise the startup sequence so things happened in a
> > more correct order.
> >
> > Let me know if it still breaks.
>
> I've just tested next-20081209 and it is all good now. Thanks!
I was just "lucky" to try -next release with drm tree dropped... ;-)
next-20081212 brakes X (== black screen on start, you can't do anything),
reverting the proposed patch is impossible since there are already commits
depending on it. I went back to next-20081208 -- the same problem with
X happens and reverting the patch fixes it.
Thanks,
Bart
^ permalink raw reply
* Re: linux-next: Tree for December 12 (netdev ops)
From: Randy Dunlap @ 2008-12-14 5:26 UTC (permalink / raw)
To: Stephen Rothwell; +Cc: linux-next, LKML, netdev, Stephen Hemminger, Alan Cox
In-Reply-To: <20081212185654.0af8b4a1.sfr@canb.auug.org.au>
[-- Attachment #1: Type: text/plain, Size: 745 bytes --]
Stephen Rothwell wrote:
> Hi all,
>
> Changes since 20081211:
If hplan is built-in, this build error can happen:
build-r7084.out:8390p.c:(.text+0xfd9aa): undefined reference to `ei_start_xmit'
build-r7084.out:8390p.c:(.text+0xfd9b6): undefined reference to `ei_get_stats'
build-r7084.out:8390p.c:(.text+0xfd9c6): undefined reference to `ei_set_multicast_list'
since hplan uses 8390p.c, which uses lib8390.c, but the latter always uses:
#ifdef CONFIG_COMPAT_NET_DEV_OPS
dev->hard_start_xmit = ei_start_xmit;
dev->get_stats = ei_get_stats;
dev->set_multicast_list = ei_set_multicast_list;
dev->tx_timeout = __ei_tx_timeout;
#endif
However, those ei_* functions should be eip_* in this case.
How to do that??
config attached.
~Randy
[-- Attachment #2: config-hplan-y --]
[-- Type: text/plain, Size: 37463 bytes --]
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.28-rc8
# Sat Dec 13 17:04:49 2008
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
# CONFIG_X86_64 is not set
CONFIG_X86=y
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_FAST_CMPXCHG_LOCAL=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
# CONFIG_GENERIC_TIME_VSYSCALL is not set
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_DEFAULT_IDLE=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
# CONFIG_ZONE_DMA32 is not set
CONFIG_ARCH_POPULATES_NODE_MAP=y
# CONFIG_AUDIT_ARCH is not set
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_X86_BIOS_REBOOT=y
CONFIG_KTIME_SCALAR=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
CONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not set
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
# CONFIG_TASK_XACCT is not set
# CONFIG_AUDIT is not set
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=17
# CONFIG_CGROUPS is not set
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_GROUP_SCHED=y
# CONFIG_FAIR_GROUP_SCHED is not set
CONFIG_RT_GROUP_SCHED=y
CONFIG_USER_SCHED=y
# CONFIG_CGROUP_SCHED is not set
CONFIG_RELAY=y
CONFIG_NAMESPACES=y
# CONFIG_UTS_NS is not set
CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
CONFIG_EMBEDDED=y
# CONFIG_UID16 is not set
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_EXTRA_PASS=y
CONFIG_HOTPLUG=y
# CONFIG_PRINTK is not set
CONFIG_BUG=y
# CONFIG_ELF_CORE is not set
CONFIG_PCSPKR_PLATFORM=y
# CONFIG_COMPAT_BRK is not set
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_ANON_INODES=y
# CONFIG_EPOLL is not set
CONFIG_SIGNALFD=y
# CONFIG_TIMERFD is not set
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PCI_QUIRKS=y
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
CONFIG_MARKERS=y
CONFIG_OPROFILE=y
CONFIG_HAVE_OPROFILE=y
# CONFIG_KPROBES is not set
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_MODVERSIONS=y
# CONFIG_MODULE_SRCVERSION_ALL is not set
# CONFIG_BLOCK is not set
CONFIG_CLASSIC_RCU=y
# CONFIG_FREEZER is not set
#
# Processor type and features
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
# CONFIG_SMP is not set
CONFIG_X86_PC=y
# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_VSMP is not set
CONFIG_X86_RDC321X=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
# CONFIG_PARAVIRT_GUEST is not set
CONFIG_MEMTEST=y
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
CONFIG_M686=y
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_MVIAC7 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
# CONFIG_GENERIC_CPU is not set
# CONFIG_X86_GENERIC is not set
CONFIG_X86_CPU=y
CONFIG_X86_CMPXCHG=y
CONFIG_X86_L1_CACHE_SHIFT=5
CONFIG_X86_XADD=y
CONFIG_X86_PPRO_FENCE=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_TSC=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=4
CONFIG_X86_DEBUGCTLMSR=y
# CONFIG_PROCESSOR_SELECT is not set
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_CYRIX_32=y
CONFIG_CPU_SUP_AMD=y
CONFIG_CPU_SUP_CENTAUR_32=y
CONFIG_CPU_SUP_TRANSMETA_32=y
CONFIG_CPU_SUP_UMC_32=y
# CONFIG_X86_DS is not set
# CONFIG_X86_PTRACE_BTS is not set
# CONFIG_HPET_TIMER is not set
CONFIG_DMI=y
# CONFIG_IOMMU_HELPER is not set
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
# CONFIG_X86_UP_APIC is not set
CONFIG_X86_MCE=y
# CONFIG_X86_MCE_NONFATAL is not set
# CONFIG_VM86 is not set
CONFIG_TOSHIBA=m
# CONFIG_I8K is not set
CONFIG_X86_REBOOTFIXUPS=y
CONFIG_MICROCODE=m
# CONFIG_MICROCODE_INTEL is not set
# CONFIG_MICROCODE_AMD is not set
CONFIG_MICROCODE_OLD_INTERFACE=y
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=m
# CONFIG_NOHIGHMEM is not set
CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set
CONFIG_VMSPLIT_3G=y
# CONFIG_VMSPLIT_3G_OPT is not set
# CONFIG_VMSPLIT_2G is not set
# CONFIG_VMSPLIT_2G_OPT is not set
# CONFIG_VMSPLIT_1G is not set
CONFIG_PAGE_OFFSET=0xC0000000
CONFIG_HIGHMEM=y
# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ILLEGAL_POINTER_VALUE=0
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_SPARSEMEM_STATIC=y
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_RESOURCES_64BIT=y
# CONFIG_PHYS_ADDR_T_64BIT is not set
CONFIG_ZONE_DMA_FLAG=1
CONFIG_VIRT_TO_BUS=y
CONFIG_UNEVICTABLE_LRU=y
CONFIG_HIGHPTE=y
# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
CONFIG_X86_RESERVE_LOW_64K=y
CONFIG_MATH_EMULATION=y
# CONFIG_MTRR is not set
CONFIG_SECCOMP=y
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=250
CONFIG_SCHED_HRTICK=y
CONFIG_KEXEC=y
# CONFIG_CRASH_DUMP is not set
CONFIG_PHYSICAL_START=0x100000
CONFIG_RELOCATABLE=y
CONFIG_PHYSICAL_ALIGN=0x100000
# CONFIG_COMPAT_VDSO is not set
# CONFIG_CMDLINE_BOOL is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
#
# Power management and ACPI options
#
# CONFIG_PM is not set
#
# CPU Frequency scaling
#
# CONFIG_CPU_FREQ is not set
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_IDLE_GOV_MENU=y
#
# Bus options (PCI etc.)
#
CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GOMMCONFIG is not set
# CONFIG_PCI_GODIRECT is not set
# CONFIG_PCI_GOOLPC is not set
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCIEPORTBUS=y
CONFIG_HOTPLUG_PCI_PCIE=m
CONFIG_PCIEAER=y
# CONFIG_PCIEASPM is not set
# CONFIG_ARCH_SUPPORTS_MSI is not set
CONFIG_PCI_LEGACY=y
CONFIG_PCI_DEBUG=y
CONFIG_PCI_STUB=m
CONFIG_ISA_DMA_API=y
CONFIG_ISA=y
CONFIG_EISA=y
CONFIG_EISA_VLB_PRIMING=y
# CONFIG_EISA_PCI_EISA is not set
# CONFIG_EISA_VIRTUAL_ROOT is not set
CONFIG_EISA_NAMES=y
CONFIG_MCA=y
CONFIG_MCA_LEGACY=y
CONFIG_MCA_PROC_FS=y
# CONFIG_SCx200 is not set
# CONFIG_OLPC is not set
CONFIG_K8_NB=y
CONFIG_PCCARD=y
# CONFIG_PCMCIA_DEBUG is not set
CONFIG_PCMCIA=y
# CONFIG_PCMCIA_LOAD_CIS is not set
# CONFIG_PCMCIA_IOCTL is not set
# CONFIG_CARDBUS is not set
#
# PC-card bridges
#
CONFIG_YENTA=y
# CONFIG_YENTA_O2 is not set
CONFIG_YENTA_RICOH=y
CONFIG_YENTA_TI=y
CONFIG_YENTA_TOSHIBA=y
# CONFIG_PD6729 is not set
# CONFIG_I82092 is not set
# CONFIG_I82365 is not set
CONFIG_TCIC=m
CONFIG_PCMCIA_PROBE=y
CONFIG_PCCARD_NONSTATIC=y
CONFIG_HOTPLUG_PCI=y
CONFIG_HOTPLUG_PCI_FAKE=m
CONFIG_HOTPLUG_PCI_COMPAQ=m
# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
CONFIG_HOTPLUG_PCI_CPCI=y
CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m
CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
CONFIG_HOTPLUG_PCI_SHPC=m
#
# Executable file formats / Emulations
#
# CONFIG_BINFMT_ELF is not set
CONFIG_HAVE_AOUT=y
CONFIG_BINFMT_AOUT=y
# CONFIG_BINFMT_MISC is not set
CONFIG_HAVE_ATOMIC_IOMAP=y
CONFIG_NET=y
#
# Networking options
#
# CONFIG_NET_NS is not set
CONFIG_COMPAT_NET_DEV_OPS=y
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
CONFIG_UNIX=y
CONFIG_XFRM=y
# CONFIG_XFRM_USER is not set
# CONFIG_XFRM_SUB_POLICY is not set
# CONFIG_XFRM_MIGRATE is not set
# CONFIG_XFRM_STATISTICS is not set
CONFIG_XFRM_IPCOMP=y
CONFIG_NET_KEY=y
# CONFIG_NET_KEY_MIGRATE is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_ASK_IP_FIB_HASH=y
# CONFIG_IP_FIB_TRIE is not set
CONFIG_IP_FIB_HASH=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
# CONFIG_IP_ROUTE_VERBOSE is not set
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
# CONFIG_IP_PNP_BOOTP is not set
CONFIG_IP_PNP_RARP=y
CONFIG_NET_IPIP=m
# CONFIG_NET_IPGRE is not set
# CONFIG_IP_MROUTE is not set
CONFIG_ARPD=y
CONFIG_SYN_COOKIES=y
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_XFRM_TUNNEL is not set
CONFIG_INET_TUNNEL=m
CONFIG_INET_XFRM_MODE_TRANSPORT=y
CONFIG_INET_XFRM_MODE_TUNNEL=y
CONFIG_INET_XFRM_MODE_BEET=y
CONFIG_INET_LRO=y
# CONFIG_INET_DIAG is not set
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_CUBIC=y
CONFIG_DEFAULT_TCP_CONG="cubic"
CONFIG_TCP_MD5SIG=y
CONFIG_IPV6=y
CONFIG_IPV6_PRIVACY=y
CONFIG_IPV6_ROUTER_PREF=y
# CONFIG_IPV6_ROUTE_INFO is not set
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_INET6_AH=y
CONFIG_INET6_ESP=y
CONFIG_INET6_IPCOMP=y
# CONFIG_IPV6_MIP6 is not set
CONFIG_INET6_XFRM_TUNNEL=y
CONFIG_INET6_TUNNEL=y
CONFIG_INET6_XFRM_MODE_TRANSPORT=y
CONFIG_INET6_XFRM_MODE_TUNNEL=y
CONFIG_INET6_XFRM_MODE_BEET=y
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=y
# CONFIG_IPV6_SIT is not set
# CONFIG_IPV6_TUNNEL is not set
# CONFIG_IPV6_MULTIPLE_TABLES is not set
CONFIG_IPV6_MROUTE=y
# CONFIG_IPV6_PIMSM_V2 is not set
# CONFIG_NETWORK_SECMARK is not set
# CONFIG_NETFILTER is not set
# CONFIG_IP_DCCP is not set
# CONFIG_IP_SCTP is not set
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_NET_DSA is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_NET_SCHED is not set
# CONFIG_DCB is not set
#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_HAMRADIO is not set
# CONFIG_CAN is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
CONFIG_AF_RXRPC=y
CONFIG_AF_RXRPC_DEBUG=y
CONFIG_RXKAD=y
# CONFIG_PHONET is not set
CONFIG_FIB_RULES=y
# CONFIG_WIRELESS is not set
CONFIG_WIRELESS_EXT=y
CONFIG_LIB80211=y
CONFIG_LIB80211_CRYPT_WEP=y
CONFIG_LIB80211_CRYPT_CCMP=y
CONFIG_LIB80211_CRYPT_TKIP=y
# CONFIG_RFKILL is not set
# CONFIG_NET_9P is not set
#
# Device Drivers
#
#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
# CONFIG_FIRMWARE_IN_KERNEL is not set
CONFIG_EXTRA_FIRMWARE=""
# CONFIG_DEBUG_DRIVER is not set
CONFIG_DEBUG_DEVRES=y
# CONFIG_SYS_HYPERVISOR is not set
CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y
# CONFIG_MTD is not set
# CONFIG_PARPORT is not set
CONFIG_PNP=y
CONFIG_PNP_DEBUG_MESSAGES=y
#
# Protocols
#
CONFIG_ISAPNP=y
CONFIG_PNPBIOS=y
CONFIG_PNPBIOS_PROC_FS=y
# CONFIG_PNPACPI is not set
# CONFIG_MISC_DEVICES is not set
CONFIG_HAVE_IDE=y
#
# SCSI device support
#
# CONFIG_SCSI_DMA is not set
# CONFIG_SCSI_NETLINK is not set
# CONFIG_FUSION is not set
#
# IEEE 1394 (FireWire) support
#
#
# Enable only one of the two stacks, unless you know what you are doing
#
# CONFIG_FIREWIRE is not set
CONFIG_IEEE1394=y
# CONFIG_IEEE1394_OHCI1394 is not set
CONFIG_IEEE1394_PCILYNX=m
#
# SBP-2 support (for storage devices) requires SCSI
#
CONFIG_IEEE1394_ETH1394_ROM_ENTRY=y
CONFIG_IEEE1394_ETH1394=m
CONFIG_IEEE1394_RAWIO=m
# CONFIG_IEEE1394_VERBOSEDEBUG is not set
# CONFIG_I2O is not set
# CONFIG_MACINTOSH_DRIVERS is not set
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
# CONFIG_BONDING is not set
CONFIG_MACVLAN=y
# CONFIG_EQUALIZER is not set
CONFIG_TUN=m
CONFIG_VETH=y
CONFIG_NET_SB1000=y
# CONFIG_ARCNET is not set
CONFIG_PHYLIB=y
#
# MII PHY device drivers
#
CONFIG_MARVELL_PHY=m
CONFIG_DAVICOM_PHY=y
CONFIG_QSEMI_PHY=m
# CONFIG_LXT_PHY is not set
CONFIG_CICADA_PHY=y
CONFIG_VITESSE_PHY=m
CONFIG_SMSC_PHY=y
# CONFIG_BROADCOM_PHY is not set
CONFIG_ICPLUS_PHY=m
CONFIG_REALTEK_PHY=y
CONFIG_NATIONAL_PHY=y
CONFIG_STE10XP=y
# CONFIG_LSI_ET1011C_PHY is not set
CONFIG_FIXED_PHY=y
CONFIG_MDIO_BITBANG=m
CONFIG_NET_ETHERNET=y
CONFIG_MII=y
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
# CONFIG_CASSINI is not set
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_LANCE is not set
CONFIG_NET_VENDOR_SMC=y
# CONFIG_WD80x3 is not set
CONFIG_ULTRAMCA=m
# CONFIG_ULTRA is not set
CONFIG_ULTRA32=m
# CONFIG_SMC9194 is not set
# CONFIG_NET_VENDOR_RACAL is not set
# CONFIG_NET_TULIP is not set
# CONFIG_AT1700 is not set
# CONFIG_DEPCA is not set
# CONFIG_HP100 is not set
CONFIG_NET_ISA=y
CONFIG_E2100=m
CONFIG_EWRK3=y
CONFIG_EEXPRESS=y
CONFIG_EEXPRESS_PRO=y
CONFIG_HPLAN_PLUS=m
CONFIG_HPLAN=y
CONFIG_LP486E=y
# CONFIG_ETH16I is not set
CONFIG_NE2000=m
# CONFIG_ZNET is not set
# CONFIG_SEEQ8005 is not set
CONFIG_NE2_MCA=y
# CONFIG_IBMLANA is not set
# CONFIG_IBM_NEW_EMAC_ZMII is not set
# CONFIG_IBM_NEW_EMAC_RGMII is not set
# CONFIG_IBM_NEW_EMAC_TAH is not set
# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
# CONFIG_NET_PCI is not set
# CONFIG_B44 is not set
# CONFIG_CS89x0 is not set
# CONFIG_ATL2 is not set
# CONFIG_NETDEV_1000 is not set
# CONFIG_NETDEV_10000 is not set
# CONFIG_TR is not set
#
# Wireless LAN
#
CONFIG_WLAN_PRE80211=y
CONFIG_STRIP=m
CONFIG_ARLAN=m
CONFIG_WAVELAN=y
# CONFIG_PCMCIA_WAVELAN is not set
CONFIG_PCMCIA_NETWAVE=y
CONFIG_WLAN_80211=y
CONFIG_PCMCIA_RAYCS=y
CONFIG_LIBERTAS=y
CONFIG_LIBERTAS_USB=m
CONFIG_LIBERTAS_CS=m
CONFIG_LIBERTAS_DEBUG=y
CONFIG_AIRO=m
CONFIG_HERMES=m
CONFIG_HERMES_CACHE_FW_ON_INIT=y
CONFIG_PLX_HERMES=m
# CONFIG_TMD_HERMES is not set
# CONFIG_NORTEL_HERMES is not set
CONFIG_PCI_HERMES=m
CONFIG_PCMCIA_HERMES=m
CONFIG_PCMCIA_SPECTRUM=m
CONFIG_ATMEL=m
CONFIG_PCI_ATMEL=m
CONFIG_PCMCIA_ATMEL=m
CONFIG_AIRO_CS=m
CONFIG_PCMCIA_WL3501=m
CONFIG_PRISM54=y
# CONFIG_USB_ZD1201 is not set
CONFIG_USB_NET_RNDIS_WLAN=y
# CONFIG_IPW2100 is not set
CONFIG_IPW2200=y
# CONFIG_IPW2200_MONITOR is not set
CONFIG_IPW2200_QOS=y
# CONFIG_IPW2200_DEBUG is not set
CONFIG_LIBIPW=y
CONFIG_LIBIPW_DEBUG=y
# CONFIG_IWLWIFI_LEDS is not set
CONFIG_HOSTAP=m
# CONFIG_HOSTAP_FIRMWARE is not set
# CONFIG_HOSTAP_PLX is not set
# CONFIG_HOSTAP_PCI is not set
# CONFIG_HOSTAP_CS is not set
#
# USB Network Adapters
#
CONFIG_USB_CATC=m
CONFIG_USB_KAWETH=y
CONFIG_USB_PEGASUS=m
CONFIG_USB_RTL8150=m
CONFIG_USB_USBNET=y
CONFIG_USB_NET_AX8817X=y
CONFIG_USB_NET_CDCETHER=y
# CONFIG_USB_NET_DM9601 is not set
CONFIG_USB_NET_SMSC95XX=m
CONFIG_USB_NET_GL620A=m
CONFIG_USB_NET_NET1080=m
# CONFIG_USB_NET_PLUSB is not set
# CONFIG_USB_NET_MCS7830 is not set
CONFIG_USB_NET_RNDIS_HOST=y
CONFIG_USB_NET_CDC_SUBSET=m
# CONFIG_USB_ALI_M5632 is not set
# CONFIG_USB_AN2720 is not set
CONFIG_USB_BELKIN=y
CONFIG_USB_ARMLINUX=y
CONFIG_USB_EPSON2888=y
CONFIG_USB_KC2190=y
# CONFIG_USB_NET_ZAURUS is not set
# CONFIG_NET_PCMCIA is not set
# CONFIG_WAN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
CONFIG_PPP=y
CONFIG_PPP_MULTILINK=y
CONFIG_PPP_FILTER=y
# CONFIG_PPP_ASYNC is not set
CONFIG_PPP_SYNC_TTY=y
CONFIG_PPP_DEFLATE=y
CONFIG_PPP_BSDCOMP=m
# CONFIG_PPP_MPPE is not set
CONFIG_PPPOE=m
# CONFIG_PPPOL2TP is not set
# CONFIG_SLIP is not set
CONFIG_SLHC=y
# CONFIG_NETCONSOLE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
# CONFIG_ISDN is not set
# CONFIG_PHONE is not set
#
# Input device support
#
CONFIG_INPUT=y
CONFIG_INPUT_FF_MEMLESS=y
CONFIG_INPUT_POLLDEV=y
#
# Userland interfaces
#
# CONFIG_INPUT_MOUSEDEV is not set
# CONFIG_INPUT_JOYDEV is not set
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set
#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=m
CONFIG_KEYBOARD_SUNKBD=y
# CONFIG_KEYBOARD_LKKBD is not set
CONFIG_KEYBOARD_XTKBD=y
# CONFIG_KEYBOARD_NEWTON is not set
CONFIG_KEYBOARD_STOWAWAY=m
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
# CONFIG_MOUSE_PS2_LIFEBOOK is not set
CONFIG_MOUSE_PS2_TRACKPOINT=y
CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_MOUSE_PS2_TOUCHKIT=y
# CONFIG_MOUSE_SERIAL is not set
CONFIG_MOUSE_APPLETOUCH=m
CONFIG_MOUSE_BCM5974=y
CONFIG_MOUSE_INPORT=y
# CONFIG_MOUSE_ATIXL is not set
CONFIG_MOUSE_LOGIBM=m
CONFIG_MOUSE_PC110PAD=y
# CONFIG_MOUSE_VSXXXAA is not set
CONFIG_INPUT_JOYSTICK=y
CONFIG_JOYSTICK_ANALOG=m
CONFIG_JOYSTICK_A3D=m
# CONFIG_JOYSTICK_ADI is not set
CONFIG_JOYSTICK_COBRA=y
# CONFIG_JOYSTICK_GF2K is not set
CONFIG_JOYSTICK_GRIP=y
CONFIG_JOYSTICK_GRIP_MP=m
# CONFIG_JOYSTICK_GUILLEMOT is not set
CONFIG_JOYSTICK_INTERACT=y
# CONFIG_JOYSTICK_SIDEWINDER is not set
# CONFIG_JOYSTICK_TMDC is not set
# CONFIG_JOYSTICK_IFORCE is not set
CONFIG_JOYSTICK_WARRIOR=m
# CONFIG_JOYSTICK_MAGELLAN is not set
CONFIG_JOYSTICK_SPACEORB=y
CONFIG_JOYSTICK_SPACEBALL=y
CONFIG_JOYSTICK_STINGER=m
CONFIG_JOYSTICK_TWIDJOY=m
# CONFIG_JOYSTICK_ZHENHUA is not set
CONFIG_JOYSTICK_JOYDUMP=y
CONFIG_JOYSTICK_XPAD=y
# CONFIG_JOYSTICK_XPAD_FF is not set
# CONFIG_INPUT_TABLET is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set
#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
# CONFIG_SERIO_SERPORT is not set
CONFIG_SERIO_CT82C710=m
CONFIG_SERIO_PCIPS2=m
CONFIG_SERIO_LIBPS2=y
CONFIG_SERIO_RAW=y
CONFIG_GAMEPORT=y
CONFIG_GAMEPORT_NS558=m
# CONFIG_GAMEPORT_L4 is not set
# CONFIG_GAMEPORT_EMU10K1 is not set
CONFIG_GAMEPORT_FM801=m
#
# Character devices
#
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
# CONFIG_VT_CONSOLE is not set
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_DEVKMEM=y
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_NOZOMI is not set
#
# Serial drivers
#
# CONFIG_SERIAL_8250 is not set
CONFIG_FIX_EARLYCON_MEM=y
#
# Non-8250 serial port support
#
# CONFIG_SERIAL_JSM is not set
CONFIG_UNIX98_PTYS=y
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_IPMI_HANDLER is not set
CONFIG_HW_RANDOM=y
# CONFIG_HW_RANDOM_INTEL is not set
# CONFIG_HW_RANDOM_AMD is not set
CONFIG_HW_RANDOM_GEODE=y
# CONFIG_HW_RANDOM_VIA is not set
# CONFIG_NVRAM is not set
# CONFIG_RTC is not set
# CONFIG_GEN_RTC is not set
CONFIG_DTLK=y
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
CONFIG_SONYPI=m
#
# PCMCIA character devices
#
CONFIG_SYNCLINK_CS=y
CONFIG_CARDMAN_4000=y
# CONFIG_CARDMAN_4040 is not set
CONFIG_IPWIRELESS=m
# CONFIG_MWAVE is not set
CONFIG_PC8736x_GPIO=y
CONFIG_NSC_GPIO=y
CONFIG_CS5535_GPIO=y
CONFIG_HANGCHECK_TIMER=y
# CONFIG_TCG_TPM is not set
CONFIG_TELCLOCK=m
CONFIG_DEVPORT=y
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
# CONFIG_I2C_CHARDEV is not set
# CONFIG_I2C_HELPER_AUTO is not set
#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=m
CONFIG_I2C_ALGOPCF=m
CONFIG_I2C_ALGOPCA=m
#
# I2C Hardware Bus support
#
#
# PC SMBus host controller drivers
#
CONFIG_I2C_ALI1535=m
CONFIG_I2C_ALI1563=m
CONFIG_I2C_ALI15X3=m
CONFIG_I2C_AMD756=m
CONFIG_I2C_AMD756_S4882=m
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_I801 is not set
# CONFIG_I2C_ISCH is not set
CONFIG_I2C_PIIX4=m
# CONFIG_I2C_NFORCE2 is not set
CONFIG_I2C_SIS5595=m
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_VIA is not set
CONFIG_I2C_VIAPRO=m
#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
CONFIG_I2C_OCORES=m
CONFIG_I2C_SIMTEC=m
#
# External I2C/SMBus adapter drivers
#
CONFIG_I2C_PARPORT_LIGHT=m
# CONFIG_I2C_TAOS_EVM is not set
# CONFIG_I2C_TINY_USB is not set
#
# Graphics adapter I2C/DDC channel drivers
#
CONFIG_I2C_VOODOO3=m
#
# Other I2C/SMBus bus drivers
#
# CONFIG_I2C_ELEKTOR is not set
CONFIG_I2C_PCA_ISA=m
# CONFIG_I2C_PCA_PLATFORM is not set
CONFIG_I2C_STUB=m
CONFIG_SCx200_ACB=m
#
# Miscellaneous I2C Chip support
#
CONFIG_DS1682=m
CONFIG_SENSORS_EEPROM=m
# CONFIG_SENSORS_PCF8574 is not set
# CONFIG_PCF8575 is not set
# CONFIG_SENSORS_PCA9539 is not set
# CONFIG_SENSORS_PCF8591 is not set
CONFIG_SENSORS_MAX6875=m
# CONFIG_SENSORS_TSL2550 is not set
CONFIG_I2C_DEBUG_CORE=y
# CONFIG_I2C_DEBUG_ALGO is not set
CONFIG_I2C_DEBUG_BUS=y
CONFIG_I2C_DEBUG_CHIP=y
# CONFIG_SPI is not set
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
# CONFIG_GPIOLIB is not set
# CONFIG_W1 is not set
# CONFIG_POWER_SUPPLY is not set
# CONFIG_HWMON is not set
# CONFIG_THERMAL is not set
# CONFIG_THERMAL_HWMON is not set
# CONFIG_WATCHDOG is not set
CONFIG_SSB_POSSIBLE=y
#
# Sonics Silicon Backplane
#
CONFIG_SSB=y
CONFIG_SSB_SPROM=y
CONFIG_SSB_PCIHOST_POSSIBLE=y
CONFIG_SSB_PCIHOST=y
# CONFIG_SSB_B43_PCI_BRIDGE is not set
CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
CONFIG_SSB_PCMCIAHOST=y
# CONFIG_SSB_SILENT is not set
CONFIG_SSB_DEBUG=y
CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
CONFIG_SSB_DRIVER_PCICORE=y
#
# Multifunction device drivers
#
# CONFIG_MFD_CORE is not set
# CONFIG_MFD_SM501 is not set
CONFIG_HTC_PASIC3=m
# CONFIG_TWL4030_CORE is not set
# CONFIG_MFD_TMIO is not set
# CONFIG_PMIC_DA903X is not set
CONFIG_MFD_WM8400=m
CONFIG_MFD_WM8350=m
CONFIG_MFD_WM8350_I2C=m
# CONFIG_REGULATOR is not set
#
# Multimedia devices
#
#
# Multimedia core support
#
# CONFIG_VIDEO_DEV is not set
# CONFIG_DVB_CORE is not set
# CONFIG_VIDEO_MEDIA is not set
#
# Multimedia drivers
#
# CONFIG_DAB is not set
#
# Graphics support
#
CONFIG_AGP=y
CONFIG_AGP_ALI=y
CONFIG_AGP_ATI=y
CONFIG_AGP_AMD=y
CONFIG_AGP_AMD64=m
CONFIG_AGP_INTEL=y
# CONFIG_AGP_NVIDIA is not set
# CONFIG_AGP_SIS is not set
CONFIG_AGP_SWORKS=m
CONFIG_AGP_VIA=y
# CONFIG_AGP_EFFICEON is not set
# CONFIG_DRM is not set
CONFIG_VGASTATE=y
CONFIG_VIDEO_OUTPUT_CONTROL=m
CONFIG_FB=y
CONFIG_FIRMWARE_EDID=y
CONFIG_FB_DDC=m
CONFIG_FB_BOOT_VESA_SUPPORT=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=y
CONFIG_FB_DEFERRED_IO=y
CONFIG_FB_HECUBA=m
CONFIG_FB_SVGALIB=y
# CONFIG_FB_MACMODES is not set
CONFIG_FB_BACKLIGHT=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y
#
# Frame buffer hardware drivers
#
CONFIG_FB_CIRRUS=y
CONFIG_FB_PM2=y
CONFIG_FB_PM2_FIFO_DISCONNECT=y
CONFIG_FB_CYBER2000=m
# CONFIG_FB_ARC is not set
# CONFIG_FB_ASILIANT is not set
CONFIG_FB_IMSTT=y
# CONFIG_FB_VGA16 is not set
CONFIG_FB_UVESA=m
# CONFIG_FB_VESA is not set
CONFIG_FB_N411=m
CONFIG_FB_HGA=y
CONFIG_FB_HGA_ACCEL=y
CONFIG_FB_S1D13XXX=y
# CONFIG_FB_NVIDIA is not set
CONFIG_FB_RIVA=y
# CONFIG_FB_RIVA_I2C is not set
CONFIG_FB_RIVA_DEBUG=y
# CONFIG_FB_RIVA_BACKLIGHT is not set
CONFIG_FB_I810=y
# CONFIG_FB_I810_GTF is not set
CONFIG_FB_LE80578=m
CONFIG_FB_CARILLO_RANCH=m
CONFIG_FB_INTEL=m
# CONFIG_FB_INTEL_DEBUG is not set
CONFIG_FB_INTEL_I2C=y
CONFIG_FB_MATROX=m
# CONFIG_FB_MATROX_MILLENIUM is not set
# CONFIG_FB_MATROX_MYSTIQUE is not set
CONFIG_FB_MATROX_G=y
# CONFIG_FB_MATROX_I2C is not set
# CONFIG_FB_MATROX_MULTIHEAD is not set
CONFIG_FB_RADEON=y
# CONFIG_FB_RADEON_I2C is not set
CONFIG_FB_RADEON_BACKLIGHT=y
CONFIG_FB_RADEON_DEBUG=y
CONFIG_FB_ATY128=m
CONFIG_FB_ATY128_BACKLIGHT=y
CONFIG_FB_ATY=m
CONFIG_FB_ATY_CT=y
# CONFIG_FB_ATY_GENERIC_LCD is not set
CONFIG_FB_ATY_GX=y
CONFIG_FB_ATY_BACKLIGHT=y
CONFIG_FB_S3=m
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_VIA is not set
# CONFIG_FB_NEOMAGIC is not set
CONFIG_FB_KYRO=y
CONFIG_FB_3DFX=m
CONFIG_FB_3DFX_ACCEL=y
CONFIG_FB_VOODOO1=y
CONFIG_FB_VT8623=y
CONFIG_FB_CYBLA=y
CONFIG_FB_TRIDENT=y
CONFIG_FB_TRIDENT_ACCEL=y
CONFIG_FB_ARK=m
CONFIG_FB_PM3=y
# CONFIG_FB_CARMINE is not set
CONFIG_FB_GEODE=y
CONFIG_FB_GEODE_LX=y
# CONFIG_FB_GEODE_GX is not set
CONFIG_FB_GEODE_GX1=y
CONFIG_FB_VIRTUAL=y
CONFIG_FB_METRONOME=y
CONFIG_FB_MB862XX=m
CONFIG_FB_MB862XX_PCI_GDC=y
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=y
# CONFIG_LCD_ILI9320 is not set
# CONFIG_LCD_PLATFORM is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_CORGI is not set
CONFIG_BACKLIGHT_PROGEAR=m
# CONFIG_BACKLIGHT_CARILLO_RANCH is not set
CONFIG_BACKLIGHT_MBP_NVIDIA=y
# CONFIG_BACKLIGHT_SAHARA is not set
#
# Display device support
#
CONFIG_DISPLAY_SUPPORT=m
#
# Display hardware drivers
#
#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_MDA_CONSOLE=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
CONFIG_FONTS=y
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_FONT_6x11=y
CONFIG_FONT_7x14=y
CONFIG_FONT_PEARL_8x8=y
# CONFIG_FONT_ACORN_8x8 is not set
CONFIG_FONT_MINI_4x6=y
CONFIG_FONT_SUN8x16=y
CONFIG_FONT_SUN12x22=y
CONFIG_FONT_10x18=y
# CONFIG_LOGO is not set
# CONFIG_SOUND is not set
CONFIG_HID_SUPPORT=y
CONFIG_HID=m
CONFIG_HID_DEBUG=y
CONFIG_HIDRAW=y
#
# USB Input Devices
#
# CONFIG_USB_HID is not set
# CONFIG_HID_PID is not set
#
# USB HID Boot Protocol drivers
#
# CONFIG_USB_KBD is not set
CONFIG_USB_MOUSE=y
#
# Special HID drivers
#
CONFIG_HID_COMPAT=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB=y
CONFIG_USB_DEBUG=y
# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
#
# Miscellaneous USB options
#
# CONFIG_USB_DEVICEFS is not set
CONFIG_USB_DEVICE_CLASS=y
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_OTG is not set
CONFIG_USB_OTG_WHITELIST=y
CONFIG_USB_OTG_BLACKLIST_HUB=y
# CONFIG_USB_MON is not set
CONFIG_USB_WUSB=y
CONFIG_USB_WUSB_CBAF=m
# CONFIG_USB_WUSB_CBAF_DEBUG is not set
#
# USB Host Controller Drivers
#
CONFIG_USB_C67X00_HCD=m
# CONFIG_USB_EHCI_HCD is not set
CONFIG_USB_OXU210HP_HCD=m
CONFIG_USB_ISP116X_HCD=m
CONFIG_USB_ISP1760_HCD=m
CONFIG_USB_OHCI_HCD=m
CONFIG_USB_OHCI_HCD_SSB=y
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
# CONFIG_USB_UHCI_HCD is not set
CONFIG_USB_U132_HCD=m
CONFIG_USB_SL811_HCD=y
CONFIG_USB_SL811_CS=m
CONFIG_USB_R8A66597_HCD=y
CONFIG_USB_WHCI_HCD=m
CONFIG_USB_HWA_HCD=y
#
# USB Device Class drivers
#
# CONFIG_USB_ACM is not set
# CONFIG_USB_PRINTER is not set
CONFIG_USB_WDM=m
CONFIG_USB_TMC=m
#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed;
#
#
# see USB_STORAGE Help for more information
#
# CONFIG_USB_LIBUSUAL is not set
#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
#
# USB port drivers
#
CONFIG_USB_SERIAL=y
# CONFIG_USB_SERIAL_CONSOLE is not set
CONFIG_USB_EZUSB=y
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_AIRCABLE=m
# CONFIG_USB_SERIAL_ARK3116 is not set
CONFIG_USB_SERIAL_BELKIN=m
CONFIG_USB_SERIAL_CH341=m
# CONFIG_USB_SERIAL_WHITEHEAT is not set
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
CONFIG_USB_SERIAL_CP2101=m
# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
CONFIG_USB_SERIAL_EMPEG=m
CONFIG_USB_SERIAL_FTDI_SIO=m
# CONFIG_USB_SERIAL_FUNSOFT is not set
# CONFIG_USB_SERIAL_VISOR is not set
CONFIG_USB_SERIAL_IPAQ=m
CONFIG_USB_SERIAL_IR=m
# CONFIG_USB_SERIAL_EDGEPORT is not set
# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
CONFIG_USB_SERIAL_GARMIN=m
CONFIG_USB_SERIAL_IPW=m
CONFIG_USB_SERIAL_IUU=m
CONFIG_USB_SERIAL_KEYSPAN_PDA=m
CONFIG_USB_SERIAL_KEYSPAN=m
# CONFIG_USB_SERIAL_KLSI is not set
CONFIG_USB_SERIAL_KOBIL_SCT=m
CONFIG_USB_SERIAL_MCT_U232=m
CONFIG_USB_SERIAL_MOS7720=m
# CONFIG_USB_SERIAL_MOS7840 is not set
CONFIG_USB_SERIAL_MOTOROLA=m
CONFIG_USB_SERIAL_NAVMAN=m
# CONFIG_USB_SERIAL_PL2303 is not set
# CONFIG_USB_SERIAL_OTI6858 is not set
# CONFIG_USB_SERIAL_SPCP8X5 is not set
CONFIG_USB_SERIAL_HP4X=m
CONFIG_USB_SERIAL_SAFE=m
CONFIG_USB_SERIAL_SAFE_PADDED=y
CONFIG_USB_SERIAL_SIEMENS_MPI=m
CONFIG_USB_SERIAL_SIERRAWIRELESS=m
CONFIG_USB_SERIAL_TI=m
CONFIG_USB_SERIAL_CYBERJACK=m
CONFIG_USB_SERIAL_XIRCOM=m
CONFIG_USB_SERIAL_OPTION=m
CONFIG_USB_SERIAL_OMNINET=m
CONFIG_USB_SERIAL_OPTICON=m
CONFIG_USB_SERIAL_DEBUG=m
#
# USB Miscellaneous drivers
#
CONFIG_USB_EMI62=y
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_ADUTUX is not set
# CONFIG_USB_SEVSEG is not set
CONFIG_USB_RIO500=y
# CONFIG_USB_LEGOTOWER is not set
CONFIG_USB_LCD=m
# CONFIG_USB_BERRY_CHARGE is not set
CONFIG_USB_LED=y
CONFIG_USB_CYPRESS_CY7C63=m
# CONFIG_USB_CYTHERM is not set
CONFIG_USB_PHIDGET=m
# CONFIG_USB_PHIDGETKIT is not set
CONFIG_USB_PHIDGETMOTORCONTROL=m
# CONFIG_USB_PHIDGETSERVO is not set
CONFIG_USB_IDMOUSE=y
CONFIG_USB_FTDI_ELAN=m
CONFIG_USB_APPLEDISPLAY=m
# CONFIG_USB_LD is not set
CONFIG_USB_TRANCEVIBRATOR=y
# CONFIG_USB_IOWARRIOR is not set
CONFIG_USB_ISIGHTFW=y
CONFIG_USB_VST=m
# CONFIG_USB_GADGET is not set
#
# OTG and related infrastructure
#
CONFIG_UWB=y
CONFIG_UWB_HWA=y
CONFIG_UWB_WHCI=m
CONFIG_UWB_WLP=y
CONFIG_UWB_I1480U=m
# CONFIG_UWB_I1480U_WLP is not set
# CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set
# CONFIG_NEW_LEDS is not set
# CONFIG_ACCESSIBILITY is not set
# CONFIG_INFINIBAND is not set
# CONFIG_EDAC is not set
# CONFIG_RTC_CLASS is not set
# CONFIG_DMADEVICES is not set
# CONFIG_UIO is not set
# CONFIG_STAGING is not set
CONFIG_STAGING_EXCLUDE_BUILD=y
# CONFIG_X86_PLATFORM_DEVICES is not set
#
# Firmware Drivers
#
CONFIG_EDD=m
CONFIG_EDD_OFF=y
# CONFIG_FIRMWARE_MEMMAP is not set
# CONFIG_DELL_RBU is not set
CONFIG_DCDBAS=m
CONFIG_DMIID=y
CONFIG_ISCSI_IBFT_FIND=y
CONFIG_ISCSI_IBFT=m
#
# File systems
#
CONFIG_FS_POSIX_ACL=y
CONFIG_DNOTIFY=y
# CONFIG_INOTIFY is not set
# CONFIG_QUOTA is not set
CONFIG_AUTOFS_FS=m
# CONFIG_AUTOFS4_FS is not set
CONFIG_FUSE_FS=m
CONFIG_GENERIC_ACL=y
#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
# CONFIG_PROC_SYSCTL is not set
CONFIG_PROC_PAGE_MONITOR=y
# CONFIG_SYSFS is not set
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
#
# Miscellaneous filesystems
#
CONFIG_ECRYPT_FS=y
# CONFIG_NETWORK_FILESYSTEMS is not set
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_737=y
CONFIG_NLS_CODEPAGE_775=y
CONFIG_NLS_CODEPAGE_850=m
# CONFIG_NLS_CODEPAGE_852 is not set
CONFIG_NLS_CODEPAGE_855=m
CONFIG_NLS_CODEPAGE_857=y
# CONFIG_NLS_CODEPAGE_860 is not set
CONFIG_NLS_CODEPAGE_861=m
CONFIG_NLS_CODEPAGE_862=y
# CONFIG_NLS_CODEPAGE_863 is not set
CONFIG_NLS_CODEPAGE_864=y
CONFIG_NLS_CODEPAGE_865=y
CONFIG_NLS_CODEPAGE_866=m
CONFIG_NLS_CODEPAGE_869=m
CONFIG_NLS_CODEPAGE_936=y
# CONFIG_NLS_CODEPAGE_950 is not set
CONFIG_NLS_CODEPAGE_932=m
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
CONFIG_NLS_ISO8859_8=y
CONFIG_NLS_CODEPAGE_1250=y
# CONFIG_NLS_CODEPAGE_1251 is not set
CONFIG_NLS_ASCII=m
# CONFIG_NLS_ISO8859_1 is not set
CONFIG_NLS_ISO8859_2=y
CONFIG_NLS_ISO8859_3=y
CONFIG_NLS_ISO8859_4=m
CONFIG_NLS_ISO8859_5=y
# CONFIG_NLS_ISO8859_6 is not set
CONFIG_NLS_ISO8859_7=y
CONFIG_NLS_ISO8859_9=m
# CONFIG_NLS_ISO8859_13 is not set
CONFIG_NLS_ISO8859_14=y
CONFIG_NLS_ISO8859_15=y
CONFIG_NLS_KOI8_R=m
# CONFIG_NLS_KOI8_U is not set
CONFIG_NLS_UTF8=m
#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_ENABLE_WARN_DEPRECATED=y
# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_FRAME_WARN=1024
CONFIG_MAGIC_SYSRQ=y
# CONFIG_UNUSED_SYMBOLS is not set
CONFIG_DEBUG_FS=y
CONFIG_HEADERS_CHECK=y
CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_SHIRQ=y
# CONFIG_DETECT_SOFTLOCKUP is not set
CONFIG_SCHED_DEBUG=y
CONFIG_SCHEDSTATS=y
CONFIG_TIMER_STATS=y
CONFIG_DEBUG_OBJECTS=y
CONFIG_DEBUG_OBJECTS_SELFTEST=y
CONFIG_DEBUG_OBJECTS_FREE=y
CONFIG_DEBUG_OBJECTS_TIMERS=y
CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
CONFIG_DEBUG_RT_MUTEXES=y
CONFIG_DEBUG_PI_LIST=y
CONFIG_RT_MUTEX_TESTER=y
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_MUTEXES=y
CONFIG_DEBUG_LOCK_ALLOC=y
CONFIG_PROVE_LOCKING=y
CONFIG_LOCKDEP=y
CONFIG_LOCK_STAT=y
CONFIG_DEBUG_LOCKDEP=y
CONFIG_TRACE_IRQFLAGS=y
CONFIG_DEBUG_SPINLOCK_SLEEP=y
CONFIG_DEBUG_LOCKING_API_SELFTESTS=y
CONFIG_STACKTRACE=y
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_HIGHMEM is not set
CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_INFO is not set
CONFIG_DEBUG_VM=y
CONFIG_DEBUG_VIRTUAL=y
# CONFIG_DEBUG_WRITECOUNT is not set
CONFIG_DEBUG_MEMORY_INIT=y
CONFIG_DEBUG_LIST=y
CONFIG_DEBUG_SG=y
CONFIG_DEBUG_NOTIFIERS=y
CONFIG_FRAME_POINTER=y
CONFIG_RCU_TORTURE_TEST=m
CONFIG_RCU_CPU_STALL_DETECTOR=y
CONFIG_BACKTRACE_SELF_TEST=y
CONFIG_FAULT_INJECTION=y
CONFIG_FAILSLAB=y
# CONFIG_FAIL_PAGE_ALLOC is not set
CONFIG_LATENCYTOP=y
CONFIG_SYSCTL_SYSCALL_CHECK=y
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_NOP_TRACER=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_RET_TRACER=y
CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_TRACER_MAX_TRACE=y
CONFIG_RING_BUFFER=y
CONFIG_TRACING=y
#
# Tracers
#
CONFIG_FUNCTION_TRACER=y
CONFIG_FUNCTION_RET_TRACER=y
# CONFIG_IRQSOFF_TRACER is not set
CONFIG_SYSPROF_TRACER=y
CONFIG_SCHED_TRACER=y
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_BOOT_TRACER=y
CONFIG_TRACE_BRANCH_PROFILING=y
CONFIG_PROFILE_ALL_BRANCHES=y
CONFIG_TRACING_BRANCHES=y
CONFIG_BRANCH_TRACER=y
# CONFIG_STACK_TRACER is not set
# CONFIG_DYNAMIC_FTRACE is not set
CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
CONFIG_KMEMTRACE=y
# CONFIG_BUILD_DOCSRC is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
# CONFIG_STRICT_DEVMEM is not set
CONFIG_X86_VERBOSE_BOOTUP=y
CONFIG_EARLY_PRINTK=y
# CONFIG_EARLY_PRINTK_DBGP is not set
# CONFIG_DEBUG_STACKOVERFLOW is not set
CONFIG_DEBUG_STACK_USAGE=y
CONFIG_DEBUG_PAGEALLOC=y
# CONFIG_X86_PTDUMP is not set
CONFIG_DEBUG_RODATA=y
CONFIG_DEBUG_RODATA_TEST=y
CONFIG_DEBUG_NX_TEST=m
CONFIG_4KSTACKS=y
CONFIG_DOUBLEFAULT=y
CONFIG_MMIOTRACE=y
CONFIG_MMIOTRACE_TEST=m
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEFAULT_IO_DELAY_TYPE=0
CONFIG_DEBUG_BOOT_PARAMS=y
CONFIG_CPA_DEBUG=y
CONFIG_OPTIMIZE_INLINING=y
#
# Security options
#
CONFIG_KEYS=y
CONFIG_KEYS_DEBUG_PROC_KEYS=y
CONFIG_SECURITYFS=y
# CONFIG_SECURITY_FILE_CAPABILITIES is not set
CONFIG_CRYPTO=y
#
# Crypto core or helper
#
CONFIG_CRYPTO_FIPS=y
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_GF128MUL=y
# CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_CRYPTD is not set
CONFIG_CRYPTO_AUTHENC=y
# CONFIG_CRYPTO_TEST is not set
#
# Authenticated Encryption with Associated Data
#
# CONFIG_CRYPTO_CCM is not set
CONFIG_CRYPTO_GCM=y
CONFIG_CRYPTO_SEQIV=y
#
# Block modes
#
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CTR=y
# CONFIG_CRYPTO_CTS is not set
CONFIG_CRYPTO_ECB=y
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_PCBC=y
# CONFIG_CRYPTO_XTS is not set
#
# Hash modes
#
CONFIG_CRYPTO_HMAC=y
# CONFIG_CRYPTO_XCBC is not set
#
# Digest
#
CONFIG_CRYPTO_CRC32C=y
# CONFIG_CRYPTO_CRC32C_INTEL is not set
CONFIG_CRYPTO_MD4=y
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_MICHAEL_MIC=y
CONFIG_CRYPTO_RMD128=m
# CONFIG_CRYPTO_RMD160 is not set
CONFIG_CRYPTO_RMD256=y
CONFIG_CRYPTO_RMD320=y
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=y
# CONFIG_CRYPTO_SHA512 is not set
CONFIG_CRYPTO_TGR192=m
CONFIG_CRYPTO_WP512=y
#
# Ciphers
#
CONFIG_CRYPTO_AES=y
# CONFIG_CRYPTO_AES_586 is not set
# CONFIG_CRYPTO_ANUBIS is not set
CONFIG_CRYPTO_ARC4=y
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_CAMELLIA=y
CONFIG_CRYPTO_CAST5=y
CONFIG_CRYPTO_CAST6=y
CONFIG_CRYPTO_DES=y
CONFIG_CRYPTO_FCRYPT=y
# CONFIG_CRYPTO_KHAZAD is not set
CONFIG_CRYPTO_SALSA20=y
CONFIG_CRYPTO_SALSA20_586=y
# CONFIG_CRYPTO_SEED is not set
CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_TEA=y
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_TWOFISH_COMMON=m
CONFIG_CRYPTO_TWOFISH_586=m
#
# Compression
#
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_LZO=y
#
# Random Number Generation
#
CONFIG_CRYPTO_ANSI_CPRNG=y
# CONFIG_CRYPTO_HW is not set
CONFIG_HAVE_KVM=y
# CONFIG_VIRTUALIZATION is not set
#
# Library routines
#
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_GENERIC_FIND_LAST_BIT=y
CONFIG_CRC_CCITT=m
CONFIG_CRC16=m
CONFIG_CRC_T10DIF=m
# CONFIG_CRC_ITU_T is not set
CONFIG_CRC32=y
# CONFIG_CRC7 is not set
CONFIG_LIBCRC32C=m
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
^ permalink raw reply
* Re: linux-next: Tree for December 11
From: Alexey Zaytsev @ 2008-12-14 14:34 UTC (permalink / raw)
To: Stephen Rothwell; +Cc: linux-next, LKML, Ingo Molnar, Nick Piggin
In-Reply-To: <f19298770812110440s7e3781eex4a16b961ad6847b2@mail.gmail.com>
On Thu, Dec 11, 2008 at 15:40, Alexey Zaytsev <alexey.zaytsev@gmail.com> wrote:
> On Thu, Dec 11, 2008 at 12:04, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>> Hi all,
>>
>> Changes since 20081210:
>>
>> New tree:
>> nommu
>>
>> Undropped tree:
>> sound
>>
>> Dropped trees (temporarily):
>> v4l-dvb (build problem)
>> mtd (difficult conflicts)
>> drm (build problem)
>> semaphore-removal (due to unfixed conflicts against Linus' tree)
>> cpu_alloc (build problem)
>> perfmon3 (concerns from the x86 team)
>> audit (difficult conflicts)
>> nommu (build problem)
>> staging (build failure)
>>
>> The driver-core tree gained a build failure that needed a commit reverted.
>>
>> The ftrace tree gained a conflict against Linus' tree.
>>
>> The pci tree gained a conflict against the driver-core tree.
>>
>> The mtd tree gained 3 conflicts against the arm tree which I could not
>> easily resolve, so it was dropped.
>>
>> The ttydev tree gained a conflict against the async_tx tree requiring a
>> commit from the async_tx tree to be reverted.
>>
>> The nommu tree gained conflicts against the slab and kmemcheck trees and
>> also a build failure so it was dropped.
>>
>> ----------------------------------------------------------------------------
>
> Hi.
>
> I'm seeing this warning early in boot logs. It does not appear on 2.6.28-rc7.
> Not sure how long it's been around. Haven't built -next for some time.
>
> [ 0.004000] Intel machine check reporting enabled on CPU#0.
> [ 0.004000] using mwait in idle threads.
> [ 0.004000] Checking 'hlt' instruction... <4>------------[ cut here
> ]------------
> [ 0.004167] WARNING: at kernel/sched.c:4364 sub_preempt_count+0xae/0xc0()
> [ 0.004266] Hardware name: HP Compaq nx7300 (GB848ES#ACB)
> [ 0.004361] Modules linked in:
> [ 0.004497] Pid: 0, comm: swapper Not tainted 2.6.28-rc8-next-20081211 #117
> [ 0.004595] Call Trace:
> [ 0.004689] [<c01324d6>] warn_slowpath+0x86/0xa0
> [ 0.004789] [<c0155d00>] ? check_usage_forwards+0x10/0xb0
> [ 0.004886] [<c015394a>] ? save_trace+0x3a/0xa0
> [ 0.004981] [<c015742d>] ? mark_lock+0x37d/0xe00
> [ 0.005076] [<c01580f9>] ? __lock_acquire+0x249/0x610
> [ 0.005175] [<c04a3a02>] ? _spin_unlock_irq+0x22/0x50
> [ 0.005272] [<c0158e50>] ? trace_hardirqs_on_caller+0x70/0x1a0
> [ 0.005369] [<c04a3a0d>] ? _spin_unlock_irq+0x2d/0x50
> [ 0.005465] [<c0124bfe>] sub_preempt_count+0xae/0xc0
> [ 0.005564] [<c0137012>] _local_bh_enable+0x52/0xc0
> [ 0.005661] [<c013725f>] __do_softirq+0x11f/0x170
> [ 0.005756] [<c0137140>] ? __do_softirq+0x0/0x170
> [ 0.005851] <IRQ> [<c0137729>] ? irq_exit+0x89/0xa0
> [ 0.005993] [<c01059ed>] ? do_IRQ+0xad/0x120
> [ 0.006088] [<c0103aac>] ? common_interrupt+0x2c/0x34
> [ 0.006184] [<c013007b>] ? mmput+0x2b/0xc0
> [ 0.006281] [<c06735a8>] ? check_bugs+0xb8/0xe0
> [ 0.006379] [<c066b7ea>] ? start_kernel+0x26a/0x310
> [ 0.006475] [<c066b270>] ? unknown_bootoption+0x0/0x210
> [ 0.006572] [<c066b077>] ? __init_begin+0x77/0xb0
> [ 0.006674] ---[ end trace 4eaa2a86a8e2da22 ]---
> [ 0.016004] OK.
> [ 0.016560] ACPI: Core revision 20081031
> [ 0.044495] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
>
> Config and full dmesg attached.
>
The warning can also be reproduced in qemu, so it was easy to bisect.
commit 7317d7b87edb41a9135e30be1ec3f7ef817c53dd
Author: Nick Piggin <nickpiggin@yahoo.com.au>
Date: Tue Sep 30 20:50:27 2008 +1000
sched: improve preempt debugging
This patch helped me out with a problem I recently had....
Basically, when the kernel lock is held, then preempt_count
underflow does not
get detected until it is released which may be a long time (and arbitrarily,
eg at different points it may be rescheduled). If the bkl is released at
schedule, the resulting output is actually fairly cryptic...
With any other lock that elevates preempt_count, it is illegal to schedule
under it (which would get found pretty quickly). bkl allows scheduling with
preempt_count elevated, which makes underflows hard to debug.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
I understand that not this particular commit is buggy, but at least
I've got someone to add to the CC. ;)
Also the author's e-mail looks suspicious.
^ permalink raw reply
* Re: linux-next: Tree for December 12 (drm)
From: Jesse Barnes @ 2008-12-14 19:21 UTC (permalink / raw)
To: Randy Dunlap
Cc: Stephen Rothwell, linux-next@vger.kernel.org, LKML,
airlied@linux.ie
In-Reply-To: <4943405A.4080009@xenotime.net>
On Friday, December 12, 2008 8:55 pm Randy Dunlap wrote:
> Stephen Rothwell wrote:
> > Hi all,
> >
> > Changes since 20081211:
> >
> > Undropped tree:
> > drm
>
> oops ^^^
>
>
> When I2C=n, and drm is built-in or modular, this build error
> happens:
>
> (drm built-in:)
>
> build-r7079.out:(.text+0x47e5f): undefined reference to `i2c_transfer'
> 7080 same
> 7086 same
> 7089 same
> (from gpu/drm/drm_edid.c)
>
>
> (drm modular:)
>
> build-r7103.out:ERROR: "i2c_transfer" [drivers/gpu/drm/drm.ko] undefined!
> (from gpu/drm/drm_edid.c)
Looks like Dave pushed a fix for this by making DRM select the required I2C
bits. Dunno that or depends is preferred these days though...
--
Jesse Barnes, Intel Open Source Technology Center
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox