diff options
258 files changed, 4848 insertions, 3536 deletions
diff --git a/.gitignore b/.gitignore index 090b293b8779..9c0d650385be 100644 --- a/.gitignore +++ b/.gitignore | |||
@@ -54,6 +54,5 @@ series | |||
54 | cscope.* | 54 | cscope.* |
55 | 55 | ||
56 | *.orig | 56 | *.orig |
57 | *.rej | ||
58 | *~ | 57 | *~ |
59 | \#*# | 58 | \#*# |
@@ -96,5 +96,4 @@ missing-syscalls: scripts/checksyscalls.sh FORCE | |||
96 | $(call cmd,syscalls) | 96 | $(call cmd,syscalls) |
97 | 97 | ||
98 | # Delete all targets during make clean | 98 | # Delete all targets during make clean |
99 | clean-files := $(addprefix $(objtree)/,$(targets)) | 99 | clean-files := $(addprefix $(objtree)/,$(filter-out $(bounds-file) $(offsets-file),$(targets))) |
100 | |||
diff --git a/MAINTAINERS b/MAINTAINERS index bc1c0088dc49..623719c64d87 100644 --- a/MAINTAINERS +++ b/MAINTAINERS | |||
@@ -1940,8 +1940,10 @@ L: lm-sensors@lm-sensors.org | |||
1940 | S: Maintained | 1940 | S: Maintained |
1941 | 1941 | ||
1942 | I2C SUBSYSTEM | 1942 | I2C SUBSYSTEM |
1943 | P: Jean Delvare | 1943 | P: Jean Delvare (PC drivers, core) |
1944 | M: khali@linux-fr.org | 1944 | M: khali@linux-fr.org |
1945 | P: Ben Dooks (embedded platforms) | ||
1946 | M: ben-linux@fluff.org | ||
1945 | L: i2c@lm-sensors.org | 1947 | L: i2c@lm-sensors.org |
1946 | T: quilt http://khali.linux-fr.org/devel/linux-2.6/jdelvare-i2c/ | 1948 | T: quilt http://khali.linux-fr.org/devel/linux-2.6/jdelvare-i2c/ |
1947 | S: Maintained | 1949 | S: Maintained |
@@ -2327,7 +2329,8 @@ S: Maintained | |||
2327 | KERNEL BUILD (kbuild: Makefile, scripts/Makefile.*) | 2329 | KERNEL BUILD (kbuild: Makefile, scripts/Makefile.*) |
2328 | P: Sam Ravnborg | 2330 | P: Sam Ravnborg |
2329 | M: sam@ravnborg.org | 2331 | M: sam@ravnborg.org |
2330 | T: git kernel.org:/pub/scm/linux/kernel/git/sam/kbuild.git | 2332 | T: git kernel.org:/pub/scm/linux/kernel/git/sam/kbuild-next.git |
2333 | T: git kernel.org:/pub/scm/linux/kernel/git/sam/kbuild-fixes.git | ||
2331 | L: linux-kbuild@vger.kernel.org | 2334 | L: linux-kbuild@vger.kernel.org |
2332 | S: Maintained | 2335 | S: Maintained |
2333 | 2336 | ||
@@ -2349,24 +2352,24 @@ S: Supported | |||
2349 | KERNEL VIRTUAL MACHINE (KVM) | 2352 | KERNEL VIRTUAL MACHINE (KVM) |
2350 | P: Avi Kivity | 2353 | P: Avi Kivity |
2351 | M: avi@qumranet.com | 2354 | M: avi@qumranet.com |
2352 | L: kvm-devel@lists.sourceforge.net | 2355 | L: kvm@vger.kernel.org |
2353 | W: kvm.sourceforge.net | 2356 | W: http://kvm.qumranet.com |
2354 | S: Supported | 2357 | S: Supported |
2355 | 2358 | ||
2356 | KERNEL VIRTUAL MACHINE (KVM) FOR POWERPC | 2359 | KERNEL VIRTUAL MACHINE (KVM) FOR POWERPC |
2357 | P: Hollis Blanchard | 2360 | P: Hollis Blanchard |
2358 | M: hollisb@us.ibm.com | 2361 | M: hollisb@us.ibm.com |
2359 | L: kvm-ppc-devel@lists.sourceforge.net | 2362 | L: kvm-ppc@vger.kernel.org |
2360 | W: kvm.sourceforge.net | 2363 | W: http://kvm.qumranet.com |
2361 | S: Supported | 2364 | S: Supported |
2362 | 2365 | ||
2363 | KERNEL VIRTUAL MACHINE For Itanium(KVM/IA64) | 2366 | KERNEL VIRTUAL MACHINE For Itanium (KVM/IA64) |
2364 | P: Anthony Xu | 2367 | P: Anthony Xu |
2365 | M: anthony.xu@intel.com | 2368 | M: anthony.xu@intel.com |
2366 | P: Xiantao Zhang | 2369 | P: Xiantao Zhang |
2367 | M: xiantao.zhang@intel.com | 2370 | M: xiantao.zhang@intel.com |
2368 | L: kvm-ia64-devel@lists.sourceforge.net | 2371 | L: kvm-ia64@vger.kernel.org |
2369 | W: kvm.sourceforge.net | 2372 | W: http://kvm.qumranet.com |
2370 | S: Supported | 2373 | S: Supported |
2371 | 2374 | ||
2372 | KERNEL VIRTUAL MACHINE for s390 (KVM/s390) | 2375 | KERNEL VIRTUAL MACHINE for s390 (KVM/s390) |
@@ -4019,12 +4022,41 @@ M: ballabio_dario@emc.com | |||
4019 | L: linux-scsi@vger.kernel.org | 4022 | L: linux-scsi@vger.kernel.org |
4020 | S: Maintained | 4023 | S: Maintained |
4021 | 4024 | ||
4025 | UCLINUX (AND M68KNOMMU) | ||
4026 | P: Greg Ungerer | ||
4027 | M: gerg@uclinux.org | ||
4028 | W: http://www.uclinux.org/ | ||
4029 | L: uclinux-dev@uclinux.org (subscribers-only) | ||
4030 | S: Maintained | ||
4031 | |||
4032 | UCLINUX FOR NEC V850 | ||
4033 | P: Miles Bader | ||
4034 | |||
4035 | UCLINUX FOR RENESAS H8/300 | ||
4036 | P: Yoshinori Sato | ||
4037 | M: ysato@users.sourceforge.jp | ||
4038 | W: http://uclinux-h8.sourceforge.jp/ | ||
4039 | S: Supported | ||
4040 | |||
4022 | UDF FILESYSTEM | 4041 | UDF FILESYSTEM |
4023 | P: Jan Kara | 4042 | P: Jan Kara |
4024 | M: jack@suse.cz | 4043 | M: jack@suse.cz |
4025 | W: http://linux-udf.sourceforge.net | 4044 | W: http://linux-udf.sourceforge.net |
4026 | S: Maintained | 4045 | S: Maintained |
4027 | 4046 | ||
4047 | UFS FILESYSTEM | ||
4048 | P: Evgeniy Dushistov | ||
4049 | M: dushistov@mail.ru | ||
4050 | L: linux-kernel@vger.kernel.org | ||
4051 | S: Maintained | ||
4052 | |||
4053 | UltraSPARC (sparc64): | ||
4054 | P: David S. Miller | ||
4055 | M: davem@davemloft.net | ||
4056 | L: sparclinux@vger.kernel.org | ||
4057 | T: git kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6.git | ||
4058 | S: Maintained | ||
4059 | |||
4028 | UNIFORM CDROM DRIVER | 4060 | UNIFORM CDROM DRIVER |
4029 | P: Jens Axboe | 4061 | P: Jens Axboe |
4030 | M: axboe@kernel.dk | 4062 | M: axboe@kernel.dk |
@@ -4071,6 +4103,13 @@ L: netdev@vger.kernel.org | |||
4071 | W: http://www.linux-usb.org/usbnet | 4103 | W: http://www.linux-usb.org/usbnet |
4072 | S: Maintained | 4104 | S: Maintained |
4073 | 4105 | ||
4106 | USB DIAMOND RIO500 DRIVER | ||
4107 | P: Cesar Miquel | ||
4108 | M: miquel@df.uba.ar | ||
4109 | L: rio500-users@lists.sourceforge.net | ||
4110 | W: http://rio500.sourceforge.net | ||
4111 | S: Maintained | ||
4112 | |||
4074 | USB EHCI DRIVER | 4113 | USB EHCI DRIVER |
4075 | P: David Brownell | 4114 | P: David Brownell |
4076 | M: dbrownell@users.sourceforge.net | 4115 | M: dbrownell@users.sourceforge.net |
@@ -4325,42 +4364,6 @@ M: romieu@fr.zoreil.com | |||
4325 | L: netdev@vger.kernel.org | 4364 | L: netdev@vger.kernel.org |
4326 | S: Maintained | 4365 | S: Maintained |
4327 | 4366 | ||
4328 | UCLINUX (AND M68KNOMMU) | ||
4329 | P: Greg Ungerer | ||
4330 | M: gerg@uclinux.org | ||
4331 | W: http://www.uclinux.org/ | ||
4332 | L: uclinux-dev@uclinux.org (subscribers-only) | ||
4333 | S: Maintained | ||
4334 | |||
4335 | UCLINUX FOR NEC V850 | ||
4336 | P: Miles Bader | ||
4337 | |||
4338 | UCLINUX FOR RENESAS H8/300 | ||
4339 | P: Yoshinori Sato | ||
4340 | M: ysato@users.sourceforge.jp | ||
4341 | W: http://uclinux-h8.sourceforge.jp/ | ||
4342 | S: Supported | ||
4343 | |||
4344 | UFS FILESYSTEM | ||
4345 | P: Evgeniy Dushistov | ||
4346 | M: dushistov@mail.ru | ||
4347 | L: linux-kernel@vger.kernel.org | ||
4348 | S: Maintained | ||
4349 | |||
4350 | UltraSPARC (sparc64): | ||
4351 | P: David S. Miller | ||
4352 | M: davem@davemloft.net | ||
4353 | L: sparclinux@vger.kernel.org | ||
4354 | T: git kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6.git | ||
4355 | S: Maintained | ||
4356 | |||
4357 | USB DIAMOND RIO500 DRIVER | ||
4358 | P: Cesar Miquel | ||
4359 | M: miquel@df.uba.ar | ||
4360 | L: rio500-users@lists.sourceforge.net | ||
4361 | W: http://rio500.sourceforge.net | ||
4362 | S: Maintained | ||
4363 | |||
4364 | VIDEO FOR LINUX | 4367 | VIDEO FOR LINUX |
4365 | P: Mauro Carvalho Chehab | 4368 | P: Mauro Carvalho Chehab |
4366 | M: mchehab@infradead.org | 4369 | M: mchehab@infradead.org |
@@ -1,7 +1,7 @@ | |||
1 | VERSION = 2 | 1 | VERSION = 2 |
2 | PATCHLEVEL = 6 | 2 | PATCHLEVEL = 6 |
3 | SUBLEVEL = 26 | 3 | SUBLEVEL = 26 |
4 | EXTRAVERSION = -rc2 | 4 | EXTRAVERSION = -rc3 |
5 | NAME = Funky Weasel is Jiggy wit it | 5 | NAME = Funky Weasel is Jiggy wit it |
6 | 6 | ||
7 | # *DOCUMENTATION* | 7 | # *DOCUMENTATION* |
@@ -1114,6 +1114,7 @@ MRPROPER_DIRS += include/config include2 usr/include | |||
1114 | MRPROPER_FILES += .config .config.old include/asm .version .old_version \ | 1114 | MRPROPER_FILES += .config .config.old include/asm .version .old_version \ |
1115 | include/linux/autoconf.h include/linux/version.h \ | 1115 | include/linux/autoconf.h include/linux/version.h \ |
1116 | include/linux/utsrelease.h \ | 1116 | include/linux/utsrelease.h \ |
1117 | include/linux/bounds.h include/asm*/asm-offsets.h \ | ||
1117 | Module.symvers tags TAGS cscope* | 1118 | Module.symvers tags TAGS cscope* |
1118 | 1119 | ||
1119 | # clean - Delete most, but leave enough to build external modules | 1120 | # clean - Delete most, but leave enough to build external modules |
@@ -1431,7 +1432,7 @@ define xtags | |||
1431 | elif $1 --version 2>&1 | grep -iq emacs; then \ | 1432 | elif $1 --version 2>&1 | grep -iq emacs; then \ |
1432 | $(all-sources) | xargs $1 -a; \ | 1433 | $(all-sources) | xargs $1 -a; \ |
1433 | $(all-kconfigs) | xargs $1 -a \ | 1434 | $(all-kconfigs) | xargs $1 -a \ |
1434 | --regex='/^[ \t]*(menu|)config[ \t]+\([a-zA-Z0-9_]+\)/\2/'; \ | 1435 | --regex='/^[ \t]*\(\(menu\)*config\)[ \t]+\([a-zA-Z0-9_]+\)/\3/'; \ |
1435 | $(all-defconfigs) | xargs -r $1 -a \ | 1436 | $(all-defconfigs) | xargs -r $1 -a \ |
1436 | --regex='/^#?[ \t]?\(CONFIG_[a-zA-Z0-9_]+\)/\1/'; \ | 1437 | --regex='/^#?[ \t]?\(CONFIG_[a-zA-Z0-9_]+\)/\1/'; \ |
1437 | else \ | 1438 | else \ |
diff --git a/arch/alpha/kernel/init_task.c b/arch/alpha/kernel/init_task.c index 835d09a7b332..1f762189fa64 100644 --- a/arch/alpha/kernel/init_task.c +++ b/arch/alpha/kernel/init_task.c | |||
@@ -9,7 +9,6 @@ | |||
9 | 9 | ||
10 | 10 | ||
11 | static struct fs_struct init_fs = INIT_FS; | 11 | static struct fs_struct init_fs = INIT_FS; |
12 | static struct files_struct init_files = INIT_FILES; | ||
13 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 12 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
14 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 13 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
15 | struct mm_struct init_mm = INIT_MM(init_mm); | 14 | struct mm_struct init_mm = INIT_MM(init_mm); |
diff --git a/arch/arm/common/locomo.c b/arch/arm/common/locomo.c index ae21755872ed..d973c986f721 100644 --- a/arch/arm/common/locomo.c +++ b/arch/arm/common/locomo.c | |||
@@ -321,11 +321,42 @@ static void locomo_gpio_unmask_irq(unsigned int irq) | |||
321 | locomo_writel(r, mapbase + LOCOMO_GIE); | 321 | locomo_writel(r, mapbase + LOCOMO_GIE); |
322 | } | 322 | } |
323 | 323 | ||
324 | static int GPIO_IRQ_rising_edge; | ||
325 | static int GPIO_IRQ_falling_edge; | ||
326 | |||
327 | static int locomo_gpio_type(unsigned int irq, unsigned int type) | ||
328 | { | ||
329 | unsigned int mask; | ||
330 | void __iomem *mapbase = get_irq_chip_data(irq); | ||
331 | |||
332 | mask = 1 << (irq - LOCOMO_IRQ_GPIO_START); | ||
333 | |||
334 | if (type == IRQT_PROBE) { | ||
335 | if ((GPIO_IRQ_rising_edge | GPIO_IRQ_falling_edge) & mask) | ||
336 | return 0; | ||
337 | type = __IRQT_RISEDGE | __IRQT_FALEDGE; | ||
338 | } | ||
339 | |||
340 | if (type & __IRQT_RISEDGE) | ||
341 | GPIO_IRQ_rising_edge |= mask; | ||
342 | else | ||
343 | GPIO_IRQ_rising_edge &= ~mask; | ||
344 | if (type & __IRQT_FALEDGE) | ||
345 | GPIO_IRQ_falling_edge |= mask; | ||
346 | else | ||
347 | GPIO_IRQ_falling_edge &= ~mask; | ||
348 | locomo_writel(GPIO_IRQ_rising_edge, mapbase + LOCOMO_GRIE); | ||
349 | locomo_writel(GPIO_IRQ_falling_edge, mapbase + LOCOMO_GFIE); | ||
350 | |||
351 | return 0; | ||
352 | } | ||
353 | |||
324 | static struct irq_chip locomo_gpio_chip = { | 354 | static struct irq_chip locomo_gpio_chip = { |
325 | .name = "LOCOMO-gpio", | 355 | .name = "LOCOMO-gpio", |
326 | .ack = locomo_gpio_ack_irq, | 356 | .ack = locomo_gpio_ack_irq, |
327 | .mask = locomo_gpio_mask_irq, | 357 | .mask = locomo_gpio_mask_irq, |
328 | .unmask = locomo_gpio_unmask_irq, | 358 | .unmask = locomo_gpio_unmask_irq, |
359 | .set_type = locomo_gpio_type, | ||
329 | }; | 360 | }; |
330 | 361 | ||
331 | static void locomo_lt_handler(unsigned int irq, struct irq_desc *desc) | 362 | static void locomo_lt_handler(unsigned int irq, struct irq_desc *desc) |
@@ -450,22 +481,18 @@ static void locomo_setup_irq(struct locomo *lchip) | |||
450 | set_irq_chip(IRQ_LOCOMO_KEY_BASE, &locomo_chip); | 481 | set_irq_chip(IRQ_LOCOMO_KEY_BASE, &locomo_chip); |
451 | set_irq_chip_data(IRQ_LOCOMO_KEY_BASE, irqbase); | 482 | set_irq_chip_data(IRQ_LOCOMO_KEY_BASE, irqbase); |
452 | set_irq_chained_handler(IRQ_LOCOMO_KEY_BASE, locomo_key_handler); | 483 | set_irq_chained_handler(IRQ_LOCOMO_KEY_BASE, locomo_key_handler); |
453 | set_irq_flags(IRQ_LOCOMO_KEY_BASE, IRQF_VALID | IRQF_PROBE); | ||
454 | 484 | ||
455 | set_irq_chip(IRQ_LOCOMO_GPIO_BASE, &locomo_chip); | 485 | set_irq_chip(IRQ_LOCOMO_GPIO_BASE, &locomo_chip); |
456 | set_irq_chip_data(IRQ_LOCOMO_GPIO_BASE, irqbase); | 486 | set_irq_chip_data(IRQ_LOCOMO_GPIO_BASE, irqbase); |
457 | set_irq_chained_handler(IRQ_LOCOMO_GPIO_BASE, locomo_gpio_handler); | 487 | set_irq_chained_handler(IRQ_LOCOMO_GPIO_BASE, locomo_gpio_handler); |
458 | set_irq_flags(IRQ_LOCOMO_GPIO_BASE, IRQF_VALID | IRQF_PROBE); | ||
459 | 488 | ||
460 | set_irq_chip(IRQ_LOCOMO_LT_BASE, &locomo_chip); | 489 | set_irq_chip(IRQ_LOCOMO_LT_BASE, &locomo_chip); |
461 | set_irq_chip_data(IRQ_LOCOMO_LT_BASE, irqbase); | 490 | set_irq_chip_data(IRQ_LOCOMO_LT_BASE, irqbase); |
462 | set_irq_chained_handler(IRQ_LOCOMO_LT_BASE, locomo_lt_handler); | 491 | set_irq_chained_handler(IRQ_LOCOMO_LT_BASE, locomo_lt_handler); |
463 | set_irq_flags(IRQ_LOCOMO_LT_BASE, IRQF_VALID | IRQF_PROBE); | ||
464 | 492 | ||
465 | set_irq_chip(IRQ_LOCOMO_SPI_BASE, &locomo_chip); | 493 | set_irq_chip(IRQ_LOCOMO_SPI_BASE, &locomo_chip); |
466 | set_irq_chip_data(IRQ_LOCOMO_SPI_BASE, irqbase); | 494 | set_irq_chip_data(IRQ_LOCOMO_SPI_BASE, irqbase); |
467 | set_irq_chained_handler(IRQ_LOCOMO_SPI_BASE, locomo_spi_handler); | 495 | set_irq_chained_handler(IRQ_LOCOMO_SPI_BASE, locomo_spi_handler); |
468 | set_irq_flags(IRQ_LOCOMO_SPI_BASE, IRQF_VALID | IRQF_PROBE); | ||
469 | 496 | ||
470 | /* install handlers for IRQ_LOCOMO_KEY_BASE generated interrupts */ | 497 | /* install handlers for IRQ_LOCOMO_KEY_BASE generated interrupts */ |
471 | set_irq_chip(LOCOMO_IRQ_KEY_START, &locomo_key_chip); | 498 | set_irq_chip(LOCOMO_IRQ_KEY_START, &locomo_key_chip); |
@@ -488,7 +515,7 @@ static void locomo_setup_irq(struct locomo *lchip) | |||
488 | set_irq_flags(LOCOMO_IRQ_LT_START, IRQF_VALID | IRQF_PROBE); | 515 | set_irq_flags(LOCOMO_IRQ_LT_START, IRQF_VALID | IRQF_PROBE); |
489 | 516 | ||
490 | /* install handlers for IRQ_LOCOMO_SPI_BASE generated interrupts */ | 517 | /* install handlers for IRQ_LOCOMO_SPI_BASE generated interrupts */ |
491 | for (irq = LOCOMO_IRQ_SPI_START; irq < LOCOMO_IRQ_SPI_START + 3; irq++) { | 518 | for (irq = LOCOMO_IRQ_SPI_START; irq < LOCOMO_IRQ_SPI_START + 4; irq++) { |
492 | set_irq_chip(irq, &locomo_spi_chip); | 519 | set_irq_chip(irq, &locomo_spi_chip); |
493 | set_irq_chip_data(irq, irqbase); | 520 | set_irq_chip_data(irq, irqbase); |
494 | set_irq_handler(irq, handle_edge_irq); | 521 | set_irq_handler(irq, handle_edge_irq); |
@@ -574,20 +601,20 @@ static int locomo_suspend(struct platform_device *dev, pm_message_t state) | |||
574 | 601 | ||
575 | save->LCM_GPO = locomo_readl(lchip->base + LOCOMO_GPO); /* GPIO */ | 602 | save->LCM_GPO = locomo_readl(lchip->base + LOCOMO_GPO); /* GPIO */ |
576 | locomo_writel(0x00, lchip->base + LOCOMO_GPO); | 603 | locomo_writel(0x00, lchip->base + LOCOMO_GPO); |
577 | save->LCM_SPICT = locomo_readl(lchip->base + LOCOMO_SPICT); /* SPI */ | 604 | save->LCM_SPICT = locomo_readl(lchip->base + LOCOMO_SPI + LOCOMO_SPICT); /* SPI */ |
578 | locomo_writel(0x40, lchip->base + LOCOMO_SPICT); | 605 | locomo_writel(0x40, lchip->base + LOCOMO_SPICT); |
579 | save->LCM_GPE = locomo_readl(lchip->base + LOCOMO_GPE); /* GPIO */ | 606 | save->LCM_GPE = locomo_readl(lchip->base + LOCOMO_GPE); /* GPIO */ |
580 | locomo_writel(0x00, lchip->base + LOCOMO_GPE); | 607 | locomo_writel(0x00, lchip->base + LOCOMO_GPE); |
581 | save->LCM_ASD = locomo_readl(lchip->base + LOCOMO_ASD); /* ADSTART */ | 608 | save->LCM_ASD = locomo_readl(lchip->base + LOCOMO_ASD); /* ADSTART */ |
582 | locomo_writel(0x00, lchip->base + LOCOMO_ASD); | 609 | locomo_writel(0x00, lchip->base + LOCOMO_ASD); |
583 | save->LCM_SPIMD = locomo_readl(lchip->base + LOCOMO_SPIMD); /* SPI */ | 610 | save->LCM_SPIMD = locomo_readl(lchip->base + LOCOMO_SPI + LOCOMO_SPIMD); /* SPI */ |
584 | locomo_writel(0x3C14, lchip->base + LOCOMO_SPIMD); | 611 | locomo_writel(0x3C14, lchip->base + LOCOMO_SPI + LOCOMO_SPIMD); |
585 | 612 | ||
586 | locomo_writel(0x00, lchip->base + LOCOMO_PAIF); | 613 | locomo_writel(0x00, lchip->base + LOCOMO_PAIF); |
587 | locomo_writel(0x00, lchip->base + LOCOMO_DAC); | 614 | locomo_writel(0x00, lchip->base + LOCOMO_DAC); |
588 | locomo_writel(0x00, lchip->base + LOCOMO_BACKLIGHT + LOCOMO_TC); | 615 | locomo_writel(0x00, lchip->base + LOCOMO_BACKLIGHT + LOCOMO_TC); |
589 | 616 | ||
590 | if ( (locomo_readl(lchip->base + LOCOMO_LED + LOCOMO_LPT0) & 0x88) && (locomo_readl(lchip->base + LOCOMO_LED + LOCOMO_LPT1) & 0x88) ) | 617 | if ((locomo_readl(lchip->base + LOCOMO_LED + LOCOMO_LPT0) & 0x88) && (locomo_readl(lchip->base + LOCOMO_LED + LOCOMO_LPT1) & 0x88)) |
591 | locomo_writel(0x00, lchip->base + LOCOMO_C32K); /* CLK32 off */ | 618 | locomo_writel(0x00, lchip->base + LOCOMO_C32K); /* CLK32 off */ |
592 | else | 619 | else |
593 | /* 18MHz already enabled, so no wait */ | 620 | /* 18MHz already enabled, so no wait */ |
@@ -616,10 +643,10 @@ static int locomo_resume(struct platform_device *dev) | |||
616 | spin_lock_irqsave(&lchip->lock, flags); | 643 | spin_lock_irqsave(&lchip->lock, flags); |
617 | 644 | ||
618 | locomo_writel(save->LCM_GPO, lchip->base + LOCOMO_GPO); | 645 | locomo_writel(save->LCM_GPO, lchip->base + LOCOMO_GPO); |
619 | locomo_writel(save->LCM_SPICT, lchip->base + LOCOMO_SPICT); | 646 | locomo_writel(save->LCM_SPICT, lchip->base + LOCOMO_SPI + LOCOMO_SPICT); |
620 | locomo_writel(save->LCM_GPE, lchip->base + LOCOMO_GPE); | 647 | locomo_writel(save->LCM_GPE, lchip->base + LOCOMO_GPE); |
621 | locomo_writel(save->LCM_ASD, lchip->base + LOCOMO_ASD); | 648 | locomo_writel(save->LCM_ASD, lchip->base + LOCOMO_ASD); |
622 | locomo_writel(save->LCM_SPIMD, lchip->base + LOCOMO_SPIMD); | 649 | locomo_writel(save->LCM_SPIMD, lchip->base + LOCOMO_SPI + LOCOMO_SPIMD); |
623 | 650 | ||
624 | locomo_writel(0x00, lchip->base + LOCOMO_C32K); | 651 | locomo_writel(0x00, lchip->base + LOCOMO_C32K); |
625 | locomo_writel(0x90, lchip->base + LOCOMO_TADC); | 652 | locomo_writel(0x90, lchip->base + LOCOMO_TADC); |
@@ -688,9 +715,9 @@ __locomo_probe(struct device *me, struct resource *mem, int irq) | |||
688 | 715 | ||
689 | /* GPIO */ | 716 | /* GPIO */ |
690 | locomo_writel(0, lchip->base + LOCOMO_GPO); | 717 | locomo_writel(0, lchip->base + LOCOMO_GPO); |
691 | locomo_writel( (LOCOMO_GPIO(2) | LOCOMO_GPIO(3) | LOCOMO_GPIO(13) | LOCOMO_GPIO(14)) | 718 | locomo_writel((LOCOMO_GPIO(1) | LOCOMO_GPIO(2) | LOCOMO_GPIO(13) | LOCOMO_GPIO(14)) |
692 | , lchip->base + LOCOMO_GPE); | 719 | , lchip->base + LOCOMO_GPE); |
693 | locomo_writel( (LOCOMO_GPIO(2) | LOCOMO_GPIO(3) | LOCOMO_GPIO(13) | LOCOMO_GPIO(14)) | 720 | locomo_writel((LOCOMO_GPIO(1) | LOCOMO_GPIO(2) | LOCOMO_GPIO(13) | LOCOMO_GPIO(14)) |
694 | , lchip->base + LOCOMO_GPD); | 721 | , lchip->base + LOCOMO_GPD); |
695 | locomo_writel(0, lchip->base + LOCOMO_GIE); | 722 | locomo_writel(0, lchip->base + LOCOMO_GIE); |
696 | 723 | ||
@@ -833,7 +860,10 @@ void locomo_gpio_set_dir(struct device *dev, unsigned int bits, unsigned int dir | |||
833 | spin_lock_irqsave(&lchip->lock, flags); | 860 | spin_lock_irqsave(&lchip->lock, flags); |
834 | 861 | ||
835 | r = locomo_readl(lchip->base + LOCOMO_GPD); | 862 | r = locomo_readl(lchip->base + LOCOMO_GPD); |
836 | r &= ~bits; | 863 | if (dir) |
864 | r |= bits; | ||
865 | else | ||
866 | r &= ~bits; | ||
837 | locomo_writel(r, lchip->base + LOCOMO_GPD); | 867 | locomo_writel(r, lchip->base + LOCOMO_GPD); |
838 | 868 | ||
839 | r = locomo_readl(lchip->base + LOCOMO_GPE); | 869 | r = locomo_readl(lchip->base + LOCOMO_GPE); |
diff --git a/arch/arm/kernel/armksyms.c b/arch/arm/kernel/armksyms.c index f73d62e8ab60..688b7b1ee416 100644 --- a/arch/arm/kernel/armksyms.c +++ b/arch/arm/kernel/armksyms.c | |||
@@ -179,3 +179,5 @@ EXPORT_SYMBOL(_find_next_zero_bit_be); | |||
179 | EXPORT_SYMBOL(_find_first_bit_be); | 179 | EXPORT_SYMBOL(_find_first_bit_be); |
180 | EXPORT_SYMBOL(_find_next_bit_be); | 180 | EXPORT_SYMBOL(_find_next_bit_be); |
181 | #endif | 181 | #endif |
182 | |||
183 | EXPORT_SYMBOL(copy_page); | ||
diff --git a/arch/arm/kernel/arthur.c b/arch/arm/kernel/arthur.c index 0ee2e9819631..321c5291d05f 100644 --- a/arch/arm/kernel/arthur.c +++ b/arch/arm/kernel/arthur.c | |||
@@ -90,3 +90,5 @@ static void __exit arthur_exit(void) | |||
90 | 90 | ||
91 | module_init(arthur_init); | 91 | module_init(arthur_init); |
92 | module_exit(arthur_exit); | 92 | module_exit(arthur_exit); |
93 | |||
94 | MODULE_LICENSE("GPL"); | ||
diff --git a/arch/arm/kernel/init_task.c b/arch/arm/kernel/init_task.c index bd4ef53bc6b9..8b8c9d38a761 100644 --- a/arch/arm/kernel/init_task.c +++ b/arch/arm/kernel/init_task.c | |||
@@ -13,7 +13,6 @@ | |||
13 | #include <asm/pgtable.h> | 13 | #include <asm/pgtable.h> |
14 | 14 | ||
15 | static struct fs_struct init_fs = INIT_FS; | 15 | static struct fs_struct init_fs = INIT_FS; |
16 | static struct files_struct init_files = INIT_FILES; | ||
17 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 16 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
18 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 17 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
19 | struct mm_struct init_mm = INIT_MM(init_mm); | 18 | struct mm_struct init_mm = INIT_MM(init_mm); |
diff --git a/arch/arm/mach-omap1/board-palmte.c b/arch/arm/mach-omap1/board-palmte.c index ca1a4bf78a10..a0b16a7e8a04 100644 --- a/arch/arm/mach-omap1/board-palmte.c +++ b/arch/arm/mach-omap1/board-palmte.c | |||
@@ -63,7 +63,7 @@ static const int palmte_keymap[] = { | |||
63 | KEY(1, 1, KEY_DOWN), | 63 | KEY(1, 1, KEY_DOWN), |
64 | KEY(1, 2, KEY_UP), | 64 | KEY(1, 2, KEY_UP), |
65 | KEY(1, 3, KEY_RIGHT), | 65 | KEY(1, 3, KEY_RIGHT), |
66 | KEY(1, 4, KEY_CENTER), | 66 | KEY(1, 4, KEY_ENTER), |
67 | 0, | 67 | 0, |
68 | }; | 68 | }; |
69 | 69 | ||
diff --git a/arch/arm/mach-omap1/board-palmz71.c b/arch/arm/mach-omap1/board-palmz71.c index 156510777ffe..e020c2774606 100644 --- a/arch/arm/mach-omap1/board-palmz71.c +++ b/arch/arm/mach-omap1/board-palmz71.c | |||
@@ -65,7 +65,7 @@ static int palmz71_keymap[] = { | |||
65 | KEY(1, 1, KEY_DOWN), | 65 | KEY(1, 1, KEY_DOWN), |
66 | KEY(1, 2, KEY_UP), | 66 | KEY(1, 2, KEY_UP), |
67 | KEY(1, 3, KEY_RIGHT), | 67 | KEY(1, 3, KEY_RIGHT), |
68 | KEY(1, 4, KEY_CENTER), | 68 | KEY(1, 4, KEY_ENTER), |
69 | KEY(2, 0, KEY_CAMERA), | 69 | KEY(2, 0, KEY_CAMERA), |
70 | 0, | 70 | 0, |
71 | }; | 71 | }; |
diff --git a/arch/arm/mach-omap2/board-2430sdp.c b/arch/arm/mach-omap2/board-2430sdp.c index 1c12d7c6c7fc..1682eb77c46d 100644 --- a/arch/arm/mach-omap2/board-2430sdp.c +++ b/arch/arm/mach-omap2/board-2430sdp.c | |||
@@ -208,6 +208,7 @@ static void __init omap_2430sdp_init(void) | |||
208 | 208 | ||
209 | static void __init omap_2430sdp_map_io(void) | 209 | static void __init omap_2430sdp_map_io(void) |
210 | { | 210 | { |
211 | omap2_set_globals_243x(); | ||
211 | omap2_map_common_io(); | 212 | omap2_map_common_io(); |
212 | } | 213 | } |
213 | 214 | ||
diff --git a/arch/arm/mach-omap2/board-apollon.c b/arch/arm/mach-omap2/board-apollon.c index a1e1e6765b5b..620fa0f120ee 100644 --- a/arch/arm/mach-omap2/board-apollon.c +++ b/arch/arm/mach-omap2/board-apollon.c | |||
@@ -394,6 +394,7 @@ static void __init omap_apollon_init(void) | |||
394 | 394 | ||
395 | static void __init omap_apollon_map_io(void) | 395 | static void __init omap_apollon_map_io(void) |
396 | { | 396 | { |
397 | omap2_set_globals_242x(); | ||
397 | omap2_map_common_io(); | 398 | omap2_map_common_io(); |
398 | } | 399 | } |
399 | 400 | ||
diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c index 90938151bcf1..df8be081e159 100644 --- a/arch/arm/mach-omap2/board-generic.c +++ b/arch/arm/mach-omap2/board-generic.c | |||
@@ -65,6 +65,7 @@ static void __init omap_generic_init(void) | |||
65 | 65 | ||
66 | static void __init omap_generic_map_io(void) | 66 | static void __init omap_generic_map_io(void) |
67 | { | 67 | { |
68 | omap2_set_globals_242x(); /* should be 242x, 243x, or 343x */ | ||
68 | omap2_map_common_io(); | 69 | omap2_map_common_io(); |
69 | } | 70 | } |
70 | 71 | ||
diff --git a/arch/arm/mach-omap2/board-h4.c b/arch/arm/mach-omap2/board-h4.c index d1915f99a5fa..0d28f6897c8e 100644 --- a/arch/arm/mach-omap2/board-h4.c +++ b/arch/arm/mach-omap2/board-h4.c | |||
@@ -420,6 +420,7 @@ static void __init omap_h4_init(void) | |||
420 | 420 | ||
421 | static void __init omap_h4_map_io(void) | 421 | static void __init omap_h4_map_io(void) |
422 | { | 422 | { |
423 | omap2_set_globals_242x(); | ||
423 | omap2_map_common_io(); | 424 | omap2_map_common_io(); |
424 | } | 425 | } |
425 | 426 | ||
diff --git a/arch/arm/mach-omap2/clock.c b/arch/arm/mach-omap2/clock.c index b57ffb5a22a5..ab9fc57d25f1 100644 --- a/arch/arm/mach-omap2/clock.c +++ b/arch/arm/mach-omap2/clock.c | |||
@@ -205,7 +205,9 @@ static void omap2_clk_wait_ready(struct clk *clk) | |||
205 | /* REVISIT: What are the appropriate exclusions for 34XX? */ | 205 | /* REVISIT: What are the appropriate exclusions for 34XX? */ |
206 | /* OMAP3: ignore DSS-mod clocks */ | 206 | /* OMAP3: ignore DSS-mod clocks */ |
207 | if (cpu_is_omap34xx() && | 207 | if (cpu_is_omap34xx() && |
208 | (((u32)reg & ~0xff) == (u32)OMAP_CM_REGADDR(OMAP3430_DSS_MOD, 0))) | 208 | (((u32)reg & ~0xff) == (u32)OMAP_CM_REGADDR(OMAP3430_DSS_MOD, 0) || |
209 | ((((u32)reg & ~0xff) == (u32)OMAP_CM_REGADDR(CORE_MOD, 0)) && | ||
210 | clk->enable_bit == OMAP3430_EN_SSI_SHIFT))) | ||
209 | return; | 211 | return; |
210 | 212 | ||
211 | /* Check if both functional and interface clocks | 213 | /* Check if both functional and interface clocks |
diff --git a/arch/arm/mach-omap2/clock34xx.h b/arch/arm/mach-omap2/clock34xx.h index cf4644a94b9b..c9c5972a2e25 100644 --- a/arch/arm/mach-omap2/clock34xx.h +++ b/arch/arm/mach-omap2/clock34xx.h | |||
@@ -836,7 +836,8 @@ static struct clk dpll5_m2_ck = { | |||
836 | .clksel_reg = OMAP_CM_REGADDR(PLL_MOD, OMAP3430ES2_CM_CLKSEL5), | 836 | .clksel_reg = OMAP_CM_REGADDR(PLL_MOD, OMAP3430ES2_CM_CLKSEL5), |
837 | .clksel_mask = OMAP3430ES2_DIV_120M_MASK, | 837 | .clksel_mask = OMAP3430ES2_DIV_120M_MASK, |
838 | .clksel = div16_dpll5_clksel, | 838 | .clksel = div16_dpll5_clksel, |
839 | .flags = CLOCK_IN_OMAP3430ES2 | RATE_PROPAGATES, | 839 | .flags = CLOCK_IN_OMAP3430ES2 | RATE_PROPAGATES | |
840 | PARENT_CONTROLS_CLOCK, | ||
840 | .recalc = &omap2_clksel_recalc, | 841 | .recalc = &omap2_clksel_recalc, |
841 | }; | 842 | }; |
842 | 843 | ||
@@ -1046,12 +1047,13 @@ static struct clk iva2_ck = { | |||
1046 | .name = "iva2_ck", | 1047 | .name = "iva2_ck", |
1047 | .parent = &dpll2_m2_ck, | 1048 | .parent = &dpll2_m2_ck, |
1048 | .init = &omap2_init_clksel_parent, | 1049 | .init = &omap2_init_clksel_parent, |
1050 | .enable_reg = OMAP_CM_REGADDR(OMAP3430_IVA2_MOD, CM_FCLKEN), | ||
1051 | .enable_bit = OMAP3430_CM_FCLKEN_IVA2_EN_IVA2_SHIFT, | ||
1049 | .clksel_reg = OMAP_CM_REGADDR(OMAP3430_IVA2_MOD, | 1052 | .clksel_reg = OMAP_CM_REGADDR(OMAP3430_IVA2_MOD, |
1050 | OMAP3430_CM_IDLEST_PLL), | 1053 | OMAP3430_CM_IDLEST_PLL), |
1051 | .clksel_mask = OMAP3430_ST_IVA2_CLK_MASK, | 1054 | .clksel_mask = OMAP3430_ST_IVA2_CLK_MASK, |
1052 | .clksel = iva2_clksel, | 1055 | .clksel = iva2_clksel, |
1053 | .flags = CLOCK_IN_OMAP343X | RATE_PROPAGATES | | 1056 | .flags = CLOCK_IN_OMAP343X | RATE_PROPAGATES, |
1054 | PARENT_CONTROLS_CLOCK, | ||
1055 | .recalc = &omap2_clksel_recalc, | 1057 | .recalc = &omap2_clksel_recalc, |
1056 | }; | 1058 | }; |
1057 | 1059 | ||
@@ -1836,7 +1838,8 @@ static struct clk omapctrl_ick = { | |||
1836 | static struct clk ssi_l4_ick = { | 1838 | static struct clk ssi_l4_ick = { |
1837 | .name = "ssi_l4_ick", | 1839 | .name = "ssi_l4_ick", |
1838 | .parent = &l4_ick, | 1840 | .parent = &l4_ick, |
1839 | .flags = CLOCK_IN_OMAP343X | RATE_PROPAGATES, | 1841 | .flags = CLOCK_IN_OMAP343X | RATE_PROPAGATES | |
1842 | PARENT_CONTROLS_CLOCK, | ||
1840 | .recalc = &followparent_recalc, | 1843 | .recalc = &followparent_recalc, |
1841 | }; | 1844 | }; |
1842 | 1845 | ||
@@ -2344,7 +2347,7 @@ static struct clk gpio6_fck = { | |||
2344 | .name = "gpio6_fck", | 2347 | .name = "gpio6_fck", |
2345 | .parent = &per_32k_alwon_fck, | 2348 | .parent = &per_32k_alwon_fck, |
2346 | .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN), | 2349 | .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN), |
2347 | .enable_bit = OMAP3430_EN_GPT6_SHIFT, | 2350 | .enable_bit = OMAP3430_EN_GPIO6_SHIFT, |
2348 | .flags = CLOCK_IN_OMAP343X, | 2351 | .flags = CLOCK_IN_OMAP343X, |
2349 | .recalc = &followparent_recalc, | 2352 | .recalc = &followparent_recalc, |
2350 | }; | 2353 | }; |
@@ -2353,7 +2356,7 @@ static struct clk gpio5_fck = { | |||
2353 | .name = "gpio5_fck", | 2356 | .name = "gpio5_fck", |
2354 | .parent = &per_32k_alwon_fck, | 2357 | .parent = &per_32k_alwon_fck, |
2355 | .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN), | 2358 | .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN), |
2356 | .enable_bit = OMAP3430_EN_GPT5_SHIFT, | 2359 | .enable_bit = OMAP3430_EN_GPIO5_SHIFT, |
2357 | .flags = CLOCK_IN_OMAP343X, | 2360 | .flags = CLOCK_IN_OMAP343X, |
2358 | .recalc = &followparent_recalc, | 2361 | .recalc = &followparent_recalc, |
2359 | }; | 2362 | }; |
@@ -2362,7 +2365,7 @@ static struct clk gpio4_fck = { | |||
2362 | .name = "gpio4_fck", | 2365 | .name = "gpio4_fck", |
2363 | .parent = &per_32k_alwon_fck, | 2366 | .parent = &per_32k_alwon_fck, |
2364 | .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN), | 2367 | .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN), |
2365 | .enable_bit = OMAP3430_EN_GPT4_SHIFT, | 2368 | .enable_bit = OMAP3430_EN_GPIO4_SHIFT, |
2366 | .flags = CLOCK_IN_OMAP343X, | 2369 | .flags = CLOCK_IN_OMAP343X, |
2367 | .recalc = &followparent_recalc, | 2370 | .recalc = &followparent_recalc, |
2368 | }; | 2371 | }; |
@@ -2371,7 +2374,7 @@ static struct clk gpio3_fck = { | |||
2371 | .name = "gpio3_fck", | 2374 | .name = "gpio3_fck", |
2372 | .parent = &per_32k_alwon_fck, | 2375 | .parent = &per_32k_alwon_fck, |
2373 | .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN), | 2376 | .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN), |
2374 | .enable_bit = OMAP3430_EN_GPT3_SHIFT, | 2377 | .enable_bit = OMAP3430_EN_GPIO3_SHIFT, |
2375 | .flags = CLOCK_IN_OMAP343X, | 2378 | .flags = CLOCK_IN_OMAP343X, |
2376 | .recalc = &followparent_recalc, | 2379 | .recalc = &followparent_recalc, |
2377 | }; | 2380 | }; |
@@ -2380,7 +2383,7 @@ static struct clk gpio2_fck = { | |||
2380 | .name = "gpio2_fck", | 2383 | .name = "gpio2_fck", |
2381 | .parent = &per_32k_alwon_fck, | 2384 | .parent = &per_32k_alwon_fck, |
2382 | .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN), | 2385 | .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN), |
2383 | .enable_bit = OMAP3430_EN_GPT2_SHIFT, | 2386 | .enable_bit = OMAP3430_EN_GPIO2_SHIFT, |
2384 | .flags = CLOCK_IN_OMAP343X, | 2387 | .flags = CLOCK_IN_OMAP343X, |
2385 | .recalc = &followparent_recalc, | 2388 | .recalc = &followparent_recalc, |
2386 | }; | 2389 | }; |
diff --git a/arch/arm/mach-omap2/cm-regbits-34xx.h b/arch/arm/mach-omap2/cm-regbits-34xx.h index 9249129a5f46..3c38395f6442 100644 --- a/arch/arm/mach-omap2/cm-regbits-34xx.h +++ b/arch/arm/mach-omap2/cm-regbits-34xx.h | |||
@@ -56,6 +56,7 @@ | |||
56 | 56 | ||
57 | /* CM_FCLKEN_IVA2 */ | 57 | /* CM_FCLKEN_IVA2 */ |
58 | #define OMAP3430_CM_FCLKEN_IVA2_EN_IVA2 (1 << 0) | 58 | #define OMAP3430_CM_FCLKEN_IVA2_EN_IVA2 (1 << 0) |
59 | #define OMAP3430_CM_FCLKEN_IVA2_EN_IVA2_SHIFT 0 | ||
59 | 60 | ||
60 | /* CM_CLKEN_PLL_IVA2 */ | 61 | /* CM_CLKEN_PLL_IVA2 */ |
61 | #define OMAP3430_IVA2_DPLL_RAMPTIME_SHIFT 8 | 62 | #define OMAP3430_IVA2_DPLL_RAMPTIME_SHIFT 8 |
diff --git a/arch/arm/mach-omap2/mailbox.c b/arch/arm/mach-omap2/mailbox.c index b03cd06e055b..4799561c5a9e 100644 --- a/arch/arm/mach-omap2/mailbox.c +++ b/arch/arm/mach-omap2/mailbox.c | |||
@@ -70,6 +70,9 @@ struct omap_mbox2_priv { | |||
70 | 70 | ||
71 | static struct clk *mbox_ick_handle; | 71 | static struct clk *mbox_ick_handle; |
72 | 72 | ||
73 | static void omap2_mbox_enable_irq(struct omap_mbox *mbox, | ||
74 | omap_mbox_type_t irq); | ||
75 | |||
73 | static inline unsigned int mbox_read_reg(unsigned int reg) | 76 | static inline unsigned int mbox_read_reg(unsigned int reg) |
74 | { | 77 | { |
75 | return __raw_readl(mbox_base + reg); | 78 | return __raw_readl(mbox_base + reg); |
@@ -81,7 +84,7 @@ static inline void mbox_write_reg(unsigned int val, unsigned int reg) | |||
81 | } | 84 | } |
82 | 85 | ||
83 | /* Mailbox H/W preparations */ | 86 | /* Mailbox H/W preparations */ |
84 | static inline int omap2_mbox_startup(struct omap_mbox *mbox) | 87 | static int omap2_mbox_startup(struct omap_mbox *mbox) |
85 | { | 88 | { |
86 | unsigned int l; | 89 | unsigned int l; |
87 | 90 | ||
@@ -97,38 +100,40 @@ static inline int omap2_mbox_startup(struct omap_mbox *mbox) | |||
97 | l |= 0x00000011; | 100 | l |= 0x00000011; |
98 | mbox_write_reg(l, MAILBOX_SYSCONFIG); | 101 | mbox_write_reg(l, MAILBOX_SYSCONFIG); |
99 | 102 | ||
103 | omap2_mbox_enable_irq(mbox, IRQ_RX); | ||
104 | |||
100 | return 0; | 105 | return 0; |
101 | } | 106 | } |
102 | 107 | ||
103 | static inline void omap2_mbox_shutdown(struct omap_mbox *mbox) | 108 | static void omap2_mbox_shutdown(struct omap_mbox *mbox) |
104 | { | 109 | { |
105 | clk_disable(mbox_ick_handle); | 110 | clk_disable(mbox_ick_handle); |
106 | clk_put(mbox_ick_handle); | 111 | clk_put(mbox_ick_handle); |
107 | } | 112 | } |
108 | 113 | ||
109 | /* Mailbox FIFO handle functions */ | 114 | /* Mailbox FIFO handle functions */ |
110 | static inline mbox_msg_t omap2_mbox_fifo_read(struct omap_mbox *mbox) | 115 | static mbox_msg_t omap2_mbox_fifo_read(struct omap_mbox *mbox) |
111 | { | 116 | { |
112 | struct omap_mbox2_fifo *fifo = | 117 | struct omap_mbox2_fifo *fifo = |
113 | &((struct omap_mbox2_priv *)mbox->priv)->rx_fifo; | 118 | &((struct omap_mbox2_priv *)mbox->priv)->rx_fifo; |
114 | return (mbox_msg_t) mbox_read_reg(fifo->msg); | 119 | return (mbox_msg_t) mbox_read_reg(fifo->msg); |
115 | } | 120 | } |
116 | 121 | ||
117 | static inline void omap2_mbox_fifo_write(struct omap_mbox *mbox, mbox_msg_t msg) | 122 | static void omap2_mbox_fifo_write(struct omap_mbox *mbox, mbox_msg_t msg) |
118 | { | 123 | { |
119 | struct omap_mbox2_fifo *fifo = | 124 | struct omap_mbox2_fifo *fifo = |
120 | &((struct omap_mbox2_priv *)mbox->priv)->tx_fifo; | 125 | &((struct omap_mbox2_priv *)mbox->priv)->tx_fifo; |
121 | mbox_write_reg(msg, fifo->msg); | 126 | mbox_write_reg(msg, fifo->msg); |
122 | } | 127 | } |
123 | 128 | ||
124 | static inline int omap2_mbox_fifo_empty(struct omap_mbox *mbox) | 129 | static int omap2_mbox_fifo_empty(struct omap_mbox *mbox) |
125 | { | 130 | { |
126 | struct omap_mbox2_fifo *fifo = | 131 | struct omap_mbox2_fifo *fifo = |
127 | &((struct omap_mbox2_priv *)mbox->priv)->rx_fifo; | 132 | &((struct omap_mbox2_priv *)mbox->priv)->rx_fifo; |
128 | return (mbox_read_reg(fifo->msg_stat) == 0); | 133 | return (mbox_read_reg(fifo->msg_stat) == 0); |
129 | } | 134 | } |
130 | 135 | ||
131 | static inline int omap2_mbox_fifo_full(struct omap_mbox *mbox) | 136 | static int omap2_mbox_fifo_full(struct omap_mbox *mbox) |
132 | { | 137 | { |
133 | struct omap_mbox2_fifo *fifo = | 138 | struct omap_mbox2_fifo *fifo = |
134 | &((struct omap_mbox2_priv *)mbox->priv)->tx_fifo; | 139 | &((struct omap_mbox2_priv *)mbox->priv)->tx_fifo; |
@@ -136,7 +141,7 @@ static inline int omap2_mbox_fifo_full(struct omap_mbox *mbox) | |||
136 | } | 141 | } |
137 | 142 | ||
138 | /* Mailbox IRQ handle functions */ | 143 | /* Mailbox IRQ handle functions */ |
139 | static inline void omap2_mbox_enable_irq(struct omap_mbox *mbox, | 144 | static void omap2_mbox_enable_irq(struct omap_mbox *mbox, |
140 | omap_mbox_type_t irq) | 145 | omap_mbox_type_t irq) |
141 | { | 146 | { |
142 | struct omap_mbox2_priv *p = (struct omap_mbox2_priv *)mbox->priv; | 147 | struct omap_mbox2_priv *p = (struct omap_mbox2_priv *)mbox->priv; |
@@ -147,7 +152,7 @@ static inline void omap2_mbox_enable_irq(struct omap_mbox *mbox, | |||
147 | mbox_write_reg(l, p->irqenable); | 152 | mbox_write_reg(l, p->irqenable); |
148 | } | 153 | } |
149 | 154 | ||
150 | static inline void omap2_mbox_disable_irq(struct omap_mbox *mbox, | 155 | static void omap2_mbox_disable_irq(struct omap_mbox *mbox, |
151 | omap_mbox_type_t irq) | 156 | omap_mbox_type_t irq) |
152 | { | 157 | { |
153 | struct omap_mbox2_priv *p = (struct omap_mbox2_priv *)mbox->priv; | 158 | struct omap_mbox2_priv *p = (struct omap_mbox2_priv *)mbox->priv; |
@@ -158,7 +163,7 @@ static inline void omap2_mbox_disable_irq(struct omap_mbox *mbox, | |||
158 | mbox_write_reg(l, p->irqenable); | 163 | mbox_write_reg(l, p->irqenable); |
159 | } | 164 | } |
160 | 165 | ||
161 | static inline void omap2_mbox_ack_irq(struct omap_mbox *mbox, | 166 | static void omap2_mbox_ack_irq(struct omap_mbox *mbox, |
162 | omap_mbox_type_t irq) | 167 | omap_mbox_type_t irq) |
163 | { | 168 | { |
164 | struct omap_mbox2_priv *p = (struct omap_mbox2_priv *)mbox->priv; | 169 | struct omap_mbox2_priv *p = (struct omap_mbox2_priv *)mbox->priv; |
@@ -167,7 +172,7 @@ static inline void omap2_mbox_ack_irq(struct omap_mbox *mbox, | |||
167 | mbox_write_reg(bit, p->irqstatus); | 172 | mbox_write_reg(bit, p->irqstatus); |
168 | } | 173 | } |
169 | 174 | ||
170 | static inline int omap2_mbox_is_irq(struct omap_mbox *mbox, | 175 | static int omap2_mbox_is_irq(struct omap_mbox *mbox, |
171 | omap_mbox_type_t irq) | 176 | omap_mbox_type_t irq) |
172 | { | 177 | { |
173 | struct omap_mbox2_priv *p = (struct omap_mbox2_priv *)mbox->priv; | 178 | struct omap_mbox2_priv *p = (struct omap_mbox2_priv *)mbox->priv; |
diff --git a/arch/arm/mach-omap2/prm.h b/arch/arm/mach-omap2/prm.h index ab7649afd891..618f8111658a 100644 --- a/arch/arm/mach-omap2/prm.h +++ b/arch/arm/mach-omap2/prm.h | |||
@@ -30,7 +30,7 @@ | |||
30 | 30 | ||
31 | /* | 31 | /* |
32 | * Architecture-specific global PRM registers | 32 | * Architecture-specific global PRM registers |
33 | * Use prm_{read,write}_reg() with these registers. | 33 | * Use __raw_{read,write}l() with these registers. |
34 | * | 34 | * |
35 | * With a few exceptions, these are the register names beginning with | 35 | * With a few exceptions, these are the register names beginning with |
36 | * PRCM_* on 24xx, and PRM_* on 34xx. (The exceptions are the | 36 | * PRCM_* on 24xx, and PRM_* on 34xx. (The exceptions are the |
diff --git a/arch/arm/mach-orion5x/dns323-setup.c b/arch/arm/mach-orion5x/dns323-setup.c index f9430f5ca9a8..27ce967ab9e5 100644 --- a/arch/arm/mach-orion5x/dns323-setup.c +++ b/arch/arm/mach-orion5x/dns323-setup.c | |||
@@ -58,7 +58,7 @@ static int __init dns323_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) | |||
58 | } | 58 | } |
59 | 59 | ||
60 | static struct hw_pci dns323_pci __initdata = { | 60 | static struct hw_pci dns323_pci __initdata = { |
61 | .nr_controllers = 1, | 61 | .nr_controllers = 2, |
62 | .swizzle = pci_std_swizzle, | 62 | .swizzle = pci_std_swizzle, |
63 | .setup = orion5x_pci_sys_setup, | 63 | .setup = orion5x_pci_sys_setup, |
64 | .scan = orion5x_pci_sys_scan_bus, | 64 | .scan = orion5x_pci_sys_scan_bus, |
diff --git a/arch/arm/mach-orion5x/kurobox_pro-setup.c b/arch/arm/mach-orion5x/kurobox_pro-setup.c index 88410862feef..f5074b877b7f 100644 --- a/arch/arm/mach-orion5x/kurobox_pro-setup.c +++ b/arch/arm/mach-orion5x/kurobox_pro-setup.c | |||
@@ -138,7 +138,7 @@ static int __init kurobox_pro_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) | |||
138 | } | 138 | } |
139 | 139 | ||
140 | static struct hw_pci kurobox_pro_pci __initdata = { | 140 | static struct hw_pci kurobox_pro_pci __initdata = { |
141 | .nr_controllers = 1, | 141 | .nr_controllers = 2, |
142 | .swizzle = pci_std_swizzle, | 142 | .swizzle = pci_std_swizzle, |
143 | .setup = orion5x_pci_sys_setup, | 143 | .setup = orion5x_pci_sys_setup, |
144 | .scan = orion5x_pci_sys_scan_bus, | 144 | .scan = orion5x_pci_sys_scan_bus, |
diff --git a/arch/arm/mach-pxa/colibri.c b/arch/arm/mach-pxa/colibri.c index 43bf5a183e90..574839d7c132 100644 --- a/arch/arm/mach-pxa/colibri.c +++ b/arch/arm/mach-pxa/colibri.c | |||
@@ -98,7 +98,7 @@ static struct resource dm9000_resources[] = { | |||
98 | [2] = { | 98 | [2] = { |
99 | .start = COLIBRI_ETH_IRQ, | 99 | .start = COLIBRI_ETH_IRQ, |
100 | .end = COLIBRI_ETH_IRQ, | 100 | .end = COLIBRI_ETH_IRQ, |
101 | .flags = IORESOURCE_IRQ, | 101 | .flags = IORESOURCE_IRQ | IRQF_TRIGGER_RISING, |
102 | }, | 102 | }, |
103 | }; | 103 | }; |
104 | 104 | ||
@@ -119,7 +119,6 @@ static void __init colibri_init(void) | |||
119 | /* DM9000 LAN */ | 119 | /* DM9000 LAN */ |
120 | pxa_gpio_mode(GPIO78_nCS_2_MD); | 120 | pxa_gpio_mode(GPIO78_nCS_2_MD); |
121 | pxa_gpio_mode(GPIO_DM9000 | GPIO_IN); | 121 | pxa_gpio_mode(GPIO_DM9000 | GPIO_IN); |
122 | set_irq_type(COLIBRI_ETH_IRQ, IRQT_FALLING); | ||
123 | 122 | ||
124 | platform_add_devices(colibri_devices, ARRAY_SIZE(colibri_devices)); | 123 | platform_add_devices(colibri_devices, ARRAY_SIZE(colibri_devices)); |
125 | } | 124 | } |
diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c index e7d0fcd9b43f..dace3820f1ee 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c | |||
@@ -38,6 +38,7 @@ | |||
38 | #include <asm/arch/pxa-regs.h> | 38 | #include <asm/arch/pxa-regs.h> |
39 | #include <asm/arch/pxa2xx-regs.h> | 39 | #include <asm/arch/pxa2xx-regs.h> |
40 | #include <asm/arch/pxa2xx-gpio.h> | 40 | #include <asm/arch/pxa2xx-gpio.h> |
41 | #include <asm/arch/pxa27x-udc.h> | ||
41 | #include <asm/arch/irda.h> | 42 | #include <asm/arch/irda.h> |
42 | #include <asm/arch/mmc.h> | 43 | #include <asm/arch/mmc.h> |
43 | #include <asm/arch/ohci.h> | 44 | #include <asm/arch/ohci.h> |
diff --git a/arch/arm/mm/proc-arm925.S b/arch/arm/mm/proc-arm925.S index 065087afb772..d045812f3399 100644 --- a/arch/arm/mm/proc-arm925.S +++ b/arch/arm/mm/proc-arm925.S | |||
@@ -332,7 +332,7 @@ ENTRY(arm925_dma_flush_range) | |||
332 | #ifndef CONFIG_CPU_DCACHE_WRITETHROUGH | 332 | #ifndef CONFIG_CPU_DCACHE_WRITETHROUGH |
333 | mcr p15, 0, r0, c7, c14, 1 @ clean+invalidate D entry | 333 | mcr p15, 0, r0, c7, c14, 1 @ clean+invalidate D entry |
334 | #else | 334 | #else |
335 | mcr p15, 0, r0, c7, c10, 1 @ clean D entry | 335 | mcr p15, 0, r0, c7, c6, 1 @ invalidate D entry |
336 | #endif | 336 | #endif |
337 | add r0, r0, #CACHE_DLINESIZE | 337 | add r0, r0, #CACHE_DLINESIZE |
338 | cmp r0, r1 | 338 | cmp r0, r1 |
diff --git a/arch/arm/mm/proc-arm926.S b/arch/arm/mm/proc-arm926.S index 997db8472b5c..4cd33169a7c9 100644 --- a/arch/arm/mm/proc-arm926.S +++ b/arch/arm/mm/proc-arm926.S | |||
@@ -295,7 +295,7 @@ ENTRY(arm926_dma_flush_range) | |||
295 | #ifndef CONFIG_CPU_DCACHE_WRITETHROUGH | 295 | #ifndef CONFIG_CPU_DCACHE_WRITETHROUGH |
296 | mcr p15, 0, r0, c7, c14, 1 @ clean+invalidate D entry | 296 | mcr p15, 0, r0, c7, c14, 1 @ clean+invalidate D entry |
297 | #else | 297 | #else |
298 | mcr p15, 0, r0, c7, c10, 1 @ clean D entry | 298 | mcr p15, 0, r0, c7, c6, 1 @ invalidate D entry |
299 | #endif | 299 | #endif |
300 | add r0, r0, #CACHE_DLINESIZE | 300 | add r0, r0, #CACHE_DLINESIZE |
301 | cmp r0, r1 | 301 | cmp r0, r1 |
diff --git a/arch/arm/mm/proc-arm940.S b/arch/arm/mm/proc-arm940.S index 44ead902bd54..1a3d63df8e90 100644 --- a/arch/arm/mm/proc-arm940.S +++ b/arch/arm/mm/proc-arm940.S | |||
@@ -222,7 +222,7 @@ ENTRY(arm940_dma_flush_range) | |||
222 | #ifndef CONFIG_CPU_DCACHE_WRITETHROUGH | 222 | #ifndef CONFIG_CPU_DCACHE_WRITETHROUGH |
223 | mcr p15, 0, r3, c7, c14, 2 @ clean/flush D entry | 223 | mcr p15, 0, r3, c7, c14, 2 @ clean/flush D entry |
224 | #else | 224 | #else |
225 | mcr p15, 0, r3, c7, c10, 2 @ clean D entry | 225 | mcr p15, 0, r3, c7, c6, 2 @ invalidate D entry |
226 | #endif | 226 | #endif |
227 | subs r3, r3, #1 << 26 | 227 | subs r3, r3, #1 << 26 |
228 | bcs 2b @ entries 63 to 0 | 228 | bcs 2b @ entries 63 to 0 |
diff --git a/arch/arm/mm/proc-arm946.S b/arch/arm/mm/proc-arm946.S index 2218b0c01330..82d579ac9b98 100644 --- a/arch/arm/mm/proc-arm946.S +++ b/arch/arm/mm/proc-arm946.S | |||
@@ -265,7 +265,7 @@ ENTRY(arm946_dma_flush_range) | |||
265 | #ifndef CONFIG_CPU_DCACHE_WRITETHROUGH | 265 | #ifndef CONFIG_CPU_DCACHE_WRITETHROUGH |
266 | mcr p15, 0, r0, c7, c14, 1 @ clean+invalidate D entry | 266 | mcr p15, 0, r0, c7, c14, 1 @ clean+invalidate D entry |
267 | #else | 267 | #else |
268 | mcr p15, 0, r0, c7, c10, 1 @ clean D entry | 268 | mcr p15, 0, r0, c7, c6, 1 @ invalidate D entry |
269 | #endif | 269 | #endif |
270 | add r0, r0, #CACHE_DLINESIZE | 270 | add r0, r0, #CACHE_DLINESIZE |
271 | cmp r0, r1 | 271 | cmp r0, r1 |
diff --git a/arch/arm/plat-omap/clock.c b/arch/arm/plat-omap/clock.c index 72d34a23a2ec..2946c193a7d6 100644 --- a/arch/arm/plat-omap/clock.c +++ b/arch/arm/plat-omap/clock.c | |||
@@ -134,9 +134,17 @@ void clk_disable(struct clk *clk) | |||
134 | return; | 134 | return; |
135 | 135 | ||
136 | spin_lock_irqsave(&clockfw_lock, flags); | 136 | spin_lock_irqsave(&clockfw_lock, flags); |
137 | BUG_ON(clk->usecount == 0); | 137 | if (clk->usecount == 0) { |
138 | printk(KERN_ERR "Trying disable clock %s with 0 usecount\n", | ||
139 | clk->name); | ||
140 | WARN_ON(1); | ||
141 | goto out; | ||
142 | } | ||
143 | |||
138 | if (arch_clock->clk_disable) | 144 | if (arch_clock->clk_disable) |
139 | arch_clock->clk_disable(clk); | 145 | arch_clock->clk_disable(clk); |
146 | |||
147 | out: | ||
140 | spin_unlock_irqrestore(&clockfw_lock, flags); | 148 | spin_unlock_irqrestore(&clockfw_lock, flags); |
141 | } | 149 | } |
142 | EXPORT_SYMBOL(clk_disable); | 150 | EXPORT_SYMBOL(clk_disable); |
diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c index 793740686be2..c00eda588cd8 100644 --- a/arch/arm/plat-omap/dma.c +++ b/arch/arm/plat-omap/dma.c | |||
@@ -604,6 +604,7 @@ int omap_request_dma(int dev_id, const char *dev_name, | |||
604 | chan->data = data; | 604 | chan->data = data; |
605 | #ifndef CONFIG_ARCH_OMAP1 | 605 | #ifndef CONFIG_ARCH_OMAP1 |
606 | chan->chain_id = -1; | 606 | chan->chain_id = -1; |
607 | chan->next_linked_ch = -1; | ||
607 | #endif | 608 | #endif |
608 | chan->enabled_irqs = OMAP_DMA_DROP_IRQ | OMAP_DMA_BLOCK_IRQ; | 609 | chan->enabled_irqs = OMAP_DMA_DROP_IRQ | OMAP_DMA_BLOCK_IRQ; |
609 | 610 | ||
@@ -1087,7 +1088,6 @@ int omap_request_dma_chain(int dev_id, const char *dev_name, | |||
1087 | printk(KERN_ERR "omap_dma: Request failed %d\n", err); | 1088 | printk(KERN_ERR "omap_dma: Request failed %d\n", err); |
1088 | return err; | 1089 | return err; |
1089 | } | 1090 | } |
1090 | dma_chan[channels[i]].next_linked_ch = -1; | ||
1091 | dma_chan[channels[i]].prev_linked_ch = -1; | 1091 | dma_chan[channels[i]].prev_linked_ch = -1; |
1092 | dma_chan[channels[i]].state = DMA_CH_NOTSTARTED; | 1092 | dma_chan[channels[i]].state = DMA_CH_NOTSTARTED; |
1093 | 1093 | ||
diff --git a/arch/arm/plat-omap/mailbox.c b/arch/arm/plat-omap/mailbox.c index 1945ddfec18d..6f33f58bca45 100644 --- a/arch/arm/plat-omap/mailbox.c +++ b/arch/arm/plat-omap/mailbox.c | |||
@@ -355,7 +355,6 @@ static int omap_mbox_init(struct omap_mbox *mbox) | |||
355 | "failed to register mailbox interrupt:%d\n", ret); | 355 | "failed to register mailbox interrupt:%d\n", ret); |
356 | goto fail_request_irq; | 356 | goto fail_request_irq; |
357 | } | 357 | } |
358 | enable_mbox_irq(mbox, IRQ_RX); | ||
359 | 358 | ||
360 | mq = mbox_queue_alloc(mbox, mbox_txq_fn, mbox_tx_work); | 359 | mq = mbox_queue_alloc(mbox, mbox_txq_fn, mbox_tx_work); |
361 | if (!mq) { | 360 | if (!mq) { |
diff --git a/arch/avr32/kernel/init_task.c b/arch/avr32/kernel/init_task.c index effcacf9d1a2..44058469c6ec 100644 --- a/arch/avr32/kernel/init_task.c +++ b/arch/avr32/kernel/init_task.c | |||
@@ -14,7 +14,6 @@ | |||
14 | #include <asm/pgtable.h> | 14 | #include <asm/pgtable.h> |
15 | 15 | ||
16 | static struct fs_struct init_fs = INIT_FS; | 16 | static struct fs_struct init_fs = INIT_FS; |
17 | static struct files_struct init_files = INIT_FILES; | ||
18 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 17 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
19 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 18 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
20 | struct mm_struct init_mm = INIT_MM(init_mm); | 19 | struct mm_struct init_mm = INIT_MM(init_mm); |
diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig index fd5708523f2e..b87634e75f20 100644 --- a/arch/blackfin/Kconfig +++ b/arch/blackfin/Kconfig | |||
@@ -479,16 +479,6 @@ comment "Memory Setup" | |||
479 | 479 | ||
480 | comment "Misc" | 480 | comment "Misc" |
481 | 481 | ||
482 | config ENET_FLASH_PIN | ||
483 | int "PF port/pin used for flash and ethernet sharing" | ||
484 | depends on (BFIN533_STAMP) | ||
485 | default 0 | ||
486 | help | ||
487 | PF port/pin used for flash and ethernet sharing to allow other PF | ||
488 | pins to be used on other platforms without having to touch common | ||
489 | code. | ||
490 | For example: PF0 --> 0,PF1 --> 1,PF2 --> 2, etc. | ||
491 | |||
492 | choice | 482 | choice |
493 | prompt "Blackfin Exception Scratch Register" | 483 | prompt "Blackfin Exception Scratch Register" |
494 | default BFIN_SCRATCH_REG_RETN | 484 | default BFIN_SCRATCH_REG_RETN |
@@ -695,6 +685,8 @@ choice | |||
695 | prompt "Uncached SDRAM region" | 685 | prompt "Uncached SDRAM region" |
696 | default DMA_UNCACHED_1M | 686 | default DMA_UNCACHED_1M |
697 | depends on BFIN_DMA_5XX | 687 | depends on BFIN_DMA_5XX |
688 | config DMA_UNCACHED_4M | ||
689 | bool "Enable 4M DMA region" | ||
698 | config DMA_UNCACHED_2M | 690 | config DMA_UNCACHED_2M |
699 | bool "Enable 2M DMA region" | 691 | bool "Enable 2M DMA region" |
700 | config DMA_UNCACHED_1M | 692 | config DMA_UNCACHED_1M |
diff --git a/arch/blackfin/configs/BF527-EZKIT_defconfig b/arch/blackfin/configs/BF527-EZKIT_defconfig index 64876dfc2e55..5e6fb9d8e50f 100644 --- a/arch/blackfin/configs/BF527-EZKIT_defconfig +++ b/arch/blackfin/configs/BF527-EZKIT_defconfig | |||
@@ -1,6 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.22.16 | 3 | # Linux kernel version: 2.6.24.7 |
4 | # Fri May 16 10:02:29 2008 | ||
4 | # | 5 | # |
5 | # CONFIG_MMU is not set | 6 | # CONFIG_MMU is not set |
6 | # CONFIG_FPU is not set | 7 | # CONFIG_FPU is not set |
@@ -13,35 +14,34 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y | |||
13 | CONFIG_GENERIC_HWEIGHT=y | 14 | CONFIG_GENERIC_HWEIGHT=y |
14 | CONFIG_GENERIC_HARDIRQS=y | 15 | CONFIG_GENERIC_HARDIRQS=y |
15 | CONFIG_GENERIC_IRQ_PROBE=y | 16 | CONFIG_GENERIC_IRQ_PROBE=y |
16 | CONFIG_GENERIC_TIME=y | ||
17 | CONFIG_GENERIC_GPIO=y | 17 | CONFIG_GENERIC_GPIO=y |
18 | CONFIG_FORCE_MAX_ZONEORDER=14 | 18 | CONFIG_FORCE_MAX_ZONEORDER=14 |
19 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 19 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
20 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 20 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
21 | 21 | ||
22 | # | 22 | # |
23 | # Code maturity level options | 23 | # General setup |
24 | # | 24 | # |
25 | CONFIG_EXPERIMENTAL=y | 25 | CONFIG_EXPERIMENTAL=y |
26 | CONFIG_BROKEN_ON_SMP=y | 26 | CONFIG_BROKEN_ON_SMP=y |
27 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 27 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
28 | |||
29 | # | ||
30 | # General setup | ||
31 | # | ||
32 | CONFIG_LOCALVERSION="" | 28 | CONFIG_LOCALVERSION="" |
33 | CONFIG_LOCALVERSION_AUTO=y | 29 | CONFIG_LOCALVERSION_AUTO=y |
34 | CONFIG_SYSVIPC=y | 30 | CONFIG_SYSVIPC=y |
35 | # CONFIG_IPC_NS is not set | ||
36 | CONFIG_SYSVIPC_SYSCTL=y | 31 | CONFIG_SYSVIPC_SYSCTL=y |
37 | # CONFIG_POSIX_MQUEUE is not set | 32 | # CONFIG_POSIX_MQUEUE is not set |
38 | # CONFIG_BSD_PROCESS_ACCT is not set | 33 | # CONFIG_BSD_PROCESS_ACCT is not set |
39 | # CONFIG_TASKSTATS is not set | 34 | # CONFIG_TASKSTATS is not set |
40 | # CONFIG_UTS_NS is not set | 35 | # CONFIG_USER_NS is not set |
36 | # CONFIG_PID_NS is not set | ||
41 | # CONFIG_AUDIT is not set | 37 | # CONFIG_AUDIT is not set |
42 | CONFIG_IKCONFIG=y | 38 | CONFIG_IKCONFIG=y |
43 | CONFIG_IKCONFIG_PROC=y | 39 | CONFIG_IKCONFIG_PROC=y |
44 | CONFIG_LOG_BUF_SHIFT=14 | 40 | CONFIG_LOG_BUF_SHIFT=14 |
41 | # CONFIG_CGROUPS is not set | ||
42 | CONFIG_FAIR_GROUP_SCHED=y | ||
43 | CONFIG_FAIR_USER_SCHED=y | ||
44 | # CONFIG_FAIR_CGROUP_SCHED is not set | ||
45 | CONFIG_SYSFS_DEPRECATED=y | 45 | CONFIG_SYSFS_DEPRECATED=y |
46 | # CONFIG_RELAY is not set | 46 | # CONFIG_RELAY is not set |
47 | CONFIG_BLK_DEV_INITRD=y | 47 | CONFIG_BLK_DEV_INITRD=y |
@@ -64,32 +64,24 @@ CONFIG_EPOLL=y | |||
64 | CONFIG_SIGNALFD=y | 64 | CONFIG_SIGNALFD=y |
65 | CONFIG_EVENTFD=y | 65 | CONFIG_EVENTFD=y |
66 | CONFIG_VM_EVENT_COUNTERS=y | 66 | CONFIG_VM_EVENT_COUNTERS=y |
67 | CONFIG_BIG_ORDER_ALLOC_NOFAIL_MAGIC=3 | ||
68 | # CONFIG_NP2 is not set | ||
69 | CONFIG_SLAB=y | 67 | CONFIG_SLAB=y |
70 | # CONFIG_SLUB is not set | 68 | # CONFIG_SLUB is not set |
71 | # CONFIG_SLOB is not set | 69 | # CONFIG_SLOB is not set |
70 | CONFIG_SLABINFO=y | ||
72 | CONFIG_RT_MUTEXES=y | 71 | CONFIG_RT_MUTEXES=y |
73 | CONFIG_TINY_SHMEM=y | 72 | CONFIG_TINY_SHMEM=y |
74 | CONFIG_BASE_SMALL=0 | 73 | CONFIG_BASE_SMALL=0 |
75 | |||
76 | # | ||
77 | # Loadable module support | ||
78 | # | ||
79 | CONFIG_MODULES=y | 74 | CONFIG_MODULES=y |
80 | CONFIG_MODULE_UNLOAD=y | 75 | CONFIG_MODULE_UNLOAD=y |
81 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 76 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
82 | # CONFIG_MODVERSIONS is not set | 77 | # CONFIG_MODVERSIONS is not set |
83 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 78 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
84 | CONFIG_KMOD=y | 79 | CONFIG_KMOD=y |
85 | |||
86 | # | ||
87 | # Block layer | ||
88 | # | ||
89 | CONFIG_BLOCK=y | 80 | CONFIG_BLOCK=y |
90 | # CONFIG_LBD is not set | 81 | # CONFIG_LBD is not set |
91 | # CONFIG_BLK_DEV_IO_TRACE is not set | 82 | # CONFIG_BLK_DEV_IO_TRACE is not set |
92 | # CONFIG_LSF is not set | 83 | # CONFIG_LSF is not set |
84 | # CONFIG_BLK_DEV_BSG is not set | ||
93 | 85 | ||
94 | # | 86 | # |
95 | # IO Schedulers | 87 | # IO Schedulers |
@@ -141,7 +133,6 @@ CONFIG_BF_REV_0_0=y | |||
141 | # CONFIG_BF_REV_ANY is not set | 133 | # CONFIG_BF_REV_ANY is not set |
142 | # CONFIG_BF_REV_NONE is not set | 134 | # CONFIG_BF_REV_NONE is not set |
143 | CONFIG_BF52x=y | 135 | CONFIG_BF52x=y |
144 | CONFIG_BFIN_SINGLE_CORE=y | ||
145 | CONFIG_MEM_MT48LC32M16A2TG_75=y | 136 | CONFIG_MEM_MT48LC32M16A2TG_75=y |
146 | CONFIG_BFIN527_EZKIT=y | 137 | CONFIG_BFIN527_EZKIT=y |
147 | 138 | ||
@@ -227,12 +218,14 @@ CONFIG_IRQ_USB_DMA=11 | |||
227 | # Board customizations | 218 | # Board customizations |
228 | # | 219 | # |
229 | # CONFIG_CMDLINE_BOOL is not set | 220 | # CONFIG_CMDLINE_BOOL is not set |
221 | CONFIG_BOOT_LOAD=0x1000 | ||
230 | 222 | ||
231 | # | 223 | # |
232 | # Clock/PLL Setup | 224 | # Clock/PLL Setup |
233 | # | 225 | # |
234 | CONFIG_CLKIN_HZ=25000000 | 226 | CONFIG_CLKIN_HZ=25000000 |
235 | # CONFIG_BFIN_KERNEL_CLOCK is not set | 227 | # CONFIG_BFIN_KERNEL_CLOCK is not set |
228 | CONFIG_MAX_MEM_SIZE=512 | ||
236 | CONFIG_MAX_VCO_HZ=600000000 | 229 | CONFIG_MAX_VCO_HZ=600000000 |
237 | CONFIG_MIN_VCO_HZ=50000000 | 230 | CONFIG_MIN_VCO_HZ=50000000 |
238 | CONFIG_MAX_SCLK_HZ=133333333 | 231 | CONFIG_MAX_SCLK_HZ=133333333 |
@@ -246,13 +239,17 @@ CONFIG_HZ_250=y | |||
246 | # CONFIG_HZ_300 is not set | 239 | # CONFIG_HZ_300 is not set |
247 | # CONFIG_HZ_1000 is not set | 240 | # CONFIG_HZ_1000 is not set |
248 | CONFIG_HZ=250 | 241 | CONFIG_HZ=250 |
242 | CONFIG_GENERIC_TIME=y | ||
243 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
244 | # CONFIG_CYCLES_CLOCKSOURCE is not set | ||
245 | # CONFIG_TICK_ONESHOT is not set | ||
246 | # CONFIG_NO_HZ is not set | ||
247 | # CONFIG_HIGH_RES_TIMERS is not set | ||
248 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
249 | 249 | ||
250 | # | 250 | # |
251 | # Memory Setup | 251 | # Misc |
252 | # | 252 | # |
253 | CONFIG_MAX_MEM_SIZE=512 | ||
254 | CONFIG_MEM_ADD_WIDTH=10 | ||
255 | CONFIG_BOOT_LOAD=0x1000 | ||
256 | CONFIG_BFIN_SCRATCH_REG_RETN=y | 253 | CONFIG_BFIN_SCRATCH_REG_RETN=y |
257 | # CONFIG_BFIN_SCRATCH_REG_RETE is not set | 254 | # CONFIG_BFIN_SCRATCH_REG_RETE is not set |
258 | # CONFIG_BFIN_SCRATCH_REG_CYCLES is not set | 255 | # CONFIG_BFIN_SCRATCH_REG_CYCLES is not set |
@@ -288,12 +285,14 @@ CONFIG_FLATMEM_MANUAL=y | |||
288 | CONFIG_FLATMEM=y | 285 | CONFIG_FLATMEM=y |
289 | CONFIG_FLAT_NODE_MEM_MAP=y | 286 | CONFIG_FLAT_NODE_MEM_MAP=y |
290 | # CONFIG_SPARSEMEM_STATIC is not set | 287 | # CONFIG_SPARSEMEM_STATIC is not set |
288 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
291 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 289 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
292 | # CONFIG_RESOURCES_64BIT is not set | 290 | # CONFIG_RESOURCES_64BIT is not set |
293 | CONFIG_ZONE_DMA_FLAG=1 | 291 | CONFIG_ZONE_DMA_FLAG=1 |
294 | CONFIG_LARGE_ALLOCS=y | 292 | CONFIG_VIRT_TO_BUS=y |
295 | # CONFIG_BFIN_GPTIMERS is not set | 293 | # CONFIG_BFIN_GPTIMERS is not set |
296 | CONFIG_BFIN_DMA_5XX=y | 294 | CONFIG_BFIN_DMA_5XX=y |
295 | # CONFIG_DMA_UNCACHED_4M is not set | ||
297 | # CONFIG_DMA_UNCACHED_2M is not set | 296 | # CONFIG_DMA_UNCACHED_2M is not set |
298 | CONFIG_DMA_UNCACHED_1M=y | 297 | CONFIG_DMA_UNCACHED_1M=y |
299 | # CONFIG_DMA_UNCACHED_NONE is not set | 298 | # CONFIG_DMA_UNCACHED_NONE is not set |
@@ -338,10 +337,6 @@ CONFIG_BANK_3=0xFFC0 | |||
338 | # | 337 | # |
339 | # CONFIG_PCI is not set | 338 | # CONFIG_PCI is not set |
340 | # CONFIG_ARCH_SUPPORTS_MSI is not set | 339 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
341 | |||
342 | # | ||
343 | # PCCARD (PCMCIA/CardBus) support | ||
344 | # | ||
345 | # CONFIG_PCCARD is not set | 340 | # CONFIG_PCCARD is not set |
346 | 341 | ||
347 | # | 342 | # |
@@ -357,9 +352,15 @@ CONFIG_BINFMT_ZFLAT=y | |||
357 | # Power management options | 352 | # Power management options |
358 | # | 353 | # |
359 | # CONFIG_PM is not set | 354 | # CONFIG_PM is not set |
355 | CONFIG_SUSPEND_UP_POSSIBLE=y | ||
360 | # CONFIG_PM_WAKEUP_BY_GPIO is not set | 356 | # CONFIG_PM_WAKEUP_BY_GPIO is not set |
361 | 357 | ||
362 | # | 358 | # |
359 | # CPU Frequency scaling | ||
360 | # | ||
361 | # CONFIG_CPU_FREQ is not set | ||
362 | |||
363 | # | ||
363 | # Networking | 364 | # Networking |
364 | # | 365 | # |
365 | CONFIG_NET=y | 366 | CONFIG_NET=y |
@@ -395,6 +396,7 @@ CONFIG_SYN_COOKIES=y | |||
395 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | 396 | CONFIG_INET_XFRM_MODE_TRANSPORT=y |
396 | CONFIG_INET_XFRM_MODE_TUNNEL=y | 397 | CONFIG_INET_XFRM_MODE_TUNNEL=y |
397 | CONFIG_INET_XFRM_MODE_BEET=y | 398 | CONFIG_INET_XFRM_MODE_BEET=y |
399 | # CONFIG_INET_LRO is not set | ||
398 | CONFIG_INET_DIAG=y | 400 | CONFIG_INET_DIAG=y |
399 | CONFIG_INET_TCP_DIAG=y | 401 | CONFIG_INET_TCP_DIAG=y |
400 | # CONFIG_TCP_CONG_ADVANCED is not set | 402 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -421,10 +423,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
421 | # CONFIG_LAPB is not set | 423 | # CONFIG_LAPB is not set |
422 | # CONFIG_ECONET is not set | 424 | # CONFIG_ECONET is not set |
423 | # CONFIG_WAN_ROUTER is not set | 425 | # CONFIG_WAN_ROUTER is not set |
424 | |||
425 | # | ||
426 | # QoS and/or fair queueing | ||
427 | # | ||
428 | # CONFIG_NET_SCHED is not set | 426 | # CONFIG_NET_SCHED is not set |
429 | 427 | ||
430 | # | 428 | # |
@@ -444,6 +442,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
444 | # CONFIG_MAC80211 is not set | 442 | # CONFIG_MAC80211 is not set |
445 | # CONFIG_IEEE80211 is not set | 443 | # CONFIG_IEEE80211 is not set |
446 | # CONFIG_RFKILL is not set | 444 | # CONFIG_RFKILL is not set |
445 | # CONFIG_NET_9P is not set | ||
447 | 446 | ||
448 | # | 447 | # |
449 | # Device Drivers | 448 | # Device Drivers |
@@ -452,14 +451,11 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
452 | # | 451 | # |
453 | # Generic Driver Options | 452 | # Generic Driver Options |
454 | # | 453 | # |
454 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
455 | CONFIG_STANDALONE=y | 455 | CONFIG_STANDALONE=y |
456 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 456 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
457 | # CONFIG_FW_LOADER is not set | 457 | # CONFIG_FW_LOADER is not set |
458 | # CONFIG_SYS_HYPERVISOR is not set | 458 | # CONFIG_SYS_HYPERVISOR is not set |
459 | |||
460 | # | ||
461 | # Connector - unified userspace <-> kernelspace linker | ||
462 | # | ||
463 | # CONFIG_CONNECTOR is not set | 459 | # CONFIG_CONNECTOR is not set |
464 | CONFIG_MTD=y | 460 | CONFIG_MTD=y |
465 | # CONFIG_MTD_DEBUG is not set | 461 | # CONFIG_MTD_DEBUG is not set |
@@ -479,6 +475,7 @@ CONFIG_MTD_BLOCK=y | |||
479 | # CONFIG_INFTL is not set | 475 | # CONFIG_INFTL is not set |
480 | # CONFIG_RFD_FTL is not set | 476 | # CONFIG_RFD_FTL is not set |
481 | # CONFIG_SSFDC is not set | 477 | # CONFIG_SSFDC is not set |
478 | # CONFIG_MTD_OOPS is not set | ||
482 | 479 | ||
483 | # | 480 | # |
484 | # RAM/ROM/Flash chip drivers | 481 | # RAM/ROM/Flash chip drivers |
@@ -542,39 +539,27 @@ CONFIG_MTD_NAND_IDS=m | |||
542 | # CONFIG_MTD_NAND_DISKONCHIP is not set | 539 | # CONFIG_MTD_NAND_DISKONCHIP is not set |
543 | # CONFIG_MTD_NAND_NANDSIM is not set | 540 | # CONFIG_MTD_NAND_NANDSIM is not set |
544 | # CONFIG_MTD_NAND_PLATFORM is not set | 541 | # CONFIG_MTD_NAND_PLATFORM is not set |
542 | # CONFIG_MTD_ALAUDA is not set | ||
545 | # CONFIG_MTD_ONENAND is not set | 543 | # CONFIG_MTD_ONENAND is not set |
546 | 544 | ||
547 | # | 545 | # |
548 | # UBI - Unsorted block images | 546 | # UBI - Unsorted block images |
549 | # | 547 | # |
550 | # CONFIG_MTD_UBI is not set | 548 | # CONFIG_MTD_UBI is not set |
551 | |||
552 | # | ||
553 | # Parallel port support | ||
554 | # | ||
555 | # CONFIG_PARPORT is not set | 549 | # CONFIG_PARPORT is not set |
556 | 550 | CONFIG_BLK_DEV=y | |
557 | # | ||
558 | # Plug and Play support | ||
559 | # | ||
560 | # CONFIG_PNPACPI is not set | ||
561 | |||
562 | # | ||
563 | # Block devices | ||
564 | # | ||
565 | # CONFIG_BLK_DEV_COW_COMMON is not set | 551 | # CONFIG_BLK_DEV_COW_COMMON is not set |
566 | # CONFIG_BLK_DEV_LOOP is not set | 552 | # CONFIG_BLK_DEV_LOOP is not set |
567 | # CONFIG_BLK_DEV_NBD is not set | 553 | # CONFIG_BLK_DEV_NBD is not set |
554 | # CONFIG_BLK_DEV_UB is not set | ||
568 | CONFIG_BLK_DEV_RAM=y | 555 | CONFIG_BLK_DEV_RAM=y |
569 | CONFIG_BLK_DEV_RAM_COUNT=16 | 556 | CONFIG_BLK_DEV_RAM_COUNT=16 |
570 | CONFIG_BLK_DEV_RAM_SIZE=4096 | 557 | CONFIG_BLK_DEV_RAM_SIZE=4096 |
571 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | 558 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 |
572 | # CONFIG_CDROM_PKTCDVD is not set | 559 | # CONFIG_CDROM_PKTCDVD is not set |
573 | # CONFIG_ATA_OVER_ETH is not set | 560 | # CONFIG_ATA_OVER_ETH is not set |
574 | 561 | CONFIG_MISC_DEVICES=y | |
575 | # | 562 | # CONFIG_EEPROM_93CX6 is not set |
576 | # Misc devices | ||
577 | # | ||
578 | # CONFIG_IDE is not set | 563 | # CONFIG_IDE is not set |
579 | 564 | ||
580 | # | 565 | # |
@@ -582,22 +567,18 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | |||
582 | # | 567 | # |
583 | # CONFIG_RAID_ATTRS is not set | 568 | # CONFIG_RAID_ATTRS is not set |
584 | # CONFIG_SCSI is not set | 569 | # CONFIG_SCSI is not set |
570 | # CONFIG_SCSI_DMA is not set | ||
585 | # CONFIG_SCSI_NETLINK is not set | 571 | # CONFIG_SCSI_NETLINK is not set |
586 | # CONFIG_ATA is not set | 572 | # CONFIG_ATA is not set |
587 | |||
588 | # | ||
589 | # Multi-device support (RAID and LVM) | ||
590 | # | ||
591 | # CONFIG_MD is not set | 573 | # CONFIG_MD is not set |
592 | |||
593 | # | ||
594 | # Network device support | ||
595 | # | ||
596 | CONFIG_NETDEVICES=y | 574 | CONFIG_NETDEVICES=y |
575 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | ||
597 | # CONFIG_DUMMY is not set | 576 | # CONFIG_DUMMY is not set |
598 | # CONFIG_BONDING is not set | 577 | # CONFIG_BONDING is not set |
578 | # CONFIG_MACVLAN is not set | ||
599 | # CONFIG_EQUALIZER is not set | 579 | # CONFIG_EQUALIZER is not set |
600 | # CONFIG_TUN is not set | 580 | # CONFIG_TUN is not set |
581 | # CONFIG_VETH is not set | ||
601 | CONFIG_PHYLIB=y | 582 | CONFIG_PHYLIB=y |
602 | 583 | ||
603 | # | 584 | # |
@@ -611,21 +592,24 @@ CONFIG_PHYLIB=y | |||
611 | # CONFIG_VITESSE_PHY is not set | 592 | # CONFIG_VITESSE_PHY is not set |
612 | # CONFIG_SMSC_PHY is not set | 593 | # CONFIG_SMSC_PHY is not set |
613 | # CONFIG_BROADCOM_PHY is not set | 594 | # CONFIG_BROADCOM_PHY is not set |
595 | # CONFIG_ICPLUS_PHY is not set | ||
614 | # CONFIG_FIXED_PHY is not set | 596 | # CONFIG_FIXED_PHY is not set |
615 | 597 | # CONFIG_MDIO_BITBANG is not set | |
616 | # | ||
617 | # Ethernet (10 or 100Mbit) | ||
618 | # | ||
619 | CONFIG_NET_ETHERNET=y | 598 | CONFIG_NET_ETHERNET=y |
620 | CONFIG_MII=y | 599 | CONFIG_MII=y |
621 | # CONFIG_SMC91X is not set | ||
622 | CONFIG_BFIN_MAC=y | 600 | CONFIG_BFIN_MAC=y |
623 | CONFIG_BFIN_MAC_USE_L1=y | 601 | CONFIG_BFIN_MAC_USE_L1=y |
624 | CONFIG_BFIN_TX_DESC_NUM=10 | 602 | CONFIG_BFIN_TX_DESC_NUM=10 |
625 | CONFIG_BFIN_RX_DESC_NUM=20 | 603 | CONFIG_BFIN_RX_DESC_NUM=20 |
626 | CONFIG_BFIN_MAC_RMII=y | 604 | CONFIG_BFIN_MAC_RMII=y |
605 | # CONFIG_SMC91X is not set | ||
627 | # CONFIG_SMSC911X is not set | 606 | # CONFIG_SMSC911X is not set |
628 | # CONFIG_DM9000 is not set | 607 | # CONFIG_DM9000 is not set |
608 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
609 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
610 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
611 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
612 | # CONFIG_B44 is not set | ||
629 | CONFIG_NETDEV_1000=y | 613 | CONFIG_NETDEV_1000=y |
630 | # CONFIG_AX88180 is not set | 614 | # CONFIG_AX88180 is not set |
631 | CONFIG_NETDEV_10000=y | 615 | CONFIG_NETDEV_10000=y |
@@ -635,6 +619,15 @@ CONFIG_NETDEV_10000=y | |||
635 | # | 619 | # |
636 | # CONFIG_WLAN_PRE80211 is not set | 620 | # CONFIG_WLAN_PRE80211 is not set |
637 | # CONFIG_WLAN_80211 is not set | 621 | # CONFIG_WLAN_80211 is not set |
622 | |||
623 | # | ||
624 | # USB Network Adapters | ||
625 | # | ||
626 | # CONFIG_USB_CATC is not set | ||
627 | # CONFIG_USB_KAWETH is not set | ||
628 | # CONFIG_USB_PEGASUS is not set | ||
629 | # CONFIG_USB_RTL8150 is not set | ||
630 | # CONFIG_USB_USBNET is not set | ||
638 | # CONFIG_WAN is not set | 631 | # CONFIG_WAN is not set |
639 | # CONFIG_PPP is not set | 632 | # CONFIG_PPP is not set |
640 | # CONFIG_SLIP is not set | 633 | # CONFIG_SLIP is not set |
@@ -642,15 +635,7 @@ CONFIG_NETDEV_10000=y | |||
642 | # CONFIG_NETCONSOLE is not set | 635 | # CONFIG_NETCONSOLE is not set |
643 | # CONFIG_NETPOLL is not set | 636 | # CONFIG_NETPOLL is not set |
644 | # CONFIG_NET_POLL_CONTROLLER is not set | 637 | # CONFIG_NET_POLL_CONTROLLER is not set |
645 | |||
646 | # | ||
647 | # ISDN subsystem | ||
648 | # | ||
649 | # CONFIG_ISDN is not set | 638 | # CONFIG_ISDN is not set |
650 | |||
651 | # | ||
652 | # Telephony Support | ||
653 | # | ||
654 | # CONFIG_PHONE is not set | 639 | # CONFIG_PHONE is not set |
655 | 640 | ||
656 | # | 641 | # |
@@ -665,7 +650,6 @@ CONFIG_INPUT=y | |||
665 | # | 650 | # |
666 | # CONFIG_INPUT_MOUSEDEV is not set | 651 | # CONFIG_INPUT_MOUSEDEV is not set |
667 | # CONFIG_INPUT_JOYDEV is not set | 652 | # CONFIG_INPUT_JOYDEV is not set |
668 | # CONFIG_INPUT_TSDEV is not set | ||
669 | # CONFIG_INPUT_EVDEV is not set | 653 | # CONFIG_INPUT_EVDEV is not set |
670 | # CONFIG_INPUT_EVBUG is not set | 654 | # CONFIG_INPUT_EVBUG is not set |
671 | 655 | ||
@@ -697,7 +681,6 @@ CONFIG_INPUT_MISC=y | |||
697 | # | 681 | # |
698 | # CONFIG_AD9960 is not set | 682 | # CONFIG_AD9960 is not set |
699 | # CONFIG_SPI_ADC_BF533 is not set | 683 | # CONFIG_SPI_ADC_BF533 is not set |
700 | # CONFIG_BF5xx_PFLAGS is not set | ||
701 | # CONFIG_BF5xx_PPIFCD is not set | 684 | # CONFIG_BF5xx_PPIFCD is not set |
702 | # CONFIG_BFIN_SIMPLE_TIMER is not set | 685 | # CONFIG_BFIN_SIMPLE_TIMER is not set |
703 | # CONFIG_BF5xx_PPI is not set | 686 | # CONFIG_BF5xx_PPI is not set |
@@ -706,7 +689,7 @@ CONFIG_BFIN_OTP=y | |||
706 | # CONFIG_BFIN_SPORT is not set | 689 | # CONFIG_BFIN_SPORT is not set |
707 | # CONFIG_BFIN_TIMER_LATENCY is not set | 690 | # CONFIG_BFIN_TIMER_LATENCY is not set |
708 | # CONFIG_TWI_LCD is not set | 691 | # CONFIG_TWI_LCD is not set |
709 | # CONFIG_AD5304 is not set | 692 | # CONFIG_SIMPLE_GPIO is not set |
710 | # CONFIG_VT is not set | 693 | # CONFIG_VT is not set |
711 | # CONFIG_SERIAL_NONSTANDARD is not set | 694 | # CONFIG_SERIAL_NONSTANDARD is not set |
712 | 695 | ||
@@ -735,27 +718,11 @@ CONFIG_UNIX98_PTYS=y | |||
735 | # CAN, the car bus and industrial fieldbus | 718 | # CAN, the car bus and industrial fieldbus |
736 | # | 719 | # |
737 | # CONFIG_CAN4LINUX is not set | 720 | # CONFIG_CAN4LINUX is not set |
738 | |||
739 | # | ||
740 | # IPMI | ||
741 | # | ||
742 | # CONFIG_IPMI_HANDLER is not set | 721 | # CONFIG_IPMI_HANDLER is not set |
743 | CONFIG_WATCHDOG=y | ||
744 | # CONFIG_WATCHDOG_NOWAYOUT is not set | ||
745 | |||
746 | # | ||
747 | # Watchdog Device Drivers | ||
748 | # | ||
749 | # CONFIG_SOFT_WATCHDOG is not set | ||
750 | CONFIG_BFIN_WDT=y | ||
751 | CONFIG_HW_RANDOM=y | 722 | CONFIG_HW_RANDOM=y |
752 | # CONFIG_GEN_RTC is not set | 723 | # CONFIG_GEN_RTC is not set |
753 | # CONFIG_R3964 is not set | 724 | # CONFIG_R3964 is not set |
754 | # CONFIG_RAW_DRIVER is not set | 725 | # CONFIG_RAW_DRIVER is not set |
755 | |||
756 | # | ||
757 | # TPM devices | ||
758 | # | ||
759 | # CONFIG_TCG_TPM is not set | 726 | # CONFIG_TCG_TPM is not set |
760 | CONFIG_I2C=y | 727 | CONFIG_I2C=y |
761 | CONFIG_I2C_BOARDINFO=y | 728 | CONFIG_I2C_BOARDINFO=y |
@@ -777,21 +744,24 @@ CONFIG_I2C_BLACKFIN_TWI_CLK_KHZ=50 | |||
777 | # CONFIG_I2C_OCORES is not set | 744 | # CONFIG_I2C_OCORES is not set |
778 | # CONFIG_I2C_PARPORT_LIGHT is not set | 745 | # CONFIG_I2C_PARPORT_LIGHT is not set |
779 | # CONFIG_I2C_SIMTEC is not set | 746 | # CONFIG_I2C_SIMTEC is not set |
747 | # CONFIG_I2C_TAOS_EVM is not set | ||
780 | # CONFIG_I2C_STUB is not set | 748 | # CONFIG_I2C_STUB is not set |
749 | # CONFIG_I2C_TINY_USB is not set | ||
781 | 750 | ||
782 | # | 751 | # |
783 | # Miscellaneous I2C Chip support | 752 | # Miscellaneous I2C Chip support |
784 | # | 753 | # |
785 | # CONFIG_SENSORS_DS1337 is not set | 754 | # CONFIG_SENSORS_DS1337 is not set |
786 | # CONFIG_SENSORS_DS1374 is not set | 755 | # CONFIG_SENSORS_DS1374 is not set |
756 | # CONFIG_DS1682 is not set | ||
787 | # CONFIG_SENSORS_AD5252 is not set | 757 | # CONFIG_SENSORS_AD5252 is not set |
788 | # CONFIG_SENSORS_EEPROM is not set | 758 | # CONFIG_SENSORS_EEPROM is not set |
789 | # CONFIG_SENSORS_PCF8574 is not set | 759 | # CONFIG_SENSORS_PCF8574 is not set |
790 | # CONFIG_SENSORS_PCF8575 is not set | 760 | # CONFIG_SENSORS_PCF8575 is not set |
791 | # CONFIG_SENSORS_PCA9543 is not set | ||
792 | # CONFIG_SENSORS_PCA9539 is not set | 761 | # CONFIG_SENSORS_PCA9539 is not set |
793 | # CONFIG_SENSORS_PCF8591 is not set | 762 | # CONFIG_SENSORS_PCF8591 is not set |
794 | # CONFIG_SENSORS_MAX6875 is not set | 763 | # CONFIG_SENSORS_MAX6875 is not set |
764 | # CONFIG_SENSORS_TSL2550 is not set | ||
795 | # CONFIG_I2C_DEBUG_CORE is not set | 765 | # CONFIG_I2C_DEBUG_CORE is not set |
796 | # CONFIG_I2C_DEBUG_ALGO is not set | 766 | # CONFIG_I2C_DEBUG_ALGO is not set |
797 | # CONFIG_I2C_DEBUG_BUS is not set | 767 | # CONFIG_I2C_DEBUG_BUS is not set |
@@ -814,14 +784,11 @@ CONFIG_SPI_BFIN=y | |||
814 | # | 784 | # |
815 | # CONFIG_SPI_AT25 is not set | 785 | # CONFIG_SPI_AT25 is not set |
816 | # CONFIG_SPI_SPIDEV is not set | 786 | # CONFIG_SPI_SPIDEV is not set |
817 | 787 | # CONFIG_SPI_TLE62X0 is not set | |
818 | # | ||
819 | # Dallas's 1-wire bus | ||
820 | # | ||
821 | # CONFIG_W1 is not set | 788 | # CONFIG_W1 is not set |
789 | # CONFIG_POWER_SUPPLY is not set | ||
822 | CONFIG_HWMON=y | 790 | CONFIG_HWMON=y |
823 | # CONFIG_HWMON_VID is not set | 791 | # CONFIG_HWMON_VID is not set |
824 | # CONFIG_SENSORS_ABITUGURU is not set | ||
825 | # CONFIG_SENSORS_AD7418 is not set | 792 | # CONFIG_SENSORS_AD7418 is not set |
826 | # CONFIG_SENSORS_ADM1021 is not set | 793 | # CONFIG_SENSORS_ADM1021 is not set |
827 | # CONFIG_SENSORS_ADM1025 is not set | 794 | # CONFIG_SENSORS_ADM1025 is not set |
@@ -829,12 +796,12 @@ CONFIG_HWMON=y | |||
829 | # CONFIG_SENSORS_ADM1029 is not set | 796 | # CONFIG_SENSORS_ADM1029 is not set |
830 | # CONFIG_SENSORS_ADM1031 is not set | 797 | # CONFIG_SENSORS_ADM1031 is not set |
831 | # CONFIG_SENSORS_ADM9240 is not set | 798 | # CONFIG_SENSORS_ADM9240 is not set |
832 | # CONFIG_SENSORS_ASB100 is not set | 799 | # CONFIG_SENSORS_ADT7470 is not set |
833 | # CONFIG_SENSORS_ATXP1 is not set | 800 | # CONFIG_SENSORS_ATXP1 is not set |
834 | # CONFIG_SENSORS_DS1621 is not set | 801 | # CONFIG_SENSORS_DS1621 is not set |
835 | # CONFIG_SENSORS_F71805F is not set | 802 | # CONFIG_SENSORS_F71805F is not set |
836 | # CONFIG_SENSORS_FSCHER is not set | 803 | # CONFIG_SENSORS_F71882FG is not set |
837 | # CONFIG_SENSORS_FSCPOS is not set | 804 | # CONFIG_SENSORS_F75375S is not set |
838 | # CONFIG_SENSORS_GL518SM is not set | 805 | # CONFIG_SENSORS_GL518SM is not set |
839 | # CONFIG_SENSORS_GL520SM is not set | 806 | # CONFIG_SENSORS_GL520SM is not set |
840 | # CONFIG_SENSORS_IT87 is not set | 807 | # CONFIG_SENSORS_IT87 is not set |
@@ -849,13 +816,16 @@ CONFIG_HWMON=y | |||
849 | # CONFIG_SENSORS_LM87 is not set | 816 | # CONFIG_SENSORS_LM87 is not set |
850 | # CONFIG_SENSORS_LM90 is not set | 817 | # CONFIG_SENSORS_LM90 is not set |
851 | # CONFIG_SENSORS_LM92 is not set | 818 | # CONFIG_SENSORS_LM92 is not set |
819 | # CONFIG_SENSORS_LM93 is not set | ||
852 | # CONFIG_SENSORS_MAX1619 is not set | 820 | # CONFIG_SENSORS_MAX1619 is not set |
853 | # CONFIG_SENSORS_MAX6650 is not set | 821 | # CONFIG_SENSORS_MAX6650 is not set |
854 | # CONFIG_SENSORS_PC87360 is not set | 822 | # CONFIG_SENSORS_PC87360 is not set |
855 | # CONFIG_SENSORS_PC87427 is not set | 823 | # CONFIG_SENSORS_PC87427 is not set |
824 | # CONFIG_SENSORS_DME1737 is not set | ||
856 | # CONFIG_SENSORS_SMSC47M1 is not set | 825 | # CONFIG_SENSORS_SMSC47M1 is not set |
857 | # CONFIG_SENSORS_SMSC47M192 is not set | 826 | # CONFIG_SENSORS_SMSC47M192 is not set |
858 | # CONFIG_SENSORS_SMSC47B397 is not set | 827 | # CONFIG_SENSORS_SMSC47B397 is not set |
828 | # CONFIG_SENSORS_THMC50 is not set | ||
859 | # CONFIG_SENSORS_VT1211 is not set | 829 | # CONFIG_SENSORS_VT1211 is not set |
860 | # CONFIG_SENSORS_W83781D is not set | 830 | # CONFIG_SENSORS_W83781D is not set |
861 | # CONFIG_SENSORS_W83791D is not set | 831 | # CONFIG_SENSORS_W83791D is not set |
@@ -865,6 +835,25 @@ CONFIG_HWMON=y | |||
865 | # CONFIG_SENSORS_W83627HF is not set | 835 | # CONFIG_SENSORS_W83627HF is not set |
866 | # CONFIG_SENSORS_W83627EHF is not set | 836 | # CONFIG_SENSORS_W83627EHF is not set |
867 | # CONFIG_HWMON_DEBUG_CHIP is not set | 837 | # CONFIG_HWMON_DEBUG_CHIP is not set |
838 | CONFIG_WATCHDOG=y | ||
839 | # CONFIG_WATCHDOG_NOWAYOUT is not set | ||
840 | |||
841 | # | ||
842 | # Watchdog Device Drivers | ||
843 | # | ||
844 | # CONFIG_SOFT_WATCHDOG is not set | ||
845 | CONFIG_BFIN_WDT=y | ||
846 | |||
847 | # | ||
848 | # USB-based Watchdog Cards | ||
849 | # | ||
850 | # CONFIG_USBPCWATCHDOG is not set | ||
851 | |||
852 | # | ||
853 | # Sonics Silicon Backplane | ||
854 | # | ||
855 | CONFIG_SSB_POSSIBLE=y | ||
856 | # CONFIG_SSB is not set | ||
868 | 857 | ||
869 | # | 858 | # |
870 | # Multifunction device drivers | 859 | # Multifunction device drivers |
@@ -881,72 +870,133 @@ CONFIG_HWMON=y | |||
881 | # | 870 | # |
882 | # Graphics support | 871 | # Graphics support |
883 | # | 872 | # |
873 | # CONFIG_VGASTATE is not set | ||
874 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
875 | # CONFIG_FB is not set | ||
884 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | 876 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set |
885 | 877 | ||
886 | # | 878 | # |
887 | # Display device support | 879 | # Display device support |
888 | # | 880 | # |
889 | # CONFIG_DISPLAY_SUPPORT is not set | 881 | # CONFIG_DISPLAY_SUPPORT is not set |
890 | # CONFIG_VGASTATE is not set | ||
891 | # CONFIG_FB is not set | ||
892 | 882 | ||
893 | # | 883 | # |
894 | # Sound | 884 | # Sound |
895 | # | 885 | # |
896 | # CONFIG_SOUND is not set | 886 | # CONFIG_SOUND is not set |
897 | 887 | CONFIG_HID_SUPPORT=y | |
898 | # | ||
899 | # HID Devices | ||
900 | # | ||
901 | CONFIG_HID=y | 888 | CONFIG_HID=y |
902 | # CONFIG_HID_DEBUG is not set | 889 | # CONFIG_HID_DEBUG is not set |
890 | # CONFIG_HIDRAW is not set | ||
903 | 891 | ||
904 | # | 892 | # |
905 | # USB support | 893 | # USB Input Devices |
906 | # | 894 | # |
895 | CONFIG_USB_HID=y | ||
896 | # CONFIG_USB_HIDINPUT_POWERBOOK is not set | ||
897 | # CONFIG_HID_FF is not set | ||
898 | # CONFIG_USB_HIDDEV is not set | ||
899 | CONFIG_USB_SUPPORT=y | ||
907 | CONFIG_USB_ARCH_HAS_HCD=y | 900 | CONFIG_USB_ARCH_HAS_HCD=y |
908 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 901 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
909 | # CONFIG_USB_ARCH_HAS_EHCI is not set | 902 | # CONFIG_USB_ARCH_HAS_EHCI is not set |
910 | # CONFIG_USB is not set | 903 | CONFIG_USB=y |
904 | # CONFIG_USB_DEBUG is not set | ||
905 | |||
906 | # | ||
907 | # Miscellaneous USB options | ||
908 | # | ||
909 | # CONFIG_USB_DEVICEFS is not set | ||
910 | CONFIG_USB_DEVICE_CLASS=y | ||
911 | # CONFIG_USB_DYNAMIC_MINORS is not set | ||
912 | # CONFIG_USB_OTG is not set | ||
913 | # CONFIG_USB_OTG_WHITELIST is not set | ||
914 | CONFIG_USB_OTG_BLACKLIST_HUB=y | ||
915 | |||
916 | # | ||
917 | # USB Host Controller Drivers | ||
918 | # | ||
919 | # CONFIG_USB_ISP116X_HCD is not set | ||
920 | # CONFIG_USB_ISP1362_HCD is not set | ||
921 | # CONFIG_USB_ISP1760_HCD is not set | ||
922 | # CONFIG_USB_SL811_HCD is not set | ||
923 | # CONFIG_USB_R8A66597_HCD is not set | ||
924 | CONFIG_USB_MUSB_HDRC=y | ||
925 | CONFIG_USB_MUSB_SOC=y | ||
911 | 926 | ||
912 | # | 927 | # |
913 | # Enable Host or Gadget support to see Inventra options | 928 | # Blackfin high speed USB support |
914 | # | 929 | # |
930 | CONFIG_USB_MUSB_HOST=y | ||
931 | # CONFIG_USB_MUSB_PERIPHERAL is not set | ||
932 | # CONFIG_USB_MUSB_OTG is not set | ||
933 | CONFIG_USB_MUSB_HDRC_HCD=y | ||
934 | CONFIG_MUSB_PIO_ONLY=y | ||
935 | CONFIG_USB_MUSB_LOGLEVEL=0 | ||
936 | |||
937 | # | ||
938 | # USB Device Class drivers | ||
939 | # | ||
940 | # CONFIG_USB_ACM is not set | ||
941 | # CONFIG_USB_PRINTER is not set | ||
915 | 942 | ||
916 | # | 943 | # |
917 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 944 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
918 | # | 945 | # |
919 | 946 | ||
920 | # | 947 | # |
921 | # USB Gadget Support | 948 | # may also be needed; see USB_STORAGE Help for more information |
922 | # | 949 | # |
923 | # CONFIG_USB_GADGET is not set | 950 | # CONFIG_USB_LIBUSUAL is not set |
924 | # CONFIG_MMC is not set | ||
925 | 951 | ||
926 | # | 952 | # |
927 | # LED devices | 953 | # USB Imaging devices |
928 | # | 954 | # |
929 | # CONFIG_NEW_LEDS is not set | 955 | # CONFIG_USB_MDC800 is not set |
956 | CONFIG_USB_MON=y | ||
930 | 957 | ||
931 | # | 958 | # |
932 | # LED drivers | 959 | # USB port drivers |
933 | # | 960 | # |
934 | 961 | ||
935 | # | 962 | # |
936 | # LED Triggers | 963 | # USB Serial Converter support |
937 | # | 964 | # |
965 | # CONFIG_USB_SERIAL is not set | ||
938 | 966 | ||
939 | # | 967 | # |
940 | # InfiniBand support | 968 | # USB Miscellaneous drivers |
941 | # | 969 | # |
970 | # CONFIG_USB_EMI62 is not set | ||
971 | # CONFIG_USB_EMI26 is not set | ||
972 | # CONFIG_USB_ADUTUX is not set | ||
973 | # CONFIG_USB_AUERSWALD is not set | ||
974 | # CONFIG_USB_RIO500 is not set | ||
975 | # CONFIG_USB_LEGOTOWER is not set | ||
976 | # CONFIG_USB_LCD is not set | ||
977 | # CONFIG_USB_BERRY_CHARGE is not set | ||
978 | # CONFIG_USB_LED is not set | ||
979 | # CONFIG_USB_CYPRESS_CY7C63 is not set | ||
980 | # CONFIG_USB_CYTHERM is not set | ||
981 | # CONFIG_USB_PHIDGET is not set | ||
982 | # CONFIG_USB_IDMOUSE is not set | ||
983 | # CONFIG_USB_FTDI_ELAN is not set | ||
984 | # CONFIG_USB_APPLEDISPLAY is not set | ||
985 | # CONFIG_USB_SISUSBVGA is not set | ||
986 | # CONFIG_USB_LD is not set | ||
987 | # CONFIG_USB_TRANCEVIBRATOR is not set | ||
988 | # CONFIG_USB_IOWARRIOR is not set | ||
942 | 989 | ||
943 | # | 990 | # |
944 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 991 | # USB DSL modem support |
945 | # | 992 | # |
946 | 993 | ||
947 | # | 994 | # |
948 | # Real Time Clock | 995 | # USB Gadget Support |
949 | # | 996 | # |
997 | # CONFIG_USB_GADGET is not set | ||
998 | # CONFIG_MMC is not set | ||
999 | # CONFIG_NEW_LEDS is not set | ||
950 | CONFIG_RTC_LIB=y | 1000 | CONFIG_RTC_LIB=y |
951 | CONFIG_RTC_CLASS=y | 1001 | CONFIG_RTC_CLASS=y |
952 | CONFIG_RTC_HCTOSYS=y | 1002 | CONFIG_RTC_HCTOSYS=y |
@@ -966,6 +1016,7 @@ CONFIG_RTC_INTF_DEV=y | |||
966 | # I2C RTC drivers | 1016 | # I2C RTC drivers |
967 | # | 1017 | # |
968 | # CONFIG_RTC_DRV_DS1307 is not set | 1018 | # CONFIG_RTC_DRV_DS1307 is not set |
1019 | # CONFIG_RTC_DRV_DS1374 is not set | ||
969 | # CONFIG_RTC_DRV_DS1672 is not set | 1020 | # CONFIG_RTC_DRV_DS1672 is not set |
970 | # CONFIG_RTC_DRV_MAX6900 is not set | 1021 | # CONFIG_RTC_DRV_MAX6900 is not set |
971 | # CONFIG_RTC_DRV_RS5C372 is not set | 1022 | # CONFIG_RTC_DRV_RS5C372 is not set |
@@ -973,6 +1024,7 @@ CONFIG_RTC_INTF_DEV=y | |||
973 | # CONFIG_RTC_DRV_X1205 is not set | 1024 | # CONFIG_RTC_DRV_X1205 is not set |
974 | # CONFIG_RTC_DRV_PCF8563 is not set | 1025 | # CONFIG_RTC_DRV_PCF8563 is not set |
975 | # CONFIG_RTC_DRV_PCF8583 is not set | 1026 | # CONFIG_RTC_DRV_PCF8583 is not set |
1027 | # CONFIG_RTC_DRV_M41T80 is not set | ||
976 | 1028 | ||
977 | # | 1029 | # |
978 | # SPI RTC drivers | 1030 | # SPI RTC drivers |
@@ -984,8 +1036,10 @@ CONFIG_RTC_INTF_DEV=y | |||
984 | # Platform RTC drivers | 1036 | # Platform RTC drivers |
985 | # | 1037 | # |
986 | # CONFIG_RTC_DRV_DS1553 is not set | 1038 | # CONFIG_RTC_DRV_DS1553 is not set |
1039 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
987 | # CONFIG_RTC_DRV_DS1742 is not set | 1040 | # CONFIG_RTC_DRV_DS1742 is not set |
988 | # CONFIG_RTC_DRV_M48T86 is not set | 1041 | # CONFIG_RTC_DRV_M48T86 is not set |
1042 | # CONFIG_RTC_DRV_M48T59 is not set | ||
989 | # CONFIG_RTC_DRV_V3020 is not set | 1043 | # CONFIG_RTC_DRV_V3020 is not set |
990 | 1044 | ||
991 | # | 1045 | # |
@@ -994,22 +1048,9 @@ CONFIG_RTC_INTF_DEV=y | |||
994 | CONFIG_RTC_DRV_BFIN=y | 1048 | CONFIG_RTC_DRV_BFIN=y |
995 | 1049 | ||
996 | # | 1050 | # |
997 | # DMA Engine support | 1051 | # Userspace I/O |
998 | # | ||
999 | # CONFIG_DMA_ENGINE is not set | ||
1000 | |||
1001 | # | ||
1002 | # DMA Clients | ||
1003 | # | 1052 | # |
1004 | 1053 | # CONFIG_UIO is not set | |
1005 | # | ||
1006 | # DMA Devices | ||
1007 | # | ||
1008 | |||
1009 | # | ||
1010 | # PBX support | ||
1011 | # | ||
1012 | # CONFIG_PBX is not set | ||
1013 | 1054 | ||
1014 | # | 1055 | # |
1015 | # File systems | 1056 | # File systems |
@@ -1054,7 +1095,6 @@ CONFIG_PROC_SYSCTL=y | |||
1054 | CONFIG_SYSFS=y | 1095 | CONFIG_SYSFS=y |
1055 | # CONFIG_TMPFS is not set | 1096 | # CONFIG_TMPFS is not set |
1056 | # CONFIG_HUGETLB_PAGE is not set | 1097 | # CONFIG_HUGETLB_PAGE is not set |
1057 | CONFIG_RAMFS=y | ||
1058 | # CONFIG_CONFIGFS_FS is not set | 1098 | # CONFIG_CONFIGFS_FS is not set |
1059 | 1099 | ||
1060 | # | 1100 | # |
@@ -1080,10 +1120,12 @@ CONFIG_YAFFS_SHORT_NAMES_IN_RAM=y | |||
1080 | CONFIG_JFFS2_FS=m | 1120 | CONFIG_JFFS2_FS=m |
1081 | CONFIG_JFFS2_FS_DEBUG=0 | 1121 | CONFIG_JFFS2_FS_DEBUG=0 |
1082 | CONFIG_JFFS2_FS_WRITEBUFFER=y | 1122 | CONFIG_JFFS2_FS_WRITEBUFFER=y |
1123 | # CONFIG_JFFS2_FS_WBUF_VERIFY is not set | ||
1083 | # CONFIG_JFFS2_SUMMARY is not set | 1124 | # CONFIG_JFFS2_SUMMARY is not set |
1084 | # CONFIG_JFFS2_FS_XATTR is not set | 1125 | # CONFIG_JFFS2_FS_XATTR is not set |
1085 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | 1126 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set |
1086 | CONFIG_JFFS2_ZLIB=y | 1127 | CONFIG_JFFS2_ZLIB=y |
1128 | # CONFIG_JFFS2_LZO is not set | ||
1087 | CONFIG_JFFS2_RTIME=y | 1129 | CONFIG_JFFS2_RTIME=y |
1088 | # CONFIG_JFFS2_RUBIN is not set | 1130 | # CONFIG_JFFS2_RUBIN is not set |
1089 | # CONFIG_CRAMFS is not set | 1131 | # CONFIG_CRAMFS is not set |
@@ -1092,10 +1134,7 @@ CONFIG_JFFS2_RTIME=y | |||
1092 | # CONFIG_QNX4FS_FS is not set | 1134 | # CONFIG_QNX4FS_FS is not set |
1093 | # CONFIG_SYSV_FS is not set | 1135 | # CONFIG_SYSV_FS is not set |
1094 | # CONFIG_UFS_FS is not set | 1136 | # CONFIG_UFS_FS is not set |
1095 | 1137 | CONFIG_NETWORK_FILESYSTEMS=y | |
1096 | # | ||
1097 | # Network File Systems | ||
1098 | # | ||
1099 | CONFIG_NFS_FS=m | 1138 | CONFIG_NFS_FS=m |
1100 | CONFIG_NFS_V3=y | 1139 | CONFIG_NFS_V3=y |
1101 | # CONFIG_NFS_V3_ACL is not set | 1140 | # CONFIG_NFS_V3_ACL is not set |
@@ -1115,17 +1154,12 @@ CONFIG_SMB_FS=m | |||
1115 | # CONFIG_NCP_FS is not set | 1154 | # CONFIG_NCP_FS is not set |
1116 | # CONFIG_CODA_FS is not set | 1155 | # CONFIG_CODA_FS is not set |
1117 | # CONFIG_AFS_FS is not set | 1156 | # CONFIG_AFS_FS is not set |
1118 | # CONFIG_9P_FS is not set | ||
1119 | 1157 | ||
1120 | # | 1158 | # |
1121 | # Partition Types | 1159 | # Partition Types |
1122 | # | 1160 | # |
1123 | # CONFIG_PARTITION_ADVANCED is not set | 1161 | # CONFIG_PARTITION_ADVANCED is not set |
1124 | CONFIG_MSDOS_PARTITION=y | 1162 | CONFIG_MSDOS_PARTITION=y |
1125 | |||
1126 | # | ||
1127 | # Native Language Support | ||
1128 | # | ||
1129 | CONFIG_NLS=m | 1163 | CONFIG_NLS=m |
1130 | CONFIG_NLS_DEFAULT="iso8859-1" | 1164 | CONFIG_NLS_DEFAULT="iso8859-1" |
1131 | # CONFIG_NLS_CODEPAGE_437 is not set | 1165 | # CONFIG_NLS_CODEPAGE_437 is not set |
@@ -1166,21 +1200,16 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1166 | # CONFIG_NLS_KOI8_R is not set | 1200 | # CONFIG_NLS_KOI8_R is not set |
1167 | # CONFIG_NLS_KOI8_U is not set | 1201 | # CONFIG_NLS_KOI8_U is not set |
1168 | # CONFIG_NLS_UTF8 is not set | 1202 | # CONFIG_NLS_UTF8 is not set |
1169 | |||
1170 | # | ||
1171 | # Distributed Lock Manager | ||
1172 | # | ||
1173 | # CONFIG_DLM is not set | 1203 | # CONFIG_DLM is not set |
1174 | 1204 | CONFIG_INSTRUMENTATION=y | |
1175 | # | ||
1176 | # Profiling support | ||
1177 | # | ||
1178 | # CONFIG_PROFILING is not set | 1205 | # CONFIG_PROFILING is not set |
1206 | # CONFIG_MARKERS is not set | ||
1179 | 1207 | ||
1180 | # | 1208 | # |
1181 | # Kernel hacking | 1209 | # Kernel hacking |
1182 | # | 1210 | # |
1183 | # CONFIG_PRINTK_TIME is not set | 1211 | # CONFIG_PRINTK_TIME is not set |
1212 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
1184 | CONFIG_ENABLE_MUST_CHECK=y | 1213 | CONFIG_ENABLE_MUST_CHECK=y |
1185 | # CONFIG_MAGIC_SYSRQ is not set | 1214 | # CONFIG_MAGIC_SYSRQ is not set |
1186 | # CONFIG_UNUSED_SYMBOLS is not set | 1215 | # CONFIG_UNUSED_SYMBOLS is not set |
@@ -1188,6 +1217,7 @@ CONFIG_DEBUG_FS=y | |||
1188 | # CONFIG_HEADERS_CHECK is not set | 1217 | # CONFIG_HEADERS_CHECK is not set |
1189 | # CONFIG_DEBUG_KERNEL is not set | 1218 | # CONFIG_DEBUG_KERNEL is not set |
1190 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1219 | # CONFIG_DEBUG_BUGVERBOSE is not set |
1220 | # CONFIG_SAMPLES is not set | ||
1191 | CONFIG_DEBUG_MMRS=y | 1221 | CONFIG_DEBUG_MMRS=y |
1192 | CONFIG_DEBUG_HUNT_FOR_ZERO=y | 1222 | CONFIG_DEBUG_HUNT_FOR_ZERO=y |
1193 | CONFIG_DEBUG_BFIN_HWTRACE_ON=y | 1223 | CONFIG_DEBUG_BFIN_HWTRACE_ON=y |
@@ -1207,11 +1237,8 @@ CONFIG_ACCESS_CHECK=y | |||
1207 | # CONFIG_KEYS is not set | 1237 | # CONFIG_KEYS is not set |
1208 | CONFIG_SECURITY=y | 1238 | CONFIG_SECURITY=y |
1209 | # CONFIG_SECURITY_NETWORK is not set | 1239 | # CONFIG_SECURITY_NETWORK is not set |
1210 | CONFIG_SECURITY_CAPABILITIES=m | 1240 | # CONFIG_SECURITY_CAPABILITIES is not set |
1211 | 1241 | # CONFIG_SECURITY_ROOTPLUG is not set | |
1212 | # | ||
1213 | # Cryptographic options | ||
1214 | # | ||
1215 | # CONFIG_CRYPTO is not set | 1242 | # CONFIG_CRYPTO is not set |
1216 | 1243 | ||
1217 | # | 1244 | # |
@@ -1222,6 +1249,7 @@ CONFIG_CRC_CCITT=m | |||
1222 | # CONFIG_CRC16 is not set | 1249 | # CONFIG_CRC16 is not set |
1223 | # CONFIG_CRC_ITU_T is not set | 1250 | # CONFIG_CRC_ITU_T is not set |
1224 | CONFIG_CRC32=y | 1251 | CONFIG_CRC32=y |
1252 | # CONFIG_CRC7 is not set | ||
1225 | # CONFIG_LIBCRC32C is not set | 1253 | # CONFIG_LIBCRC32C is not set |
1226 | CONFIG_ZLIB_INFLATE=y | 1254 | CONFIG_ZLIB_INFLATE=y |
1227 | CONFIG_ZLIB_DEFLATE=m | 1255 | CONFIG_ZLIB_DEFLATE=m |
diff --git a/arch/blackfin/configs/BF548-EZKIT_defconfig b/arch/blackfin/configs/BF548-EZKIT_defconfig index 5bfdfb287d13..1ff2ff4b49aa 100644 --- a/arch/blackfin/configs/BF548-EZKIT_defconfig +++ b/arch/blackfin/configs/BF548-EZKIT_defconfig | |||
@@ -1,6 +1,6 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.22.16 | 3 | # Linux kernel version: 2.6.24.7 |
4 | # | 4 | # |
5 | # CONFIG_MMU is not set | 5 | # CONFIG_MMU is not set |
6 | # CONFIG_FPU is not set | 6 | # CONFIG_FPU is not set |
@@ -13,35 +13,34 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y | |||
13 | CONFIG_GENERIC_HWEIGHT=y | 13 | CONFIG_GENERIC_HWEIGHT=y |
14 | CONFIG_GENERIC_HARDIRQS=y | 14 | CONFIG_GENERIC_HARDIRQS=y |
15 | CONFIG_GENERIC_IRQ_PROBE=y | 15 | CONFIG_GENERIC_IRQ_PROBE=y |
16 | CONFIG_GENERIC_TIME=y | ||
17 | CONFIG_GENERIC_GPIO=y | 16 | CONFIG_GENERIC_GPIO=y |
18 | CONFIG_FORCE_MAX_ZONEORDER=14 | 17 | CONFIG_FORCE_MAX_ZONEORDER=14 |
19 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 18 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
20 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 19 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
21 | 20 | ||
22 | # | 21 | # |
23 | # Code maturity level options | 22 | # General setup |
24 | # | 23 | # |
25 | CONFIG_EXPERIMENTAL=y | 24 | CONFIG_EXPERIMENTAL=y |
26 | CONFIG_BROKEN_ON_SMP=y | 25 | CONFIG_BROKEN_ON_SMP=y |
27 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 26 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
28 | |||
29 | # | ||
30 | # General setup | ||
31 | # | ||
32 | CONFIG_LOCALVERSION="" | 27 | CONFIG_LOCALVERSION="" |
33 | CONFIG_LOCALVERSION_AUTO=y | 28 | CONFIG_LOCALVERSION_AUTO=y |
34 | CONFIG_SYSVIPC=y | 29 | CONFIG_SYSVIPC=y |
35 | # CONFIG_IPC_NS is not set | ||
36 | CONFIG_SYSVIPC_SYSCTL=y | 30 | CONFIG_SYSVIPC_SYSCTL=y |
37 | # CONFIG_POSIX_MQUEUE is not set | 31 | # CONFIG_POSIX_MQUEUE is not set |
38 | # CONFIG_BSD_PROCESS_ACCT is not set | 32 | # CONFIG_BSD_PROCESS_ACCT is not set |
39 | # CONFIG_TASKSTATS is not set | 33 | # CONFIG_TASKSTATS is not set |
40 | # CONFIG_UTS_NS is not set | 34 | # CONFIG_USER_NS is not set |
35 | # CONFIG_PID_NS is not set | ||
41 | # CONFIG_AUDIT is not set | 36 | # CONFIG_AUDIT is not set |
42 | CONFIG_IKCONFIG=y | 37 | CONFIG_IKCONFIG=y |
43 | CONFIG_IKCONFIG_PROC=y | 38 | CONFIG_IKCONFIG_PROC=y |
44 | CONFIG_LOG_BUF_SHIFT=14 | 39 | CONFIG_LOG_BUF_SHIFT=14 |
40 | # CONFIG_CGROUPS is not set | ||
41 | CONFIG_FAIR_GROUP_SCHED=y | ||
42 | CONFIG_FAIR_USER_SCHED=y | ||
43 | # CONFIG_FAIR_CGROUP_SCHED is not set | ||
45 | CONFIG_SYSFS_DEPRECATED=y | 44 | CONFIG_SYSFS_DEPRECATED=y |
46 | # CONFIG_RELAY is not set | 45 | # CONFIG_RELAY is not set |
47 | CONFIG_BLK_DEV_INITRD=y | 46 | CONFIG_BLK_DEV_INITRD=y |
@@ -64,32 +63,24 @@ CONFIG_EPOLL=y | |||
64 | CONFIG_SIGNALFD=y | 63 | CONFIG_SIGNALFD=y |
65 | CONFIG_EVENTFD=y | 64 | CONFIG_EVENTFD=y |
66 | CONFIG_VM_EVENT_COUNTERS=y | 65 | CONFIG_VM_EVENT_COUNTERS=y |
67 | CONFIG_BIG_ORDER_ALLOC_NOFAIL_MAGIC=3 | ||
68 | # CONFIG_NP2 is not set | ||
69 | CONFIG_SLAB=y | 66 | CONFIG_SLAB=y |
70 | # CONFIG_SLUB is not set | 67 | # CONFIG_SLUB is not set |
71 | # CONFIG_SLOB is not set | 68 | # CONFIG_SLOB is not set |
69 | CONFIG_SLABINFO=y | ||
72 | CONFIG_RT_MUTEXES=y | 70 | CONFIG_RT_MUTEXES=y |
73 | CONFIG_TINY_SHMEM=y | 71 | CONFIG_TINY_SHMEM=y |
74 | CONFIG_BASE_SMALL=0 | 72 | CONFIG_BASE_SMALL=0 |
75 | |||
76 | # | ||
77 | # Loadable module support | ||
78 | # | ||
79 | CONFIG_MODULES=y | 73 | CONFIG_MODULES=y |
80 | CONFIG_MODULE_UNLOAD=y | 74 | CONFIG_MODULE_UNLOAD=y |
81 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 75 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
82 | # CONFIG_MODVERSIONS is not set | 76 | # CONFIG_MODVERSIONS is not set |
83 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 77 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
84 | CONFIG_KMOD=y | 78 | CONFIG_KMOD=y |
85 | |||
86 | # | ||
87 | # Block layer | ||
88 | # | ||
89 | CONFIG_BLOCK=y | 79 | CONFIG_BLOCK=y |
90 | # CONFIG_LBD is not set | 80 | # CONFIG_LBD is not set |
91 | # CONFIG_BLK_DEV_IO_TRACE is not set | 81 | # CONFIG_BLK_DEV_IO_TRACE is not set |
92 | # CONFIG_LSF is not set | 82 | # CONFIG_LSF is not set |
83 | # CONFIG_BLK_DEV_BSG is not set | ||
93 | 84 | ||
94 | # | 85 | # |
95 | # IO Schedulers | 86 | # IO Schedulers |
@@ -141,7 +132,6 @@ CONFIG_BF_REV_0_0=y | |||
141 | # CONFIG_BF_REV_ANY is not set | 132 | # CONFIG_BF_REV_ANY is not set |
142 | # CONFIG_BF_REV_NONE is not set | 133 | # CONFIG_BF_REV_NONE is not set |
143 | CONFIG_BF54x=y | 134 | CONFIG_BF54x=y |
144 | CONFIG_BFIN_SINGLE_CORE=y | ||
145 | CONFIG_IRQ_PLL_WAKEUP=7 | 135 | CONFIG_IRQ_PLL_WAKEUP=7 |
146 | CONFIG_IRQ_RTC=8 | 136 | CONFIG_IRQ_RTC=8 |
147 | CONFIG_IRQ_SPORT0_RX=9 | 137 | CONFIG_IRQ_SPORT0_RX=9 |
@@ -169,6 +159,7 @@ CONFIG_IRQ_TIMER8=11 | |||
169 | CONFIG_IRQ_TIMER9=11 | 159 | CONFIG_IRQ_TIMER9=11 |
170 | CONFIG_IRQ_TIMER10=11 | 160 | CONFIG_IRQ_TIMER10=11 |
171 | CONFIG_BFIN548_EZKIT=y | 161 | CONFIG_BFIN548_EZKIT=y |
162 | # CONFIG_BFIN548_BLUETECHNIX_CM is not set | ||
172 | 163 | ||
173 | # | 164 | # |
174 | # BF548 Specific Configuration | 165 | # BF548 Specific Configuration |
@@ -262,12 +253,14 @@ CONFIG_PINT3_ASSIGN=0x02020303 | |||
262 | # Board customizations | 253 | # Board customizations |
263 | # | 254 | # |
264 | # CONFIG_CMDLINE_BOOL is not set | 255 | # CONFIG_CMDLINE_BOOL is not set |
256 | CONFIG_BOOT_LOAD=0x1000 | ||
265 | 257 | ||
266 | # | 258 | # |
267 | # Clock/PLL Setup | 259 | # Clock/PLL Setup |
268 | # | 260 | # |
269 | CONFIG_CLKIN_HZ=25000000 | 261 | CONFIG_CLKIN_HZ=25000000 |
270 | # CONFIG_BFIN_KERNEL_CLOCK is not set | 262 | # CONFIG_BFIN_KERNEL_CLOCK is not set |
263 | CONFIG_MAX_MEM_SIZE=512 | ||
271 | CONFIG_MAX_VCO_HZ=600000000 | 264 | CONFIG_MAX_VCO_HZ=600000000 |
272 | CONFIG_MIN_VCO_HZ=50000000 | 265 | CONFIG_MIN_VCO_HZ=50000000 |
273 | CONFIG_MAX_SCLK_HZ=133333333 | 266 | CONFIG_MAX_SCLK_HZ=133333333 |
@@ -281,14 +274,17 @@ CONFIG_HZ_250=y | |||
281 | # CONFIG_HZ_300 is not set | 274 | # CONFIG_HZ_300 is not set |
282 | # CONFIG_HZ_1000 is not set | 275 | # CONFIG_HZ_1000 is not set |
283 | CONFIG_HZ=250 | 276 | CONFIG_HZ=250 |
277 | CONFIG_GENERIC_TIME=y | ||
278 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
279 | # CONFIG_CYCLES_CLOCKSOURCE is not set | ||
280 | # CONFIG_TICK_ONESHOT is not set | ||
281 | # CONFIG_NO_HZ is not set | ||
282 | # CONFIG_HIGH_RES_TIMERS is not set | ||
283 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
284 | 284 | ||
285 | # | 285 | # |
286 | # Memory Setup | 286 | # Misc |
287 | # | 287 | # |
288 | CONFIG_MAX_MEM_SIZE=512 | ||
289 | # CONFIG_MEM_MT46V32M16_6T is not set | ||
290 | CONFIG_MEM_MT46V32M16_5B=y | ||
291 | CONFIG_BOOT_LOAD=0x1000 | ||
292 | CONFIG_BFIN_SCRATCH_REG_RETN=y | 288 | CONFIG_BFIN_SCRATCH_REG_RETN=y |
293 | # CONFIG_BFIN_SCRATCH_REG_RETE is not set | 289 | # CONFIG_BFIN_SCRATCH_REG_RETE is not set |
294 | # CONFIG_BFIN_SCRATCH_REG_CYCLES is not set | 290 | # CONFIG_BFIN_SCRATCH_REG_CYCLES is not set |
@@ -324,12 +320,14 @@ CONFIG_FLATMEM_MANUAL=y | |||
324 | CONFIG_FLATMEM=y | 320 | CONFIG_FLATMEM=y |
325 | CONFIG_FLAT_NODE_MEM_MAP=y | 321 | CONFIG_FLAT_NODE_MEM_MAP=y |
326 | # CONFIG_SPARSEMEM_STATIC is not set | 322 | # CONFIG_SPARSEMEM_STATIC is not set |
323 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
327 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 324 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
328 | # CONFIG_RESOURCES_64BIT is not set | 325 | # CONFIG_RESOURCES_64BIT is not set |
329 | CONFIG_ZONE_DMA_FLAG=1 | 326 | CONFIG_ZONE_DMA_FLAG=1 |
330 | CONFIG_LARGE_ALLOCS=y | 327 | CONFIG_VIRT_TO_BUS=y |
331 | # CONFIG_BFIN_GPTIMERS is not set | 328 | # CONFIG_BFIN_GPTIMERS is not set |
332 | CONFIG_BFIN_DMA_5XX=y | 329 | CONFIG_BFIN_DMA_5XX=y |
330 | # CONFIG_DMA_UNCACHED_4M is not set | ||
333 | CONFIG_DMA_UNCACHED_2M=y | 331 | CONFIG_DMA_UNCACHED_2M=y |
334 | # CONFIG_DMA_UNCACHED_1M is not set | 332 | # CONFIG_DMA_UNCACHED_1M is not set |
335 | # CONFIG_DMA_UNCACHED_NONE is not set | 333 | # CONFIG_DMA_UNCACHED_NONE is not set |
@@ -377,10 +375,6 @@ CONFIG_EBIU_FCTLVAL=0x6 | |||
377 | # | 375 | # |
378 | # CONFIG_PCI is not set | 376 | # CONFIG_PCI is not set |
379 | # CONFIG_ARCH_SUPPORTS_MSI is not set | 377 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
380 | |||
381 | # | ||
382 | # PCCARD (PCMCIA/CardBus) support | ||
383 | # | ||
384 | # CONFIG_PCCARD is not set | 378 | # CONFIG_PCCARD is not set |
385 | 379 | ||
386 | # | 380 | # |
@@ -396,6 +390,7 @@ CONFIG_BINFMT_ZFLAT=y | |||
396 | # Power management options | 390 | # Power management options |
397 | # | 391 | # |
398 | # CONFIG_PM is not set | 392 | # CONFIG_PM is not set |
393 | CONFIG_SUSPEND_UP_POSSIBLE=y | ||
399 | # CONFIG_PM_WAKEUP_BY_GPIO is not set | 394 | # CONFIG_PM_WAKEUP_BY_GPIO is not set |
400 | 395 | ||
401 | # | 396 | # |
@@ -439,6 +434,7 @@ CONFIG_SYN_COOKIES=y | |||
439 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | 434 | CONFIG_INET_XFRM_MODE_TRANSPORT=y |
440 | CONFIG_INET_XFRM_MODE_TUNNEL=y | 435 | CONFIG_INET_XFRM_MODE_TUNNEL=y |
441 | CONFIG_INET_XFRM_MODE_BEET=y | 436 | CONFIG_INET_XFRM_MODE_BEET=y |
437 | # CONFIG_INET_LRO is not set | ||
442 | CONFIG_INET_DIAG=y | 438 | CONFIG_INET_DIAG=y |
443 | CONFIG_INET_TCP_DIAG=y | 439 | CONFIG_INET_TCP_DIAG=y |
444 | # CONFIG_TCP_CONG_ADVANCED is not set | 440 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -465,10 +461,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
465 | # CONFIG_LAPB is not set | 461 | # CONFIG_LAPB is not set |
466 | # CONFIG_ECONET is not set | 462 | # CONFIG_ECONET is not set |
467 | # CONFIG_WAN_ROUTER is not set | 463 | # CONFIG_WAN_ROUTER is not set |
468 | |||
469 | # | ||
470 | # QoS and/or fair queueing | ||
471 | # | ||
472 | # CONFIG_NET_SCHED is not set | 464 | # CONFIG_NET_SCHED is not set |
473 | 465 | ||
474 | # | 466 | # |
@@ -488,6 +480,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
488 | # CONFIG_MAC80211 is not set | 480 | # CONFIG_MAC80211 is not set |
489 | # CONFIG_IEEE80211 is not set | 481 | # CONFIG_IEEE80211 is not set |
490 | # CONFIG_RFKILL is not set | 482 | # CONFIG_RFKILL is not set |
483 | # CONFIG_NET_9P is not set | ||
491 | 484 | ||
492 | # | 485 | # |
493 | # Device Drivers | 486 | # Device Drivers |
@@ -496,14 +489,11 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
496 | # | 489 | # |
497 | # Generic Driver Options | 490 | # Generic Driver Options |
498 | # | 491 | # |
492 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
499 | CONFIG_STANDALONE=y | 493 | CONFIG_STANDALONE=y |
500 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 494 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
501 | # CONFIG_FW_LOADER is not set | 495 | # CONFIG_FW_LOADER is not set |
502 | # CONFIG_SYS_HYPERVISOR is not set | 496 | # CONFIG_SYS_HYPERVISOR is not set |
503 | |||
504 | # | ||
505 | # Connector - unified userspace <-> kernelspace linker | ||
506 | # | ||
507 | # CONFIG_CONNECTOR is not set | 497 | # CONFIG_CONNECTOR is not set |
508 | CONFIG_MTD=y | 498 | CONFIG_MTD=y |
509 | # CONFIG_MTD_DEBUG is not set | 499 | # CONFIG_MTD_DEBUG is not set |
@@ -523,6 +513,7 @@ CONFIG_MTD_BLOCK=y | |||
523 | # CONFIG_INFTL is not set | 513 | # CONFIG_INFTL is not set |
524 | # CONFIG_RFD_FTL is not set | 514 | # CONFIG_RFD_FTL is not set |
525 | # CONFIG_SSFDC is not set | 515 | # CONFIG_SSFDC is not set |
516 | # CONFIG_MTD_OOPS is not set | ||
526 | 517 | ||
527 | # | 518 | # |
528 | # RAM/ROM/Flash chip drivers | 519 | # RAM/ROM/Flash chip drivers |
@@ -587,39 +578,27 @@ CONFIG_MTD_NAND_BF5XX_HWECC=y | |||
587 | # CONFIG_MTD_NAND_DISKONCHIP is not set | 578 | # CONFIG_MTD_NAND_DISKONCHIP is not set |
588 | # CONFIG_MTD_NAND_NANDSIM is not set | 579 | # CONFIG_MTD_NAND_NANDSIM is not set |
589 | # CONFIG_MTD_NAND_PLATFORM is not set | 580 | # CONFIG_MTD_NAND_PLATFORM is not set |
581 | # CONFIG_MTD_ALAUDA is not set | ||
590 | # CONFIG_MTD_ONENAND is not set | 582 | # CONFIG_MTD_ONENAND is not set |
591 | 583 | ||
592 | # | 584 | # |
593 | # UBI - Unsorted block images | 585 | # UBI - Unsorted block images |
594 | # | 586 | # |
595 | # CONFIG_MTD_UBI is not set | 587 | # CONFIG_MTD_UBI is not set |
596 | |||
597 | # | ||
598 | # Parallel port support | ||
599 | # | ||
600 | # CONFIG_PARPORT is not set | 588 | # CONFIG_PARPORT is not set |
601 | 589 | CONFIG_BLK_DEV=y | |
602 | # | ||
603 | # Plug and Play support | ||
604 | # | ||
605 | # CONFIG_PNPACPI is not set | ||
606 | |||
607 | # | ||
608 | # Block devices | ||
609 | # | ||
610 | # CONFIG_BLK_DEV_COW_COMMON is not set | 590 | # CONFIG_BLK_DEV_COW_COMMON is not set |
611 | # CONFIG_BLK_DEV_LOOP is not set | 591 | # CONFIG_BLK_DEV_LOOP is not set |
612 | # CONFIG_BLK_DEV_NBD is not set | 592 | # CONFIG_BLK_DEV_NBD is not set |
593 | # CONFIG_BLK_DEV_UB is not set | ||
613 | CONFIG_BLK_DEV_RAM=y | 594 | CONFIG_BLK_DEV_RAM=y |
614 | CONFIG_BLK_DEV_RAM_COUNT=16 | 595 | CONFIG_BLK_DEV_RAM_COUNT=16 |
615 | CONFIG_BLK_DEV_RAM_SIZE=4096 | 596 | CONFIG_BLK_DEV_RAM_SIZE=4096 |
616 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | 597 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 |
617 | # CONFIG_CDROM_PKTCDVD is not set | 598 | # CONFIG_CDROM_PKTCDVD is not set |
618 | # CONFIG_ATA_OVER_ETH is not set | 599 | # CONFIG_ATA_OVER_ETH is not set |
619 | 600 | CONFIG_MISC_DEVICES=y | |
620 | # | 601 | # CONFIG_EEPROM_93CX6 is not set |
621 | # Misc devices | ||
622 | # | ||
623 | # CONFIG_IDE is not set | 602 | # CONFIG_IDE is not set |
624 | 603 | ||
625 | # | 604 | # |
@@ -627,6 +606,7 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | |||
627 | # | 606 | # |
628 | # CONFIG_RAID_ATTRS is not set | 607 | # CONFIG_RAID_ATTRS is not set |
629 | CONFIG_SCSI=y | 608 | CONFIG_SCSI=y |
609 | CONFIG_SCSI_DMA=y | ||
630 | # CONFIG_SCSI_TGT is not set | 610 | # CONFIG_SCSI_TGT is not set |
631 | # CONFIG_SCSI_NETLINK is not set | 611 | # CONFIG_SCSI_NETLINK is not set |
632 | CONFIG_SCSI_PROC_FS=y | 612 | CONFIG_SCSI_PROC_FS=y |
@@ -657,43 +637,35 @@ CONFIG_SCSI_WAIT_SCAN=m | |||
657 | # CONFIG_SCSI_SPI_ATTRS is not set | 637 | # CONFIG_SCSI_SPI_ATTRS is not set |
658 | # CONFIG_SCSI_FC_ATTRS is not set | 638 | # CONFIG_SCSI_FC_ATTRS is not set |
659 | # CONFIG_SCSI_ISCSI_ATTRS is not set | 639 | # CONFIG_SCSI_ISCSI_ATTRS is not set |
660 | # CONFIG_SCSI_SAS_ATTRS is not set | ||
661 | # CONFIG_SCSI_SAS_LIBSAS is not set | 640 | # CONFIG_SCSI_SAS_LIBSAS is not set |
662 | 641 | # CONFIG_SCSI_SRP_ATTRS is not set | |
663 | # | 642 | CONFIG_SCSI_LOWLEVEL=y |
664 | # SCSI low-level drivers | ||
665 | # | ||
666 | # CONFIG_ISCSI_TCP is not set | 643 | # CONFIG_ISCSI_TCP is not set |
667 | # CONFIG_SCSI_DEBUG is not set | 644 | # CONFIG_SCSI_DEBUG is not set |
668 | CONFIG_ATA=y | 645 | CONFIG_ATA=y |
669 | # CONFIG_ATA_NONSTANDARD is not set | 646 | # CONFIG_ATA_NONSTANDARD is not set |
670 | # CONFIG_PATA_PLATFORM is not set | 647 | # CONFIG_PATA_PLATFORM is not set |
671 | CONFIG_PATA_BF54X=y | 648 | CONFIG_PATA_BF54X=y |
672 | CONFIG_PATA_BF54X_DMA=y | ||
673 | |||
674 | # | ||
675 | # Multi-device support (RAID and LVM) | ||
676 | # | ||
677 | # CONFIG_MD is not set | 649 | # CONFIG_MD is not set |
678 | |||
679 | # | ||
680 | # Network device support | ||
681 | # | ||
682 | CONFIG_NETDEVICES=y | 650 | CONFIG_NETDEVICES=y |
651 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | ||
683 | # CONFIG_DUMMY is not set | 652 | # CONFIG_DUMMY is not set |
684 | # CONFIG_BONDING is not set | 653 | # CONFIG_BONDING is not set |
654 | # CONFIG_MACVLAN is not set | ||
685 | # CONFIG_EQUALIZER is not set | 655 | # CONFIG_EQUALIZER is not set |
686 | # CONFIG_TUN is not set | 656 | # CONFIG_TUN is not set |
657 | # CONFIG_VETH is not set | ||
687 | # CONFIG_PHYLIB is not set | 658 | # CONFIG_PHYLIB is not set |
688 | |||
689 | # | ||
690 | # Ethernet (10 or 100Mbit) | ||
691 | # | ||
692 | CONFIG_NET_ETHERNET=y | 659 | CONFIG_NET_ETHERNET=y |
693 | CONFIG_MII=y | 660 | CONFIG_MII=y |
694 | # CONFIG_SMC91X is not set | 661 | # CONFIG_SMC91X is not set |
695 | CONFIG_SMSC911X=y | 662 | CONFIG_SMSC911X=y |
696 | # CONFIG_DM9000 is not set | 663 | # CONFIG_DM9000 is not set |
664 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
665 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
666 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
667 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
668 | # CONFIG_B44 is not set | ||
697 | CONFIG_NETDEV_1000=y | 669 | CONFIG_NETDEV_1000=y |
698 | # CONFIG_AX88180 is not set | 670 | # CONFIG_AX88180 is not set |
699 | CONFIG_NETDEV_10000=y | 671 | CONFIG_NETDEV_10000=y |
@@ -703,6 +675,15 @@ CONFIG_NETDEV_10000=y | |||
703 | # | 675 | # |
704 | # CONFIG_WLAN_PRE80211 is not set | 676 | # CONFIG_WLAN_PRE80211 is not set |
705 | # CONFIG_WLAN_80211 is not set | 677 | # CONFIG_WLAN_80211 is not set |
678 | |||
679 | # | ||
680 | # USB Network Adapters | ||
681 | # | ||
682 | # CONFIG_USB_CATC is not set | ||
683 | # CONFIG_USB_KAWETH is not set | ||
684 | # CONFIG_USB_PEGASUS is not set | ||
685 | # CONFIG_USB_RTL8150 is not set | ||
686 | # CONFIG_USB_USBNET is not set | ||
706 | # CONFIG_WAN is not set | 687 | # CONFIG_WAN is not set |
707 | # CONFIG_PPP is not set | 688 | # CONFIG_PPP is not set |
708 | # CONFIG_SLIP is not set | 689 | # CONFIG_SLIP is not set |
@@ -710,15 +691,7 @@ CONFIG_NETDEV_10000=y | |||
710 | # CONFIG_NETCONSOLE is not set | 691 | # CONFIG_NETCONSOLE is not set |
711 | # CONFIG_NETPOLL is not set | 692 | # CONFIG_NETPOLL is not set |
712 | # CONFIG_NET_POLL_CONTROLLER is not set | 693 | # CONFIG_NET_POLL_CONTROLLER is not set |
713 | |||
714 | # | ||
715 | # ISDN subsystem | ||
716 | # | ||
717 | # CONFIG_ISDN is not set | 694 | # CONFIG_ISDN is not set |
718 | |||
719 | # | ||
720 | # Telephony Support | ||
721 | # | ||
722 | # CONFIG_PHONE is not set | 695 | # CONFIG_PHONE is not set |
723 | 696 | ||
724 | # | 697 | # |
@@ -733,9 +706,6 @@ CONFIG_INPUT=y | |||
733 | # | 706 | # |
734 | # CONFIG_INPUT_MOUSEDEV is not set | 707 | # CONFIG_INPUT_MOUSEDEV is not set |
735 | # CONFIG_INPUT_JOYDEV is not set | 708 | # CONFIG_INPUT_JOYDEV is not set |
736 | CONFIG_INPUT_TSDEV=m | ||
737 | CONFIG_INPUT_TSDEV_SCREEN_X=240 | ||
738 | CONFIG_INPUT_TSDEV_SCREEN_Y=320 | ||
739 | CONFIG_INPUT_EVDEV=m | 709 | CONFIG_INPUT_EVDEV=m |
740 | CONFIG_INPUT_EVBUG=m | 710 | CONFIG_INPUT_EVBUG=m |
741 | 711 | ||
@@ -758,6 +728,7 @@ CONFIG_KEYBOARD_BFIN=y | |||
758 | CONFIG_INPUT_TOUCHSCREEN=y | 728 | CONFIG_INPUT_TOUCHSCREEN=y |
759 | # CONFIG_TOUCHSCREEN_ADS7846 is not set | 729 | # CONFIG_TOUCHSCREEN_ADS7846 is not set |
760 | CONFIG_TOUCHSCREEN_AD7877=m | 730 | CONFIG_TOUCHSCREEN_AD7877=m |
731 | # CONFIG_TOUCHSCREEN_FUJITSU is not set | ||
761 | # CONFIG_TOUCHSCREEN_GUNZE is not set | 732 | # CONFIG_TOUCHSCREEN_GUNZE is not set |
762 | # CONFIG_TOUCHSCREEN_ELO is not set | 733 | # CONFIG_TOUCHSCREEN_ELO is not set |
763 | # CONFIG_TOUCHSCREEN_MTOUCH is not set | 734 | # CONFIG_TOUCHSCREEN_MTOUCH is not set |
@@ -787,7 +758,6 @@ CONFIG_INPUT_MISC=y | |||
787 | # | 758 | # |
788 | # CONFIG_AD9960 is not set | 759 | # CONFIG_AD9960 is not set |
789 | # CONFIG_SPI_ADC_BF533 is not set | 760 | # CONFIG_SPI_ADC_BF533 is not set |
790 | # CONFIG_BF5xx_PFLAGS is not set | ||
791 | # CONFIG_BF5xx_PPIFCD is not set | 761 | # CONFIG_BF5xx_PPIFCD is not set |
792 | # CONFIG_BFIN_SIMPLE_TIMER is not set | 762 | # CONFIG_BFIN_SIMPLE_TIMER is not set |
793 | # CONFIG_BF5xx_PPI is not set | 763 | # CONFIG_BF5xx_PPI is not set |
@@ -796,7 +766,7 @@ CONFIG_BFIN_OTP=y | |||
796 | # CONFIG_BFIN_SPORT is not set | 766 | # CONFIG_BFIN_SPORT is not set |
797 | # CONFIG_BFIN_TIMER_LATENCY is not set | 767 | # CONFIG_BFIN_TIMER_LATENCY is not set |
798 | # CONFIG_TWI_LCD is not set | 768 | # CONFIG_TWI_LCD is not set |
799 | # CONFIG_AD5304 is not set | 769 | # CONFIG_SIMPLE_GPIO is not set |
800 | CONFIG_VT=y | 770 | CONFIG_VT=y |
801 | CONFIG_VT_CONSOLE=y | 771 | CONFIG_VT_CONSOLE=y |
802 | CONFIG_HW_CONSOLE=y | 772 | CONFIG_HW_CONSOLE=y |
@@ -830,27 +800,11 @@ CONFIG_UNIX98_PTYS=y | |||
830 | # CAN, the car bus and industrial fieldbus | 800 | # CAN, the car bus and industrial fieldbus |
831 | # | 801 | # |
832 | # CONFIG_CAN4LINUX is not set | 802 | # CONFIG_CAN4LINUX is not set |
833 | |||
834 | # | ||
835 | # IPMI | ||
836 | # | ||
837 | # CONFIG_IPMI_HANDLER is not set | 803 | # CONFIG_IPMI_HANDLER is not set |
838 | CONFIG_WATCHDOG=y | ||
839 | # CONFIG_WATCHDOG_NOWAYOUT is not set | ||
840 | |||
841 | # | ||
842 | # Watchdog Device Drivers | ||
843 | # | ||
844 | # CONFIG_SOFT_WATCHDOG is not set | ||
845 | CONFIG_BFIN_WDT=y | ||
846 | CONFIG_HW_RANDOM=y | 804 | CONFIG_HW_RANDOM=y |
847 | # CONFIG_GEN_RTC is not set | 805 | # CONFIG_GEN_RTC is not set |
848 | # CONFIG_R3964 is not set | 806 | # CONFIG_R3964 is not set |
849 | # CONFIG_RAW_DRIVER is not set | 807 | # CONFIG_RAW_DRIVER is not set |
850 | |||
851 | # | ||
852 | # TPM devices | ||
853 | # | ||
854 | # CONFIG_TCG_TPM is not set | 808 | # CONFIG_TCG_TPM is not set |
855 | CONFIG_I2C=y | 809 | CONFIG_I2C=y |
856 | CONFIG_I2C_BOARDINFO=y | 810 | CONFIG_I2C_BOARDINFO=y |
@@ -872,21 +826,24 @@ CONFIG_I2C_BLACKFIN_TWI_CLK_KHZ=50 | |||
872 | # CONFIG_I2C_OCORES is not set | 826 | # CONFIG_I2C_OCORES is not set |
873 | # CONFIG_I2C_PARPORT_LIGHT is not set | 827 | # CONFIG_I2C_PARPORT_LIGHT is not set |
874 | # CONFIG_I2C_SIMTEC is not set | 828 | # CONFIG_I2C_SIMTEC is not set |
829 | # CONFIG_I2C_TAOS_EVM is not set | ||
875 | # CONFIG_I2C_STUB is not set | 830 | # CONFIG_I2C_STUB is not set |
831 | # CONFIG_I2C_TINY_USB is not set | ||
876 | 832 | ||
877 | # | 833 | # |
878 | # Miscellaneous I2C Chip support | 834 | # Miscellaneous I2C Chip support |
879 | # | 835 | # |
880 | # CONFIG_SENSORS_DS1337 is not set | 836 | # CONFIG_SENSORS_DS1337 is not set |
881 | # CONFIG_SENSORS_DS1374 is not set | 837 | # CONFIG_SENSORS_DS1374 is not set |
838 | # CONFIG_DS1682 is not set | ||
882 | # CONFIG_SENSORS_AD5252 is not set | 839 | # CONFIG_SENSORS_AD5252 is not set |
883 | # CONFIG_SENSORS_EEPROM is not set | 840 | # CONFIG_SENSORS_EEPROM is not set |
884 | # CONFIG_SENSORS_PCF8574 is not set | 841 | # CONFIG_SENSORS_PCF8574 is not set |
885 | # CONFIG_SENSORS_PCF8575 is not set | 842 | # CONFIG_SENSORS_PCF8575 is not set |
886 | # CONFIG_SENSORS_PCA9543 is not set | ||
887 | # CONFIG_SENSORS_PCA9539 is not set | 843 | # CONFIG_SENSORS_PCA9539 is not set |
888 | # CONFIG_SENSORS_PCF8591 is not set | 844 | # CONFIG_SENSORS_PCF8591 is not set |
889 | # CONFIG_SENSORS_MAX6875 is not set | 845 | # CONFIG_SENSORS_MAX6875 is not set |
846 | # CONFIG_SENSORS_TSL2550 is not set | ||
890 | # CONFIG_I2C_DEBUG_CORE is not set | 847 | # CONFIG_I2C_DEBUG_CORE is not set |
891 | # CONFIG_I2C_DEBUG_ALGO is not set | 848 | # CONFIG_I2C_DEBUG_ALGO is not set |
892 | # CONFIG_I2C_DEBUG_BUS is not set | 849 | # CONFIG_I2C_DEBUG_BUS is not set |
@@ -909,14 +866,11 @@ CONFIG_SPI_BFIN=y | |||
909 | # | 866 | # |
910 | # CONFIG_SPI_AT25 is not set | 867 | # CONFIG_SPI_AT25 is not set |
911 | # CONFIG_SPI_SPIDEV is not set | 868 | # CONFIG_SPI_SPIDEV is not set |
912 | 869 | # CONFIG_SPI_TLE62X0 is not set | |
913 | # | ||
914 | # Dallas's 1-wire bus | ||
915 | # | ||
916 | # CONFIG_W1 is not set | 870 | # CONFIG_W1 is not set |
871 | # CONFIG_POWER_SUPPLY is not set | ||
917 | CONFIG_HWMON=y | 872 | CONFIG_HWMON=y |
918 | # CONFIG_HWMON_VID is not set | 873 | # CONFIG_HWMON_VID is not set |
919 | # CONFIG_SENSORS_ABITUGURU is not set | ||
920 | # CONFIG_SENSORS_AD7418 is not set | 874 | # CONFIG_SENSORS_AD7418 is not set |
921 | # CONFIG_SENSORS_ADM1021 is not set | 875 | # CONFIG_SENSORS_ADM1021 is not set |
922 | # CONFIG_SENSORS_ADM1025 is not set | 876 | # CONFIG_SENSORS_ADM1025 is not set |
@@ -924,12 +878,12 @@ CONFIG_HWMON=y | |||
924 | # CONFIG_SENSORS_ADM1029 is not set | 878 | # CONFIG_SENSORS_ADM1029 is not set |
925 | # CONFIG_SENSORS_ADM1031 is not set | 879 | # CONFIG_SENSORS_ADM1031 is not set |
926 | # CONFIG_SENSORS_ADM9240 is not set | 880 | # CONFIG_SENSORS_ADM9240 is not set |
927 | # CONFIG_SENSORS_ASB100 is not set | 881 | # CONFIG_SENSORS_ADT7470 is not set |
928 | # CONFIG_SENSORS_ATXP1 is not set | 882 | # CONFIG_SENSORS_ATXP1 is not set |
929 | # CONFIG_SENSORS_DS1621 is not set | 883 | # CONFIG_SENSORS_DS1621 is not set |
930 | # CONFIG_SENSORS_F71805F is not set | 884 | # CONFIG_SENSORS_F71805F is not set |
931 | # CONFIG_SENSORS_FSCHER is not set | 885 | # CONFIG_SENSORS_F71882FG is not set |
932 | # CONFIG_SENSORS_FSCPOS is not set | 886 | # CONFIG_SENSORS_F75375S is not set |
933 | # CONFIG_SENSORS_GL518SM is not set | 887 | # CONFIG_SENSORS_GL518SM is not set |
934 | # CONFIG_SENSORS_GL520SM is not set | 888 | # CONFIG_SENSORS_GL520SM is not set |
935 | # CONFIG_SENSORS_IT87 is not set | 889 | # CONFIG_SENSORS_IT87 is not set |
@@ -944,13 +898,16 @@ CONFIG_HWMON=y | |||
944 | # CONFIG_SENSORS_LM87 is not set | 898 | # CONFIG_SENSORS_LM87 is not set |
945 | # CONFIG_SENSORS_LM90 is not set | 899 | # CONFIG_SENSORS_LM90 is not set |
946 | # CONFIG_SENSORS_LM92 is not set | 900 | # CONFIG_SENSORS_LM92 is not set |
901 | # CONFIG_SENSORS_LM93 is not set | ||
947 | # CONFIG_SENSORS_MAX1619 is not set | 902 | # CONFIG_SENSORS_MAX1619 is not set |
948 | # CONFIG_SENSORS_MAX6650 is not set | 903 | # CONFIG_SENSORS_MAX6650 is not set |
949 | # CONFIG_SENSORS_PC87360 is not set | 904 | # CONFIG_SENSORS_PC87360 is not set |
950 | # CONFIG_SENSORS_PC87427 is not set | 905 | # CONFIG_SENSORS_PC87427 is not set |
906 | # CONFIG_SENSORS_DME1737 is not set | ||
951 | # CONFIG_SENSORS_SMSC47M1 is not set | 907 | # CONFIG_SENSORS_SMSC47M1 is not set |
952 | # CONFIG_SENSORS_SMSC47M192 is not set | 908 | # CONFIG_SENSORS_SMSC47M192 is not set |
953 | # CONFIG_SENSORS_SMSC47B397 is not set | 909 | # CONFIG_SENSORS_SMSC47B397 is not set |
910 | # CONFIG_SENSORS_THMC50 is not set | ||
954 | # CONFIG_SENSORS_VT1211 is not set | 911 | # CONFIG_SENSORS_VT1211 is not set |
955 | # CONFIG_SENSORS_W83781D is not set | 912 | # CONFIG_SENSORS_W83781D is not set |
956 | # CONFIG_SENSORS_W83791D is not set | 913 | # CONFIG_SENSORS_W83791D is not set |
@@ -960,6 +917,25 @@ CONFIG_HWMON=y | |||
960 | # CONFIG_SENSORS_W83627HF is not set | 917 | # CONFIG_SENSORS_W83627HF is not set |
961 | # CONFIG_SENSORS_W83627EHF is not set | 918 | # CONFIG_SENSORS_W83627EHF is not set |
962 | # CONFIG_HWMON_DEBUG_CHIP is not set | 919 | # CONFIG_HWMON_DEBUG_CHIP is not set |
920 | CONFIG_WATCHDOG=y | ||
921 | # CONFIG_WATCHDOG_NOWAYOUT is not set | ||
922 | |||
923 | # | ||
924 | # Watchdog Device Drivers | ||
925 | # | ||
926 | # CONFIG_SOFT_WATCHDOG is not set | ||
927 | CONFIG_BFIN_WDT=y | ||
928 | |||
929 | # | ||
930 | # USB-based Watchdog Cards | ||
931 | # | ||
932 | # CONFIG_USBPCWATCHDOG is not set | ||
933 | |||
934 | # | ||
935 | # Sonics Silicon Backplane | ||
936 | # | ||
937 | CONFIG_SSB_POSSIBLE=y | ||
938 | # CONFIG_SSB is not set | ||
963 | 939 | ||
964 | # | 940 | # |
965 | # Multifunction device drivers | 941 | # Multifunction device drivers |
@@ -972,23 +948,20 @@ CONFIG_HWMON=y | |||
972 | # CONFIG_VIDEO_DEV is not set | 948 | # CONFIG_VIDEO_DEV is not set |
973 | # CONFIG_DVB_CORE is not set | 949 | # CONFIG_DVB_CORE is not set |
974 | CONFIG_DAB=y | 950 | CONFIG_DAB=y |
951 | # CONFIG_USB_DABUSB is not set | ||
975 | 952 | ||
976 | # | 953 | # |
977 | # Graphics support | 954 | # Graphics support |
978 | # | 955 | # |
979 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
980 | |||
981 | # | ||
982 | # Display device support | ||
983 | # | ||
984 | # CONFIG_DISPLAY_SUPPORT is not set | ||
985 | # CONFIG_VGASTATE is not set | 956 | # CONFIG_VGASTATE is not set |
957 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
986 | CONFIG_FB=y | 958 | CONFIG_FB=y |
987 | CONFIG_FIRMWARE_EDID=y | 959 | CONFIG_FIRMWARE_EDID=y |
988 | # CONFIG_FB_DDC is not set | 960 | # CONFIG_FB_DDC is not set |
989 | CONFIG_FB_CFB_FILLRECT=y | 961 | CONFIG_FB_CFB_FILLRECT=y |
990 | CONFIG_FB_CFB_COPYAREA=y | 962 | CONFIG_FB_CFB_COPYAREA=y |
991 | CONFIG_FB_CFB_IMAGEBLIT=y | 963 | CONFIG_FB_CFB_IMAGEBLIT=y |
964 | # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set | ||
992 | # CONFIG_FB_SYS_FILLRECT is not set | 965 | # CONFIG_FB_SYS_FILLRECT is not set |
993 | # CONFIG_FB_SYS_COPYAREA is not set | 966 | # CONFIG_FB_SYS_COPYAREA is not set |
994 | # CONFIG_FB_SYS_IMAGEBLIT is not set | 967 | # CONFIG_FB_SYS_IMAGEBLIT is not set |
@@ -1003,18 +976,24 @@ CONFIG_FB_DEFERRED_IO=y | |||
1003 | # | 976 | # |
1004 | # Frame buffer hardware drivers | 977 | # Frame buffer hardware drivers |
1005 | # | 978 | # |
1006 | # CONFIG_FB_BFIN_7171 is not set | ||
1007 | # CONFIG_FB_BFIN_7393 is not set | ||
1008 | CONFIG_FB_BF54X_LQ043=y | 979 | CONFIG_FB_BF54X_LQ043=y |
1009 | # CONFIG_FB_BFIN_T350MCQB is not set | 980 | # CONFIG_FB_BFIN_T350MCQB is not set |
981 | # CONFIG_FB_BFIN_7393 is not set | ||
1010 | # CONFIG_FB_S1D13XXX is not set | 982 | # CONFIG_FB_S1D13XXX is not set |
1011 | # CONFIG_FB_VIRTUAL is not set | 983 | # CONFIG_FB_VIRTUAL is not set |
984 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
985 | |||
986 | # | ||
987 | # Display device support | ||
988 | # | ||
989 | # CONFIG_DISPLAY_SUPPORT is not set | ||
1012 | 990 | ||
1013 | # | 991 | # |
1014 | # Console display driver support | 992 | # Console display driver support |
1015 | # | 993 | # |
1016 | CONFIG_DUMMY_CONSOLE=y | 994 | CONFIG_DUMMY_CONSOLE=y |
1017 | CONFIG_FRAMEBUFFER_CONSOLE=y | 995 | CONFIG_FRAMEBUFFER_CONSOLE=y |
996 | # CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set | ||
1018 | # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set | 997 | # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set |
1019 | CONFIG_FONTS=y | 998 | CONFIG_FONTS=y |
1020 | # CONFIG_FONT_8x8 is not set | 999 | # CONFIG_FONT_8x8 is not set |
@@ -1065,10 +1044,21 @@ CONFIG_SND_VERBOSE_PROCFS=y | |||
1065 | # CONFIG_SND_MPU401 is not set | 1044 | # CONFIG_SND_MPU401 is not set |
1066 | 1045 | ||
1067 | # | 1046 | # |
1047 | # SPI devices | ||
1048 | # | ||
1049 | |||
1050 | # | ||
1068 | # ALSA Blackfin devices | 1051 | # ALSA Blackfin devices |
1069 | # | 1052 | # |
1070 | # CONFIG_SND_BLACKFIN_AD1836 is not set | 1053 | # CONFIG_SND_BLACKFIN_AD1836 is not set |
1071 | # CONFIG_SND_BFIN_AD73311 is not set | 1054 | # CONFIG_SND_BFIN_AD73311 is not set |
1055 | # CONFIG_SND_BFIN_AD73322 is not set | ||
1056 | |||
1057 | # | ||
1058 | # USB devices | ||
1059 | # | ||
1060 | # CONFIG_SND_USB_AUDIO is not set | ||
1061 | # CONFIG_SND_USB_CAIAQ is not set | ||
1072 | 1062 | ||
1073 | # | 1063 | # |
1074 | # System on Chip audio support | 1064 | # System on Chip audio support |
@@ -1084,6 +1074,10 @@ CONFIG_SND_BF5XX_SOC_BF548_EZKIT=y | |||
1084 | CONFIG_SND_BF5XX_SPORT_NUM=0 | 1074 | CONFIG_SND_BF5XX_SPORT_NUM=0 |
1085 | CONFIG_SND_BF5XX_HAVE_COLD_RESET=y | 1075 | CONFIG_SND_BF5XX_HAVE_COLD_RESET=y |
1086 | CONFIG_SND_BF5XX_RESET_GPIO_NUM=19 | 1076 | CONFIG_SND_BF5XX_RESET_GPIO_NUM=19 |
1077 | |||
1078 | # | ||
1079 | # SoC Audio support for SuperH | ||
1080 | # | ||
1087 | CONFIG_SND_SOC_AD1980=y | 1081 | CONFIG_SND_SOC_AD1980=y |
1088 | 1082 | ||
1089 | # | 1083 | # |
@@ -1091,72 +1085,152 @@ CONFIG_SND_SOC_AD1980=y | |||
1091 | # | 1085 | # |
1092 | # CONFIG_SOUND_PRIME is not set | 1086 | # CONFIG_SOUND_PRIME is not set |
1093 | CONFIG_AC97_BUS=y | 1087 | CONFIG_AC97_BUS=y |
1094 | 1088 | CONFIG_HID_SUPPORT=y | |
1095 | # | 1089 | CONFIG_HID=y |
1096 | # HID Devices | ||
1097 | # | ||
1098 | CONFIG_HID=m | ||
1099 | # CONFIG_HID_DEBUG is not set | 1090 | # CONFIG_HID_DEBUG is not set |
1091 | # CONFIG_HIDRAW is not set | ||
1100 | 1092 | ||
1101 | # | 1093 | # |
1102 | # USB support | 1094 | # USB Input Devices |
1103 | # | 1095 | # |
1096 | CONFIG_USB_HID=y | ||
1097 | # CONFIG_USB_HIDINPUT_POWERBOOK is not set | ||
1098 | # CONFIG_HID_FF is not set | ||
1099 | # CONFIG_USB_HIDDEV is not set | ||
1100 | CONFIG_USB_SUPPORT=y | ||
1104 | CONFIG_USB_ARCH_HAS_HCD=y | 1101 | CONFIG_USB_ARCH_HAS_HCD=y |
1105 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 1102 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
1106 | # CONFIG_USB_ARCH_HAS_EHCI is not set | 1103 | # CONFIG_USB_ARCH_HAS_EHCI is not set |
1107 | # CONFIG_USB is not set | 1104 | CONFIG_USB=y |
1105 | # CONFIG_USB_DEBUG is not set | ||
1106 | |||
1107 | # | ||
1108 | # Miscellaneous USB options | ||
1109 | # | ||
1110 | # CONFIG_USB_DEVICEFS is not set | ||
1111 | CONFIG_USB_DEVICE_CLASS=y | ||
1112 | # CONFIG_USB_DYNAMIC_MINORS is not set | ||
1113 | # CONFIG_USB_OTG is not set | ||
1114 | # CONFIG_USB_OTG_WHITELIST is not set | ||
1115 | CONFIG_USB_OTG_BLACKLIST_HUB=y | ||
1108 | 1116 | ||
1109 | # | 1117 | # |
1110 | # Enable Host or Gadget support to see Inventra options | 1118 | # USB Host Controller Drivers |
1111 | # | 1119 | # |
1120 | # CONFIG_USB_ISP116X_HCD is not set | ||
1121 | # CONFIG_USB_ISP1362_HCD is not set | ||
1122 | # CONFIG_USB_ISP1760_HCD is not set | ||
1123 | # CONFIG_USB_SL811_HCD is not set | ||
1124 | # CONFIG_USB_R8A66597_HCD is not set | ||
1125 | CONFIG_USB_MUSB_HDRC=y | ||
1126 | CONFIG_USB_MUSB_SOC=y | ||
1127 | |||
1128 | # | ||
1129 | # Blackfin high speed USB support | ||
1130 | # | ||
1131 | CONFIG_USB_MUSB_HOST=y | ||
1132 | # CONFIG_USB_MUSB_PERIPHERAL is not set | ||
1133 | # CONFIG_USB_MUSB_OTG is not set | ||
1134 | CONFIG_USB_MUSB_HDRC_HCD=y | ||
1135 | # CONFIG_MUSB_PIO_ONLY is not set | ||
1136 | # CONFIG_USB_INVENTRA_DMA is not set | ||
1137 | # CONFIG_USB_TI_CPPI_DMA is not set | ||
1138 | CONFIG_USB_MUSB_LOGLEVEL=0 | ||
1139 | |||
1140 | # | ||
1141 | # USB Device Class drivers | ||
1142 | # | ||
1143 | # CONFIG_USB_ACM is not set | ||
1144 | # CONFIG_USB_PRINTER is not set | ||
1112 | 1145 | ||
1113 | # | 1146 | # |
1114 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 1147 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
1115 | # | 1148 | # |
1116 | 1149 | ||
1117 | # | 1150 | # |
1118 | # USB Gadget Support | 1151 | # may also be needed; see USB_STORAGE Help for more information |
1119 | # | 1152 | # |
1120 | # CONFIG_USB_GADGET is not set | 1153 | CONFIG_USB_STORAGE=m |
1121 | CONFIG_MMC=m | 1154 | # CONFIG_USB_STORAGE_DEBUG is not set |
1122 | # CONFIG_MMC_DEBUG is not set | 1155 | # CONFIG_USB_STORAGE_DATAFAB is not set |
1123 | # CONFIG_MMC_UNSAFE_RESUME is not set | 1156 | # CONFIG_USB_STORAGE_FREECOM is not set |
1157 | # CONFIG_USB_STORAGE_ISD200 is not set | ||
1158 | # CONFIG_USB_STORAGE_DPCM is not set | ||
1159 | # CONFIG_USB_STORAGE_USBAT is not set | ||
1160 | # CONFIG_USB_STORAGE_SDDR09 is not set | ||
1161 | # CONFIG_USB_STORAGE_SDDR55 is not set | ||
1162 | # CONFIG_USB_STORAGE_JUMPSHOT is not set | ||
1163 | # CONFIG_USB_STORAGE_ALAUDA is not set | ||
1164 | # CONFIG_USB_STORAGE_ONETOUCH is not set | ||
1165 | # CONFIG_USB_STORAGE_KARMA is not set | ||
1166 | # CONFIG_USB_LIBUSUAL is not set | ||
1124 | 1167 | ||
1125 | # | 1168 | # |
1126 | # MMC/SD Card Drivers | 1169 | # USB Imaging devices |
1127 | # | 1170 | # |
1128 | CONFIG_MMC_BLOCK=m | 1171 | # CONFIG_USB_MDC800 is not set |
1172 | # CONFIG_USB_MICROTEK is not set | ||
1173 | CONFIG_USB_MON=y | ||
1129 | 1174 | ||
1130 | # | 1175 | # |
1131 | # MMC/SD Host Controller Drivers | 1176 | # USB port drivers |
1132 | # | 1177 | # |
1133 | CONFIG_SDH_BFIN=m | ||
1134 | # CONFIG_SPI_MMC is not set | ||
1135 | 1178 | ||
1136 | # | 1179 | # |
1137 | # LED devices | 1180 | # USB Serial Converter support |
1138 | # | 1181 | # |
1139 | # CONFIG_NEW_LEDS is not set | 1182 | # CONFIG_USB_SERIAL is not set |
1140 | 1183 | ||
1141 | # | 1184 | # |
1142 | # LED drivers | 1185 | # USB Miscellaneous drivers |
1143 | # | 1186 | # |
1187 | # CONFIG_USB_EMI62 is not set | ||
1188 | # CONFIG_USB_EMI26 is not set | ||
1189 | # CONFIG_USB_ADUTUX is not set | ||
1190 | # CONFIG_USB_AUERSWALD is not set | ||
1191 | # CONFIG_USB_RIO500 is not set | ||
1192 | # CONFIG_USB_LEGOTOWER is not set | ||
1193 | # CONFIG_USB_LCD is not set | ||
1194 | # CONFIG_USB_BERRY_CHARGE is not set | ||
1195 | # CONFIG_USB_LED is not set | ||
1196 | # CONFIG_USB_CYPRESS_CY7C63 is not set | ||
1197 | # CONFIG_USB_CYTHERM is not set | ||
1198 | # CONFIG_USB_PHIDGET is not set | ||
1199 | # CONFIG_USB_IDMOUSE is not set | ||
1200 | # CONFIG_USB_FTDI_ELAN is not set | ||
1201 | # CONFIG_USB_APPLEDISPLAY is not set | ||
1202 | # CONFIG_USB_SISUSBVGA is not set | ||
1203 | # CONFIG_USB_LD is not set | ||
1204 | # CONFIG_USB_TRANCEVIBRATOR is not set | ||
1205 | # CONFIG_USB_IOWARRIOR is not set | ||
1144 | 1206 | ||
1145 | # | 1207 | # |
1146 | # LED Triggers | 1208 | # USB DSL modem support |
1147 | # | 1209 | # |
1148 | 1210 | ||
1149 | # | 1211 | # |
1150 | # InfiniBand support | 1212 | # USB Gadget Support |
1151 | # | 1213 | # |
1214 | # CONFIG_USB_GADGET is not set | ||
1215 | CONFIG_MMC=m | ||
1216 | # CONFIG_MMC_DEBUG is not set | ||
1217 | # CONFIG_MMC_UNSAFE_RESUME is not set | ||
1152 | 1218 | ||
1153 | # | 1219 | # |
1154 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 1220 | # MMC/SD Card Drivers |
1155 | # | 1221 | # |
1222 | CONFIG_MMC_BLOCK=m | ||
1223 | CONFIG_MMC_BLOCK_BOUNCE=y | ||
1224 | # CONFIG_SDIO_UART is not set | ||
1156 | 1225 | ||
1157 | # | 1226 | # |
1158 | # Real Time Clock | 1227 | # MMC/SD Host Controller Drivers |
1159 | # | 1228 | # |
1229 | CONFIG_SDH_BFIN=m | ||
1230 | # CONFIG_SDH_BFIN_MISSING_CMD_PULLUP_WORKAROUND is not set | ||
1231 | # CONFIG_MMC_SPI is not set | ||
1232 | # CONFIG_SPI_MMC is not set | ||
1233 | # CONFIG_NEW_LEDS is not set | ||
1160 | CONFIG_RTC_LIB=y | 1234 | CONFIG_RTC_LIB=y |
1161 | CONFIG_RTC_CLASS=y | 1235 | CONFIG_RTC_CLASS=y |
1162 | CONFIG_RTC_HCTOSYS=y | 1236 | CONFIG_RTC_HCTOSYS=y |
@@ -1176,6 +1250,7 @@ CONFIG_RTC_INTF_DEV=y | |||
1176 | # I2C RTC drivers | 1250 | # I2C RTC drivers |
1177 | # | 1251 | # |
1178 | # CONFIG_RTC_DRV_DS1307 is not set | 1252 | # CONFIG_RTC_DRV_DS1307 is not set |
1253 | # CONFIG_RTC_DRV_DS1374 is not set | ||
1179 | # CONFIG_RTC_DRV_DS1672 is not set | 1254 | # CONFIG_RTC_DRV_DS1672 is not set |
1180 | # CONFIG_RTC_DRV_MAX6900 is not set | 1255 | # CONFIG_RTC_DRV_MAX6900 is not set |
1181 | # CONFIG_RTC_DRV_RS5C372 is not set | 1256 | # CONFIG_RTC_DRV_RS5C372 is not set |
@@ -1183,6 +1258,7 @@ CONFIG_RTC_INTF_DEV=y | |||
1183 | # CONFIG_RTC_DRV_X1205 is not set | 1258 | # CONFIG_RTC_DRV_X1205 is not set |
1184 | # CONFIG_RTC_DRV_PCF8563 is not set | 1259 | # CONFIG_RTC_DRV_PCF8563 is not set |
1185 | # CONFIG_RTC_DRV_PCF8583 is not set | 1260 | # CONFIG_RTC_DRV_PCF8583 is not set |
1261 | # CONFIG_RTC_DRV_M41T80 is not set | ||
1186 | 1262 | ||
1187 | # | 1263 | # |
1188 | # SPI RTC drivers | 1264 | # SPI RTC drivers |
@@ -1194,8 +1270,10 @@ CONFIG_RTC_INTF_DEV=y | |||
1194 | # Platform RTC drivers | 1270 | # Platform RTC drivers |
1195 | # | 1271 | # |
1196 | # CONFIG_RTC_DRV_DS1553 is not set | 1272 | # CONFIG_RTC_DRV_DS1553 is not set |
1273 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
1197 | # CONFIG_RTC_DRV_DS1742 is not set | 1274 | # CONFIG_RTC_DRV_DS1742 is not set |
1198 | # CONFIG_RTC_DRV_M48T86 is not set | 1275 | # CONFIG_RTC_DRV_M48T86 is not set |
1276 | # CONFIG_RTC_DRV_M48T59 is not set | ||
1199 | # CONFIG_RTC_DRV_V3020 is not set | 1277 | # CONFIG_RTC_DRV_V3020 is not set |
1200 | 1278 | ||
1201 | # | 1279 | # |
@@ -1204,22 +1282,9 @@ CONFIG_RTC_INTF_DEV=y | |||
1204 | CONFIG_RTC_DRV_BFIN=y | 1282 | CONFIG_RTC_DRV_BFIN=y |
1205 | 1283 | ||
1206 | # | 1284 | # |
1207 | # DMA Engine support | 1285 | # Userspace I/O |
1208 | # | ||
1209 | # CONFIG_DMA_ENGINE is not set | ||
1210 | |||
1211 | # | ||
1212 | # DMA Clients | ||
1213 | # | 1286 | # |
1214 | 1287 | # CONFIG_UIO is not set | |
1215 | # | ||
1216 | # DMA Devices | ||
1217 | # | ||
1218 | |||
1219 | # | ||
1220 | # PBX support | ||
1221 | # | ||
1222 | # CONFIG_PBX is not set | ||
1223 | 1288 | ||
1224 | # | 1289 | # |
1225 | # File systems | 1290 | # File systems |
@@ -1280,7 +1345,6 @@ CONFIG_PROC_SYSCTL=y | |||
1280 | CONFIG_SYSFS=y | 1345 | CONFIG_SYSFS=y |
1281 | # CONFIG_TMPFS is not set | 1346 | # CONFIG_TMPFS is not set |
1282 | # CONFIG_HUGETLB_PAGE is not set | 1347 | # CONFIG_HUGETLB_PAGE is not set |
1283 | CONFIG_RAMFS=y | ||
1284 | # CONFIG_CONFIGFS_FS is not set | 1348 | # CONFIG_CONFIGFS_FS is not set |
1285 | 1349 | ||
1286 | # | 1350 | # |
@@ -1306,10 +1370,12 @@ CONFIG_YAFFS_SHORT_NAMES_IN_RAM=y | |||
1306 | CONFIG_JFFS2_FS=m | 1370 | CONFIG_JFFS2_FS=m |
1307 | CONFIG_JFFS2_FS_DEBUG=0 | 1371 | CONFIG_JFFS2_FS_DEBUG=0 |
1308 | CONFIG_JFFS2_FS_WRITEBUFFER=y | 1372 | CONFIG_JFFS2_FS_WRITEBUFFER=y |
1373 | # CONFIG_JFFS2_FS_WBUF_VERIFY is not set | ||
1309 | # CONFIG_JFFS2_SUMMARY is not set | 1374 | # CONFIG_JFFS2_SUMMARY is not set |
1310 | # CONFIG_JFFS2_FS_XATTR is not set | 1375 | # CONFIG_JFFS2_FS_XATTR is not set |
1311 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | 1376 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set |
1312 | CONFIG_JFFS2_ZLIB=y | 1377 | CONFIG_JFFS2_ZLIB=y |
1378 | # CONFIG_JFFS2_LZO is not set | ||
1313 | CONFIG_JFFS2_RTIME=y | 1379 | CONFIG_JFFS2_RTIME=y |
1314 | # CONFIG_JFFS2_RUBIN is not set | 1380 | # CONFIG_JFFS2_RUBIN is not set |
1315 | # CONFIG_CRAMFS is not set | 1381 | # CONFIG_CRAMFS is not set |
@@ -1318,10 +1384,7 @@ CONFIG_JFFS2_RTIME=y | |||
1318 | # CONFIG_QNX4FS_FS is not set | 1384 | # CONFIG_QNX4FS_FS is not set |
1319 | # CONFIG_SYSV_FS is not set | 1385 | # CONFIG_SYSV_FS is not set |
1320 | # CONFIG_UFS_FS is not set | 1386 | # CONFIG_UFS_FS is not set |
1321 | 1387 | CONFIG_NETWORK_FILESYSTEMS=y | |
1322 | # | ||
1323 | # Network File Systems | ||
1324 | # | ||
1325 | CONFIG_NFS_FS=m | 1388 | CONFIG_NFS_FS=m |
1326 | CONFIG_NFS_V3=y | 1389 | CONFIG_NFS_V3=y |
1327 | # CONFIG_NFS_V3_ACL is not set | 1390 | # CONFIG_NFS_V3_ACL is not set |
@@ -1352,7 +1415,6 @@ CONFIG_CIFS=y | |||
1352 | # CONFIG_NCP_FS is not set | 1415 | # CONFIG_NCP_FS is not set |
1353 | # CONFIG_CODA_FS is not set | 1416 | # CONFIG_CODA_FS is not set |
1354 | # CONFIG_AFS_FS is not set | 1417 | # CONFIG_AFS_FS is not set |
1355 | # CONFIG_9P_FS is not set | ||
1356 | 1418 | ||
1357 | # | 1419 | # |
1358 | # Partition Types | 1420 | # Partition Types |
@@ -1375,10 +1437,6 @@ CONFIG_MSDOS_PARTITION=y | |||
1375 | # CONFIG_KARMA_PARTITION is not set | 1437 | # CONFIG_KARMA_PARTITION is not set |
1376 | # CONFIG_EFI_PARTITION is not set | 1438 | # CONFIG_EFI_PARTITION is not set |
1377 | # CONFIG_SYSV68_PARTITION is not set | 1439 | # CONFIG_SYSV68_PARTITION is not set |
1378 | |||
1379 | # | ||
1380 | # Native Language Support | ||
1381 | # | ||
1382 | CONFIG_NLS=y | 1440 | CONFIG_NLS=y |
1383 | CONFIG_NLS_DEFAULT="iso8859-1" | 1441 | CONFIG_NLS_DEFAULT="iso8859-1" |
1384 | CONFIG_NLS_CODEPAGE_437=m | 1442 | CONFIG_NLS_CODEPAGE_437=m |
@@ -1419,21 +1477,16 @@ CONFIG_NLS_ISO8859_15=m | |||
1419 | CONFIG_NLS_KOI8_R=m | 1477 | CONFIG_NLS_KOI8_R=m |
1420 | CONFIG_NLS_KOI8_U=m | 1478 | CONFIG_NLS_KOI8_U=m |
1421 | CONFIG_NLS_UTF8=m | 1479 | CONFIG_NLS_UTF8=m |
1422 | |||
1423 | # | ||
1424 | # Distributed Lock Manager | ||
1425 | # | ||
1426 | # CONFIG_DLM is not set | 1480 | # CONFIG_DLM is not set |
1427 | 1481 | CONFIG_INSTRUMENTATION=y | |
1428 | # | ||
1429 | # Profiling support | ||
1430 | # | ||
1431 | # CONFIG_PROFILING is not set | 1482 | # CONFIG_PROFILING is not set |
1483 | # CONFIG_MARKERS is not set | ||
1432 | 1484 | ||
1433 | # | 1485 | # |
1434 | # Kernel hacking | 1486 | # Kernel hacking |
1435 | # | 1487 | # |
1436 | # CONFIG_PRINTK_TIME is not set | 1488 | # CONFIG_PRINTK_TIME is not set |
1489 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
1437 | CONFIG_ENABLE_MUST_CHECK=y | 1490 | CONFIG_ENABLE_MUST_CHECK=y |
1438 | # CONFIG_MAGIC_SYSRQ is not set | 1491 | # CONFIG_MAGIC_SYSRQ is not set |
1439 | # CONFIG_UNUSED_SYMBOLS is not set | 1492 | # CONFIG_UNUSED_SYMBOLS is not set |
@@ -1441,6 +1494,7 @@ CONFIG_DEBUG_FS=y | |||
1441 | # CONFIG_HEADERS_CHECK is not set | 1494 | # CONFIG_HEADERS_CHECK is not set |
1442 | # CONFIG_DEBUG_KERNEL is not set | 1495 | # CONFIG_DEBUG_KERNEL is not set |
1443 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1496 | # CONFIG_DEBUG_BUGVERBOSE is not set |
1497 | # CONFIG_SAMPLES is not set | ||
1444 | CONFIG_DEBUG_MMRS=y | 1498 | CONFIG_DEBUG_MMRS=y |
1445 | CONFIG_DEBUG_HUNT_FOR_ZERO=y | 1499 | CONFIG_DEBUG_HUNT_FOR_ZERO=y |
1446 | CONFIG_DEBUG_BFIN_HWTRACE_ON=y | 1500 | CONFIG_DEBUG_BFIN_HWTRACE_ON=y |
@@ -1460,11 +1514,8 @@ CONFIG_ACCESS_CHECK=y | |||
1460 | # CONFIG_KEYS is not set | 1514 | # CONFIG_KEYS is not set |
1461 | CONFIG_SECURITY=y | 1515 | CONFIG_SECURITY=y |
1462 | # CONFIG_SECURITY_NETWORK is not set | 1516 | # CONFIG_SECURITY_NETWORK is not set |
1463 | CONFIG_SECURITY_CAPABILITIES=m | 1517 | # CONFIG_SECURITY_CAPABILITIES is not set |
1464 | 1518 | # CONFIG_SECURITY_ROOTPLUG is not set | |
1465 | # | ||
1466 | # Cryptographic options | ||
1467 | # | ||
1468 | # CONFIG_CRYPTO is not set | 1519 | # CONFIG_CRYPTO is not set |
1469 | 1520 | ||
1470 | # | 1521 | # |
@@ -1475,6 +1526,7 @@ CONFIG_CRC_CCITT=m | |||
1475 | # CONFIG_CRC16 is not set | 1526 | # CONFIG_CRC16 is not set |
1476 | # CONFIG_CRC_ITU_T is not set | 1527 | # CONFIG_CRC_ITU_T is not set |
1477 | CONFIG_CRC32=y | 1528 | CONFIG_CRC32=y |
1529 | # CONFIG_CRC7 is not set | ||
1478 | # CONFIG_LIBCRC32C is not set | 1530 | # CONFIG_LIBCRC32C is not set |
1479 | CONFIG_ZLIB_INFLATE=y | 1531 | CONFIG_ZLIB_INFLATE=y |
1480 | CONFIG_ZLIB_DEFLATE=m | 1532 | CONFIG_ZLIB_DEFLATE=m |
diff --git a/arch/blackfin/configs/IP0X_defconfig b/arch/blackfin/configs/IP0X_defconfig index 5f6ff04a86c3..4384a670a8b8 100644 --- a/arch/blackfin/configs/IP0X_defconfig +++ b/arch/blackfin/configs/IP0X_defconfig | |||
@@ -212,7 +212,7 @@ CONFIG_HZ=250 | |||
212 | # | 212 | # |
213 | # Memory Setup | 213 | # Memory Setup |
214 | # | 214 | # |
215 | CONFIG_MEM_SIZE=64 | 215 | CONFIG_MAX_MEM_SIZE=64 |
216 | CONFIG_MEM_ADD_WIDTH=10 | 216 | CONFIG_MEM_ADD_WIDTH=10 |
217 | 217 | ||
218 | # | 218 | # |
diff --git a/arch/blackfin/kernel/bfin_dma_5xx.c b/arch/blackfin/kernel/bfin_dma_5xx.c index fd5448d6107c..d54f19085f37 100644 --- a/arch/blackfin/kernel/bfin_dma_5xx.c +++ b/arch/blackfin/kernel/bfin_dma_5xx.c | |||
@@ -90,6 +90,17 @@ int request_dma(unsigned int channel, char *device_id) | |||
90 | { | 90 | { |
91 | 91 | ||
92 | pr_debug("request_dma() : BEGIN \n"); | 92 | pr_debug("request_dma() : BEGIN \n"); |
93 | |||
94 | #if defined(CONFIG_BF561) && ANOMALY_05000182 | ||
95 | if (channel >= CH_IMEM_STREAM0_DEST && channel <= CH_IMEM_STREAM1_DEST) { | ||
96 | if (get_cclk() > 500000000) { | ||
97 | printk(KERN_WARNING | ||
98 | "Request IMDMA failed due to ANOMALY 05000182\n"); | ||
99 | return -EFAULT; | ||
100 | } | ||
101 | } | ||
102 | #endif | ||
103 | |||
93 | mutex_lock(&(dma_ch[channel].dmalock)); | 104 | mutex_lock(&(dma_ch[channel].dmalock)); |
94 | 105 | ||
95 | if ((dma_ch[channel].chan_status == DMA_CHANNEL_REQUESTED) | 106 | if ((dma_ch[channel].chan_status == DMA_CHANNEL_REQUESTED) |
diff --git a/arch/blackfin/kernel/bfin_gpio.c b/arch/blackfin/kernel/bfin_gpio.c index 7e8eaf4a31bb..b6d89d1644cc 100644 --- a/arch/blackfin/kernel/bfin_gpio.c +++ b/arch/blackfin/kernel/bfin_gpio.c | |||
@@ -1130,6 +1130,25 @@ void bfin_gpio_irq_prepare(unsigned gpio) | |||
1130 | 1130 | ||
1131 | #else | 1131 | #else |
1132 | 1132 | ||
1133 | int gpio_get_value(unsigned gpio) | ||
1134 | { | ||
1135 | unsigned long flags; | ||
1136 | int ret; | ||
1137 | |||
1138 | if (unlikely(get_gpio_edge(gpio))) { | ||
1139 | local_irq_save(flags); | ||
1140 | set_gpio_edge(gpio, 0); | ||
1141 | ret = get_gpio_data(gpio); | ||
1142 | set_gpio_edge(gpio, 1); | ||
1143 | local_irq_restore(flags); | ||
1144 | |||
1145 | return ret; | ||
1146 | } else | ||
1147 | return get_gpio_data(gpio); | ||
1148 | } | ||
1149 | EXPORT_SYMBOL(gpio_get_value); | ||
1150 | |||
1151 | |||
1133 | int gpio_direction_input(unsigned gpio) | 1152 | int gpio_direction_input(unsigned gpio) |
1134 | { | 1153 | { |
1135 | unsigned long flags; | 1154 | unsigned long flags; |
diff --git a/arch/blackfin/kernel/bfin_ksyms.c b/arch/blackfin/kernel/bfin_ksyms.c index 053edff6c0d8..4367330909b2 100644 --- a/arch/blackfin/kernel/bfin_ksyms.c +++ b/arch/blackfin/kernel/bfin_ksyms.c | |||
@@ -90,7 +90,9 @@ EXPORT_SYMBOL(__umodsi3); | |||
90 | EXPORT_SYMBOL(outsb); | 90 | EXPORT_SYMBOL(outsb); |
91 | EXPORT_SYMBOL(insb); | 91 | EXPORT_SYMBOL(insb); |
92 | EXPORT_SYMBOL(outsw); | 92 | EXPORT_SYMBOL(outsw); |
93 | EXPORT_SYMBOL(outsw_8); | ||
93 | EXPORT_SYMBOL(insw); | 94 | EXPORT_SYMBOL(insw); |
95 | EXPORT_SYMBOL(insw_8); | ||
94 | EXPORT_SYMBOL(outsl); | 96 | EXPORT_SYMBOL(outsl); |
95 | EXPORT_SYMBOL(insl); | 97 | EXPORT_SYMBOL(insl); |
96 | EXPORT_SYMBOL(insl_16); | 98 | EXPORT_SYMBOL(insl_16); |
diff --git a/arch/blackfin/kernel/init_task.c b/arch/blackfin/kernel/init_task.c index c640154030e2..6bdba7b21109 100644 --- a/arch/blackfin/kernel/init_task.c +++ b/arch/blackfin/kernel/init_task.c | |||
@@ -34,7 +34,6 @@ | |||
34 | #include <linux/fs.h> | 34 | #include <linux/fs.h> |
35 | 35 | ||
36 | static struct fs_struct init_fs = INIT_FS; | 36 | static struct fs_struct init_fs = INIT_FS; |
37 | static struct files_struct init_files = INIT_FILES; | ||
38 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 37 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
39 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 38 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
40 | 39 | ||
diff --git a/arch/blackfin/kernel/traps.c b/arch/blackfin/kernel/traps.c index 5b847070dae5..7bfbd958980c 100644 --- a/arch/blackfin/kernel/traps.c +++ b/arch/blackfin/kernel/traps.c | |||
@@ -364,13 +364,13 @@ asmlinkage void trap_c(struct pt_regs *fp) | |||
364 | /* 0x27 - Data CPLB Multiple Hits - Linux Trap Zero, handled here */ | 364 | /* 0x27 - Data CPLB Multiple Hits - Linux Trap Zero, handled here */ |
365 | case VEC_CPLB_MHIT: | 365 | case VEC_CPLB_MHIT: |
366 | info.si_code = ILL_CPLB_MULHIT; | 366 | info.si_code = ILL_CPLB_MULHIT; |
367 | #ifdef CONFIG_DEBUG_HUNT_FOR_ZERO | ||
368 | sig = SIGSEGV; | 367 | sig = SIGSEGV; |
369 | printk(KERN_NOTICE "NULL pointer access (probably)\n"); | 368 | #ifdef CONFIG_DEBUG_HUNT_FOR_ZERO |
370 | #else | 369 | if (saved_dcplb_fault_addr < (void *)FIXED_CODE_START) |
371 | sig = SIGILL; | 370 | printk(KERN_NOTICE "NULL pointer access\n"); |
372 | printk(KERN_NOTICE EXC_0x27(KERN_NOTICE)); | 371 | else |
373 | #endif | 372 | #endif |
373 | printk(KERN_NOTICE EXC_0x27(KERN_NOTICE)); | ||
374 | CHK_DEBUGGER_TRAP(); | 374 | CHK_DEBUGGER_TRAP(); |
375 | break; | 375 | break; |
376 | /* 0x28 - Emulation Watchpoint, handled here */ | 376 | /* 0x28 - Emulation Watchpoint, handled here */ |
@@ -419,13 +419,13 @@ asmlinkage void trap_c(struct pt_regs *fp) | |||
419 | /* 0x2D - Instruction CPLB Multiple Hits, handled here */ | 419 | /* 0x2D - Instruction CPLB Multiple Hits, handled here */ |
420 | case VEC_CPLB_I_MHIT: | 420 | case VEC_CPLB_I_MHIT: |
421 | info.si_code = ILL_CPLB_MULHIT; | 421 | info.si_code = ILL_CPLB_MULHIT; |
422 | #ifdef CONFIG_DEBUG_HUNT_FOR_ZERO | ||
423 | sig = SIGSEGV; | 422 | sig = SIGSEGV; |
424 | printk(KERN_NOTICE "Jump to address 0 - 0x0fff\n"); | 423 | #ifdef CONFIG_DEBUG_HUNT_FOR_ZERO |
425 | #else | 424 | if (saved_icplb_fault_addr < (void *)FIXED_CODE_START) |
426 | sig = SIGILL; | 425 | printk(KERN_NOTICE "Jump to NULL address\n"); |
427 | printk(KERN_NOTICE EXC_0x2D(KERN_NOTICE)); | 426 | else |
428 | #endif | 427 | #endif |
428 | printk(KERN_NOTICE EXC_0x2D(KERN_NOTICE)); | ||
429 | CHK_DEBUGGER_TRAP(); | 429 | CHK_DEBUGGER_TRAP(); |
430 | break; | 430 | break; |
431 | /* 0x2E - Illegal use of Supervisor Resource, handled here */ | 431 | /* 0x2E - Illegal use of Supervisor Resource, handled here */ |
diff --git a/arch/blackfin/lib/checksum.c b/arch/blackfin/lib/checksum.c index 42768e0c80ca..5c87505165d3 100644 --- a/arch/blackfin/lib/checksum.c +++ b/arch/blackfin/lib/checksum.c | |||
@@ -72,9 +72,9 @@ static unsigned short do_csum(const unsigned char *buff, int len) | |||
72 | * This is a version of ip_compute_csum() optimized for IP headers, | 72 | * This is a version of ip_compute_csum() optimized for IP headers, |
73 | * which always checksum on 4 octet boundaries. | 73 | * which always checksum on 4 octet boundaries. |
74 | */ | 74 | */ |
75 | unsigned short ip_fast_csum(unsigned char *iph, unsigned int ihl) | 75 | __sum16 ip_fast_csum(unsigned char *iph, unsigned int ihl) |
76 | { | 76 | { |
77 | return ~do_csum(iph, ihl * 4); | 77 | return (__force __sum16)~do_csum(iph, ihl * 4); |
78 | } | 78 | } |
79 | 79 | ||
80 | /* | 80 | /* |
@@ -89,7 +89,7 @@ unsigned short ip_fast_csum(unsigned char *iph, unsigned int ihl) | |||
89 | * | 89 | * |
90 | * it's best to have buff aligned on a 32-bit boundary | 90 | * it's best to have buff aligned on a 32-bit boundary |
91 | */ | 91 | */ |
92 | unsigned int csum_partial(const unsigned char *buff, int len, unsigned int sum) | 92 | __wsum csum_partial(const void *buff, int len, __wsum sum) |
93 | { | 93 | { |
94 | /* | 94 | /* |
95 | * Just in case we get nasty checksum data... | 95 | * Just in case we get nasty checksum data... |
@@ -109,22 +109,22 @@ unsigned int csum_partial(const unsigned char *buff, int len, unsigned int sum) | |||
109 | * this routine is used for miscellaneous IP-like checksums, mainly | 109 | * this routine is used for miscellaneous IP-like checksums, mainly |
110 | * in icmp.c | 110 | * in icmp.c |
111 | */ | 111 | */ |
112 | unsigned short ip_compute_csum(const unsigned char *buff, int len) | 112 | __sum16 ip_compute_csum(const void *buff, int len) |
113 | { | 113 | { |
114 | return ~do_csum(buff, len); | 114 | return (__force __sum16)~do_csum(buff, len); |
115 | } | 115 | } |
116 | 116 | ||
117 | /* | 117 | /* |
118 | * copy from fs while checksumming, otherwise like csum_partial | 118 | * copy from fs while checksumming, otherwise like csum_partial |
119 | */ | 119 | */ |
120 | 120 | ||
121 | unsigned int | 121 | __wsum |
122 | csum_partial_copy_from_user(const unsigned char *src, unsigned char *dst, | 122 | csum_partial_copy_from_user(const void __user *src, void *dst, |
123 | int len, int sum, int *csum_err) | 123 | int len, __wsum sum, int *csum_err) |
124 | { | 124 | { |
125 | if (csum_err) | 125 | if (csum_err) |
126 | *csum_err = 0; | 126 | *csum_err = 0; |
127 | memcpy(dst, src, len); | 127 | memcpy(dst, (__force void *)src, len); |
128 | return csum_partial(dst, len, sum); | 128 | return csum_partial(dst, len, sum); |
129 | } | 129 | } |
130 | 130 | ||
@@ -132,8 +132,7 @@ csum_partial_copy_from_user(const unsigned char *src, unsigned char *dst, | |||
132 | * copy from ds while checksumming, otherwise like csum_partial | 132 | * copy from ds while checksumming, otherwise like csum_partial |
133 | */ | 133 | */ |
134 | 134 | ||
135 | unsigned int csum_partial_copy(const unsigned char *src, unsigned char *dst, | 135 | __wsum csum_partial_copy(const void *src, void *dst, int len, __wsum sum) |
136 | int len, int sum) | ||
137 | { | 136 | { |
138 | memcpy(dst, src, len); | 137 | memcpy(dst, src, len); |
139 | return csum_partial(dst, len, sum); | 138 | return csum_partial(dst, len, sum); |
diff --git a/arch/blackfin/lib/ins.S b/arch/blackfin/lib/ins.S index df7b8833a0c5..eba2343b1b59 100644 --- a/arch/blackfin/lib/ins.S +++ b/arch/blackfin/lib/ins.S | |||
@@ -7,7 +7,7 @@ | |||
7 | * Description: Implementation of ins{bwl} for BlackFin processors using zero overhead loops. | 7 | * Description: Implementation of ins{bwl} for BlackFin processors using zero overhead loops. |
8 | * | 8 | * |
9 | * Modified: | 9 | * Modified: |
10 | * Copyright 2004-2006 Analog Devices Inc. | 10 | * Copyright 2004-2008 Analog Devices Inc. |
11 | * Copyright (C) 2005 Bas Vermeulen, BuyWays BV <bas@buyways.nl> | 11 | * Copyright (C) 2005 Bas Vermeulen, BuyWays BV <bas@buyways.nl> |
12 | * | 12 | * |
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | 13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ |
@@ -63,6 +63,23 @@ ENTRY(_insw) | |||
63 | RTS; | 63 | RTS; |
64 | ENDPROC(_insw) | 64 | ENDPROC(_insw) |
65 | 65 | ||
66 | ENTRY(_insw_8) | ||
67 | P0 = R0; /* P0 = port */ | ||
68 | cli R3; | ||
69 | P1 = R1; /* P1 = address */ | ||
70 | P2 = R2; /* P2 = count */ | ||
71 | SSYNC; | ||
72 | LSETUP( .Lword8_loop_s, .Lword8_loop_e) LC0 = P2; | ||
73 | .Lword8_loop_s: R0 = W[P0]; | ||
74 | B[P1++] = R0; | ||
75 | R0 = R0 >> 8; | ||
76 | B[P1++] = R0; | ||
77 | NOP; | ||
78 | .Lword8_loop_e: NOP; | ||
79 | sti R3; | ||
80 | RTS; | ||
81 | ENDPROC(_insw_8) | ||
82 | |||
66 | ENTRY(_insb) | 83 | ENTRY(_insb) |
67 | P0 = R0; /* P0 = port */ | 84 | P0 = R0; /* P0 = port */ |
68 | cli R3; | 85 | cli R3; |
@@ -78,8 +95,6 @@ ENTRY(_insb) | |||
78 | RTS; | 95 | RTS; |
79 | ENDPROC(_insb) | 96 | ENDPROC(_insb) |
80 | 97 | ||
81 | |||
82 | |||
83 | ENTRY(_insl_16) | 98 | ENTRY(_insl_16) |
84 | P0 = R0; /* P0 = port */ | 99 | P0 = R0; /* P0 = port */ |
85 | cli R3; | 100 | cli R3; |
diff --git a/arch/blackfin/lib/outs.S b/arch/blackfin/lib/outs.S index 4c3da8ae094e..3daf96035bf6 100644 --- a/arch/blackfin/lib/outs.S +++ b/arch/blackfin/lib/outs.S | |||
@@ -7,7 +7,7 @@ | |||
7 | * Description: Implementation of outs{bwl} for BlackFin processors using zero overhead loops. | 7 | * Description: Implementation of outs{bwl} for BlackFin processors using zero overhead loops. |
8 | * | 8 | * |
9 | * Modified: Copyright (C) 2005 Bas Vermeulen, BuyWays BV <bas@buyways.nl> | 9 | * Modified: Copyright (C) 2005 Bas Vermeulen, BuyWays BV <bas@buyways.nl> |
10 | * Copyright 2004-2006 Analog Devices Inc. | 10 | * Copyright 2004-2008 Analog Devices Inc. |
11 | * | 11 | * |
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | 12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ |
13 | * | 13 | * |
@@ -63,3 +63,17 @@ ENTRY(_outsb) | |||
63 | .Lbyte_loop_e: B[P0] = R0; | 63 | .Lbyte_loop_e: B[P0] = R0; |
64 | RTS; | 64 | RTS; |
65 | ENDPROC(_outsb) | 65 | ENDPROC(_outsb) |
66 | |||
67 | ENTRY(_outsw_8) | ||
68 | P0 = R0; /* P0 = port */ | ||
69 | P1 = R1; /* P1 = address */ | ||
70 | P2 = R2; /* P2 = count */ | ||
71 | |||
72 | LSETUP( .Lword8_loop_s, .Lword8_loop_e) LC0 = P2; | ||
73 | .Lword8_loop_s: R1 = B[P1++]; | ||
74 | R0 = B[P1++]; | ||
75 | R0 = R0 << 8; | ||
76 | R0 = R0 + R1; | ||
77 | .Lword8_loop_e: W[P0] = R0; | ||
78 | RTS; | ||
79 | ENDPROC(_outsw) | ||
diff --git a/arch/blackfin/mach-bf527/boards/ezkit.c b/arch/blackfin/mach-bf527/boards/ezkit.c index 8aa49f804228..bb6d58c931de 100644 --- a/arch/blackfin/mach-bf527/boards/ezkit.c +++ b/arch/blackfin/mach-bf527/boards/ezkit.c | |||
@@ -799,13 +799,11 @@ static struct i2c_board_info __initdata bfin_i2c_board_info[] = { | |||
799 | #if defined(CONFIG_TWI_LCD) || defined(CONFIG_TWI_LCD_MODULE) | 799 | #if defined(CONFIG_TWI_LCD) || defined(CONFIG_TWI_LCD_MODULE) |
800 | { | 800 | { |
801 | I2C_BOARD_INFO("pcf8574_lcd", 0x22), | 801 | I2C_BOARD_INFO("pcf8574_lcd", 0x22), |
802 | .type = "pcf8574_lcd", | ||
803 | }, | 802 | }, |
804 | #endif | 803 | #endif |
805 | #if defined(CONFIG_TWI_KEYPAD) || defined(CONFIG_TWI_KEYPAD_MODULE) | 804 | #if defined(CONFIG_TWI_KEYPAD) || defined(CONFIG_TWI_KEYPAD_MODULE) |
806 | { | 805 | { |
807 | I2C_BOARD_INFO("pcf8574_keypad", 0x27), | 806 | I2C_BOARD_INFO("pcf8574_keypad", 0x27), |
808 | .type = "pcf8574_keypad", | ||
809 | .irq = IRQ_PF8, | 807 | .irq = IRQ_PF8, |
810 | }, | 808 | }, |
811 | #endif | 809 | #endif |
diff --git a/arch/blackfin/mach-bf533/boards/stamp.c b/arch/blackfin/mach-bf533/boards/stamp.c index 7fd35fb32fd5..ec05b236dc3f 100644 --- a/arch/blackfin/mach-bf533/boards/stamp.c +++ b/arch/blackfin/mach-bf533/boards/stamp.c | |||
@@ -111,7 +111,7 @@ static struct platform_device net2272_bfin_device = { | |||
111 | }; | 111 | }; |
112 | #endif | 112 | #endif |
113 | 113 | ||
114 | #if defined(CONFIG_MTD_BF5xx) || defined(CONFIG_MTD_BF5xx_MODULE) | 114 | #if defined(CONFIG_MTD_BFIN_ASYNC) || defined(CONFIG_MTD_BFIN_ASYNC_MODULE) |
115 | static struct mtd_partition stamp_partitions[] = { | 115 | static struct mtd_partition stamp_partitions[] = { |
116 | { | 116 | { |
117 | .name = "Bootloader", | 117 | .name = "Bootloader", |
@@ -141,13 +141,17 @@ static struct resource stamp_flash_resource[] = { | |||
141 | .end = 0x203fffff, | 141 | .end = 0x203fffff, |
142 | .flags = IORESOURCE_MEM, | 142 | .flags = IORESOURCE_MEM, |
143 | }, { | 143 | }, { |
144 | .start = CONFIG_ENET_FLASH_PIN, | 144 | .start = 0x7BB07BB0, /* AMBCTL0 setting when accessing flash */ |
145 | .end = 0x7BB07BB0, /* AMBCTL1 setting when accessing flash */ | ||
146 | .flags = IORESOURCE_MEM, | ||
147 | }, { | ||
148 | .start = GPIO_PF0, | ||
145 | .flags = IORESOURCE_IRQ, | 149 | .flags = IORESOURCE_IRQ, |
146 | } | 150 | } |
147 | }; | 151 | }; |
148 | 152 | ||
149 | static struct platform_device stamp_flash_device = { | 153 | static struct platform_device stamp_flash_device = { |
150 | .name = "BF5xx-Flash", | 154 | .name = "bfin-async-flash", |
151 | .id = 0, | 155 | .id = 0, |
152 | .dev = { | 156 | .dev = { |
153 | .platform_data = &stamp_flash_data, | 157 | .platform_data = &stamp_flash_data, |
@@ -595,7 +599,7 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
595 | 599 | ||
596 | &bfin_gpios_device, | 600 | &bfin_gpios_device, |
597 | 601 | ||
598 | #if defined(CONFIG_MTD_BF5xx) || defined(CONFIG_MTD_BF5xx_MODULE) | 602 | #if defined(CONFIG_MTD_BFIN_ASYNC) || defined(CONFIG_MTD_BFIN_ASYNC_MODULE) |
599 | &stamp_flash_device, | 603 | &stamp_flash_device, |
600 | #endif | 604 | #endif |
601 | }; | 605 | }; |
@@ -617,8 +621,8 @@ static int __init stamp_init(void) | |||
617 | 621 | ||
618 | #if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE) | 622 | #if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE) |
619 | /* setup BF533_STAMP CPLD to route AMS3 to Ethernet MAC */ | 623 | /* setup BF533_STAMP CPLD to route AMS3 to Ethernet MAC */ |
620 | bfin_write_FIO_DIR(bfin_read_FIO_DIR() | (1 << CONFIG_ENET_FLASH_PIN)); | 624 | bfin_write_FIO_DIR(bfin_read_FIO_DIR() | PF0); |
621 | bfin_write_FIO_FLAG_S(1 << CONFIG_ENET_FLASH_PIN); | 625 | bfin_write_FIO_FLAG_S(PF0); |
622 | SSYNC(); | 626 | SSYNC(); |
623 | #endif | 627 | #endif |
624 | 628 | ||
@@ -636,8 +640,8 @@ arch_initcall(stamp_init); | |||
636 | 640 | ||
637 | void native_machine_restart(char *cmd) | 641 | void native_machine_restart(char *cmd) |
638 | { | 642 | { |
639 | #define BIT_TO_SET (1 << CONFIG_ENET_FLASH_PIN) | 643 | /* workaround pull up on cpld / flash pin not being strong enough */ |
640 | bfin_write_FIO_INEN(~BIT_TO_SET); | 644 | bfin_write_FIO_INEN(~PF0); |
641 | bfin_write_FIO_DIR(BIT_TO_SET); | 645 | bfin_write_FIO_DIR(PF0); |
642 | bfin_write_FIO_FLAG_C(BIT_TO_SET); | 646 | bfin_write_FIO_FLAG_C(PF0); |
643 | } | 647 | } |
diff --git a/arch/cris/kernel/process.c b/arch/cris/kernel/process.c index ef2db8fd102a..5933656db5a2 100644 --- a/arch/cris/kernel/process.c +++ b/arch/cris/kernel/process.c | |||
@@ -38,7 +38,6 @@ | |||
38 | */ | 38 | */ |
39 | 39 | ||
40 | static struct fs_struct init_fs = INIT_FS; | 40 | static struct fs_struct init_fs = INIT_FS; |
41 | static struct files_struct init_files = INIT_FILES; | ||
42 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 41 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
43 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 42 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
44 | struct mm_struct init_mm = INIT_MM(init_mm); | 43 | struct mm_struct init_mm = INIT_MM(init_mm); |
diff --git a/arch/frv/kernel/init_task.c b/arch/frv/kernel/init_task.c index 22993932b3fc..e2198815b630 100644 --- a/arch/frv/kernel/init_task.c +++ b/arch/frv/kernel/init_task.c | |||
@@ -11,7 +11,6 @@ | |||
11 | 11 | ||
12 | 12 | ||
13 | static struct fs_struct init_fs = INIT_FS; | 13 | static struct fs_struct init_fs = INIT_FS; |
14 | static struct files_struct init_files = INIT_FILES; | ||
15 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 14 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
16 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 15 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
17 | struct mm_struct init_mm = INIT_MM(init_mm); | 16 | struct mm_struct init_mm = INIT_MM(init_mm); |
diff --git a/arch/h8300/kernel/init_task.c b/arch/h8300/kernel/init_task.c index 19272c2ac56a..93a4899e46c2 100644 --- a/arch/h8300/kernel/init_task.c +++ b/arch/h8300/kernel/init_task.c | |||
@@ -13,7 +13,6 @@ | |||
13 | #include <asm/pgtable.h> | 13 | #include <asm/pgtable.h> |
14 | 14 | ||
15 | static struct fs_struct init_fs = INIT_FS; | 15 | static struct fs_struct init_fs = INIT_FS; |
16 | static struct files_struct init_files = INIT_FILES; | ||
17 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 16 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
18 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 17 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
19 | struct mm_struct init_mm = INIT_MM(init_mm); | 18 | struct mm_struct init_mm = INIT_MM(init_mm); |
diff --git a/arch/ia64/kernel/init_task.c b/arch/ia64/kernel/init_task.c index bc8efcad28b8..9d7e1c66faf4 100644 --- a/arch/ia64/kernel/init_task.c +++ b/arch/ia64/kernel/init_task.c | |||
@@ -18,7 +18,6 @@ | |||
18 | #include <asm/pgtable.h> | 18 | #include <asm/pgtable.h> |
19 | 19 | ||
20 | static struct fs_struct init_fs = INIT_FS; | 20 | static struct fs_struct init_fs = INIT_FS; |
21 | static struct files_struct init_files = INIT_FILES; | ||
22 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 21 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
23 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 22 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
24 | struct mm_struct init_mm = INIT_MM(init_mm); | 23 | struct mm_struct init_mm = INIT_MM(init_mm); |
diff --git a/arch/ia64/kvm/Makefile b/arch/ia64/kvm/Makefile index 52353397a1a4..112791dd2542 100644 --- a/arch/ia64/kvm/Makefile +++ b/arch/ia64/kvm/Makefile | |||
@@ -7,7 +7,6 @@ offsets-file := asm-offsets.h | |||
7 | always := $(offsets-file) | 7 | always := $(offsets-file) |
8 | targets := $(offsets-file) | 8 | targets := $(offsets-file) |
9 | targets += arch/ia64/kvm/asm-offsets.s | 9 | targets += arch/ia64/kvm/asm-offsets.s |
10 | clean-files := $(addprefix $(objtree)/,$(targets) $(obj)/memcpy.S $(obj)/memset.S) | ||
11 | 10 | ||
12 | # Default sed regexp - multiline due to syntax constraints | 11 | # Default sed regexp - multiline due to syntax constraints |
13 | define sed-y | 12 | define sed-y |
@@ -54,5 +53,5 @@ EXTRA_CFLAGS_vcpu.o += -mfixed-range=f2-f5,f12-f127 | |||
54 | kvm-intel-objs = vmm.o vmm_ivt.o trampoline.o vcpu.o optvfault.o mmio.o \ | 53 | kvm-intel-objs = vmm.o vmm_ivt.o trampoline.o vcpu.o optvfault.o mmio.o \ |
55 | vtlb.o process.o | 54 | vtlb.o process.o |
56 | #Add link memcpy and memset to avoid possible structure assignment error | 55 | #Add link memcpy and memset to avoid possible structure assignment error |
57 | kvm-intel-objs += ../lib/memset.o ../lib/memcpy.o | 56 | kvm-intel-objs += memcpy.o memset.o |
58 | obj-$(CONFIG_KVM_INTEL) += kvm-intel.o | 57 | obj-$(CONFIG_KVM_INTEL) += kvm-intel.o |
diff --git a/arch/ia64/kvm/memcpy.S b/arch/ia64/kvm/memcpy.S new file mode 100644 index 000000000000..c04cdbe9f80f --- /dev/null +++ b/arch/ia64/kvm/memcpy.S | |||
@@ -0,0 +1 @@ | |||
#include "../lib/memcpy.S" | |||
diff --git a/arch/ia64/kvm/memset.S b/arch/ia64/kvm/memset.S new file mode 100644 index 000000000000..83c3066d844a --- /dev/null +++ b/arch/ia64/kvm/memset.S | |||
@@ -0,0 +1 @@ | |||
#include "../lib/memset.S" | |||
diff --git a/arch/m32r/kernel/init_task.c b/arch/m32r/kernel/init_task.c index 9e508fd9d970..0d658dbb6766 100644 --- a/arch/m32r/kernel/init_task.c +++ b/arch/m32r/kernel/init_task.c | |||
@@ -12,7 +12,6 @@ | |||
12 | #include <asm/pgtable.h> | 12 | #include <asm/pgtable.h> |
13 | 13 | ||
14 | static struct fs_struct init_fs = INIT_FS; | 14 | static struct fs_struct init_fs = INIT_FS; |
15 | static struct files_struct init_files = INIT_FILES; | ||
16 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 15 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
17 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 16 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
18 | struct mm_struct init_mm = INIT_MM(init_mm); | 17 | struct mm_struct init_mm = INIT_MM(init_mm); |
diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig index 65db2261b9ea..55ea52fe6aca 100644 --- a/arch/m68k/Kconfig +++ b/arch/m68k/Kconfig | |||
@@ -44,7 +44,7 @@ config GENERIC_IOMAP | |||
44 | 44 | ||
45 | config ARCH_MAY_HAVE_PC_FDC | 45 | config ARCH_MAY_HAVE_PC_FDC |
46 | bool | 46 | bool |
47 | depends on Q40 || (BROKEN && SUN3X) | 47 | depends on BROKEN && (Q40 || SUN3X) |
48 | default y | 48 | default y |
49 | 49 | ||
50 | config NO_IOPORT | 50 | config NO_IOPORT |
@@ -539,13 +539,6 @@ config AMIGA_BUILTIN_SERIAL | |||
539 | 539 | ||
540 | To compile this driver as a module, choose M here. | 540 | To compile this driver as a module, choose M here. |
541 | 541 | ||
542 | config WHIPPET_SERIAL | ||
543 | tristate "Hisoft Whippet PCMCIA serial support" | ||
544 | depends on AMIGA_PCMCIA | ||
545 | help | ||
546 | HiSoft has a web page at <http://www.hisoft.co.uk/>, but there | ||
547 | is no listing for the Whippet in their Amiga section. | ||
548 | |||
549 | config MULTIFACE_III_TTY | 542 | config MULTIFACE_III_TTY |
550 | tristate "Multiface Card III serial support" | 543 | tristate "Multiface Card III serial support" |
551 | depends on AMIGA | 544 | depends on AMIGA |
diff --git a/arch/m68k/configs/amiga_defconfig b/arch/m68k/configs/amiga_defconfig index e41958371367..dca50da9ffd0 100644 --- a/arch/m68k/configs/amiga_defconfig +++ b/arch/m68k/configs/amiga_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.25-rc8 | 3 | # Linux kernel version: 2.6.26-rc2 |
4 | # Wed Apr 2 20:46:06 2008 | 4 | # Sun May 18 14:44:41 2008 |
5 | # | 5 | # |
6 | CONFIG_M68K=y | 6 | CONFIG_M68K=y |
7 | CONFIG_MMU=y | 7 | CONFIG_MMU=y |
@@ -52,6 +52,7 @@ CONFIG_SYSCTL=y | |||
52 | # CONFIG_EMBEDDED is not set | 52 | # CONFIG_EMBEDDED is not set |
53 | CONFIG_UID16=y | 53 | CONFIG_UID16=y |
54 | CONFIG_SYSCTL_SYSCALL=y | 54 | CONFIG_SYSCTL_SYSCALL=y |
55 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
55 | CONFIG_KALLSYMS=y | 56 | CONFIG_KALLSYMS=y |
56 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 57 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
57 | CONFIG_HOTPLUG=y | 58 | CONFIG_HOTPLUG=y |
@@ -76,12 +77,14 @@ CONFIG_SLAB=y | |||
76 | # CONFIG_HAVE_OPROFILE is not set | 77 | # CONFIG_HAVE_OPROFILE is not set |
77 | # CONFIG_HAVE_KPROBES is not set | 78 | # CONFIG_HAVE_KPROBES is not set |
78 | # CONFIG_HAVE_KRETPROBES is not set | 79 | # CONFIG_HAVE_KRETPROBES is not set |
80 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
79 | CONFIG_PROC_PAGE_MONITOR=y | 81 | CONFIG_PROC_PAGE_MONITOR=y |
80 | CONFIG_SLABINFO=y | 82 | CONFIG_SLABINFO=y |
81 | CONFIG_RT_MUTEXES=y | 83 | CONFIG_RT_MUTEXES=y |
82 | # CONFIG_TINY_SHMEM is not set | 84 | # CONFIG_TINY_SHMEM is not set |
83 | CONFIG_BASE_SMALL=0 | 85 | CONFIG_BASE_SMALL=0 |
84 | CONFIG_MODULES=y | 86 | CONFIG_MODULES=y |
87 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
85 | CONFIG_MODULE_UNLOAD=y | 88 | CONFIG_MODULE_UNLOAD=y |
86 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 89 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
87 | # CONFIG_MODVERSIONS is not set | 90 | # CONFIG_MODVERSIONS is not set |
@@ -141,6 +144,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y | |||
141 | CONFIG_NEED_MULTIPLE_NODES=y | 144 | CONFIG_NEED_MULTIPLE_NODES=y |
142 | # CONFIG_SPARSEMEM_STATIC is not set | 145 | # CONFIG_SPARSEMEM_STATIC is not set |
143 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | 146 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set |
147 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
144 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 148 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
145 | # CONFIG_RESOURCES_64BIT is not set | 149 | # CONFIG_RESOURCES_64BIT is not set |
146 | CONFIG_ZONE_DMA_FLAG=1 | 150 | CONFIG_ZONE_DMA_FLAG=1 |
@@ -222,8 +226,10 @@ CONFIG_INET6_XFRM_MODE_TUNNEL=m | |||
222 | CONFIG_INET6_XFRM_MODE_BEET=m | 226 | CONFIG_INET6_XFRM_MODE_BEET=m |
223 | CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m | 227 | CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m |
224 | CONFIG_IPV6_SIT=m | 228 | CONFIG_IPV6_SIT=m |
229 | CONFIG_IPV6_NDISC_NODETYPE=y | ||
225 | CONFIG_IPV6_TUNNEL=m | 230 | CONFIG_IPV6_TUNNEL=m |
226 | # CONFIG_IPV6_MULTIPLE_TABLES is not set | 231 | # CONFIG_IPV6_MULTIPLE_TABLES is not set |
232 | # CONFIG_IPV6_MROUTE is not set | ||
227 | # CONFIG_NETWORK_SECMARK is not set | 233 | # CONFIG_NETWORK_SECMARK is not set |
228 | CONFIG_NETFILTER=y | 234 | CONFIG_NETFILTER=y |
229 | # CONFIG_NETFILTER_DEBUG is not set | 235 | # CONFIG_NETFILTER_DEBUG is not set |
@@ -239,6 +245,7 @@ CONFIG_NF_CONNTRACK=m | |||
239 | CONFIG_NF_CT_ACCT=y | 245 | CONFIG_NF_CT_ACCT=y |
240 | CONFIG_NF_CONNTRACK_MARK=y | 246 | CONFIG_NF_CONNTRACK_MARK=y |
241 | # CONFIG_NF_CONNTRACK_EVENTS is not set | 247 | # CONFIG_NF_CONNTRACK_EVENTS is not set |
248 | # CONFIG_NF_CT_PROTO_DCCP is not set | ||
242 | CONFIG_NF_CT_PROTO_GRE=m | 249 | CONFIG_NF_CT_PROTO_GRE=m |
243 | CONFIG_NF_CT_PROTO_SCTP=m | 250 | CONFIG_NF_CT_PROTO_SCTP=m |
244 | CONFIG_NF_CT_PROTO_UDPLITE=m | 251 | CONFIG_NF_CT_PROTO_UDPLITE=m |
@@ -317,6 +324,8 @@ CONFIG_IP_NF_TARGET_REDIRECT=m | |||
317 | CONFIG_IP_NF_TARGET_NETMAP=m | 324 | CONFIG_IP_NF_TARGET_NETMAP=m |
318 | CONFIG_NF_NAT_SNMP_BASIC=m | 325 | CONFIG_NF_NAT_SNMP_BASIC=m |
319 | CONFIG_NF_NAT_PROTO_GRE=m | 326 | CONFIG_NF_NAT_PROTO_GRE=m |
327 | CONFIG_NF_NAT_PROTO_UDPLITE=m | ||
328 | CONFIG_NF_NAT_PROTO_SCTP=m | ||
320 | CONFIG_NF_NAT_FTP=m | 329 | CONFIG_NF_NAT_FTP=m |
321 | CONFIG_NF_NAT_IRC=m | 330 | CONFIG_NF_NAT_IRC=m |
322 | CONFIG_NF_NAT_TFTP=m | 331 | CONFIG_NF_NAT_TFTP=m |
@@ -410,8 +419,6 @@ CONFIG_IEEE80211=m | |||
410 | CONFIG_IEEE80211_CRYPT_WEP=m | 419 | CONFIG_IEEE80211_CRYPT_WEP=m |
411 | CONFIG_IEEE80211_CRYPT_CCMP=m | 420 | CONFIG_IEEE80211_CRYPT_CCMP=m |
412 | CONFIG_IEEE80211_CRYPT_TKIP=m | 421 | CONFIG_IEEE80211_CRYPT_TKIP=m |
413 | CONFIG_IEEE80211_SOFTMAC=m | ||
414 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
415 | # CONFIG_RFKILL is not set | 422 | # CONFIG_RFKILL is not set |
416 | # CONFIG_NET_9P is not set | 423 | # CONFIG_NET_9P is not set |
417 | 424 | ||
@@ -477,27 +484,12 @@ CONFIG_IDE_PROC_FS=y | |||
477 | # | 484 | # |
478 | # IDE chipset support/bugfixes | 485 | # IDE chipset support/bugfixes |
479 | # | 486 | # |
480 | # CONFIG_IDE_GENERIC is not set | ||
481 | # CONFIG_BLK_DEV_PLATFORM is not set | 487 | # CONFIG_BLK_DEV_PLATFORM is not set |
482 | CONFIG_BLK_DEV_GAYLE=y | 488 | CONFIG_BLK_DEV_GAYLE=y |
483 | CONFIG_BLK_DEV_IDEDOUBLER=y | 489 | CONFIG_BLK_DEV_IDEDOUBLER=y |
484 | CONFIG_BLK_DEV_BUDDHA=y | 490 | CONFIG_BLK_DEV_BUDDHA=y |
485 | |||
486 | # | ||
487 | # Other IDE chipsets support | ||
488 | # | ||
489 | |||
490 | # | ||
491 | # Note: most of these also require special kernel boot parameters | ||
492 | # | ||
493 | # CONFIG_BLK_DEV_4DRIVES is not set | ||
494 | # CONFIG_BLK_DEV_ALI14XX is not set | ||
495 | # CONFIG_BLK_DEV_DTC2278 is not set | ||
496 | # CONFIG_BLK_DEV_HT6560B is not set | ||
497 | # CONFIG_BLK_DEV_QD65XX is not set | ||
498 | # CONFIG_BLK_DEV_UMC8672 is not set | ||
499 | # CONFIG_BLK_DEV_IDEDMA is not set | 491 | # CONFIG_BLK_DEV_IDEDMA is not set |
500 | # CONFIG_IDE_ARCH_OBSOLETE_INIT is not set | 492 | # CONFIG_BLK_DEV_HD_ONLY is not set |
501 | # CONFIG_BLK_DEV_HD is not set | 493 | # CONFIG_BLK_DEV_HD is not set |
502 | 494 | ||
503 | # | 495 | # |
@@ -626,6 +618,7 @@ CONFIG_APNE=m | |||
626 | # | 618 | # |
627 | # CONFIG_WLAN_PRE80211 is not set | 619 | # CONFIG_WLAN_PRE80211 is not set |
628 | # CONFIG_WLAN_80211 is not set | 620 | # CONFIG_WLAN_80211 is not set |
621 | # CONFIG_IWLWIFI_LEDS is not set | ||
629 | # CONFIG_WAN is not set | 622 | # CONFIG_WAN is not set |
630 | # CONFIG_PLIP is not set | 623 | # CONFIG_PLIP is not set |
631 | CONFIG_PPP=m | 624 | CONFIG_PPP=m |
@@ -707,6 +700,7 @@ CONFIG_INPUT_JOYSTICK=y | |||
707 | # CONFIG_JOYSTICK_SPACEBALL is not set | 700 | # CONFIG_JOYSTICK_SPACEBALL is not set |
708 | # CONFIG_JOYSTICK_STINGER is not set | 701 | # CONFIG_JOYSTICK_STINGER is not set |
709 | # CONFIG_JOYSTICK_TWIDJOY is not set | 702 | # CONFIG_JOYSTICK_TWIDJOY is not set |
703 | # CONFIG_JOYSTICK_ZHENHUA is not set | ||
710 | # CONFIG_JOYSTICK_DB9 is not set | 704 | # CONFIG_JOYSTICK_DB9 is not set |
711 | # CONFIG_JOYSTICK_GAMECON is not set | 705 | # CONFIG_JOYSTICK_GAMECON is not set |
712 | # CONFIG_JOYSTICK_TURBOGRAFX is not set | 706 | # CONFIG_JOYSTICK_TURBOGRAFX is not set |
@@ -731,6 +725,7 @@ CONFIG_VT=y | |||
731 | CONFIG_VT_CONSOLE=y | 725 | CONFIG_VT_CONSOLE=y |
732 | CONFIG_HW_CONSOLE=y | 726 | CONFIG_HW_CONSOLE=y |
733 | CONFIG_VT_HW_CONSOLE_BINDING=y | 727 | CONFIG_VT_HW_CONSOLE_BINDING=y |
728 | # CONFIG_DEVKMEM is not set | ||
734 | # CONFIG_SERIAL_NONSTANDARD is not set | 729 | # CONFIG_SERIAL_NONSTANDARD is not set |
735 | CONFIG_A2232=m | 730 | CONFIG_A2232=m |
736 | 731 | ||
@@ -757,12 +752,7 @@ CONFIG_GEN_RTC_X=y | |||
757 | # CONFIG_RAW_DRIVER is not set | 752 | # CONFIG_RAW_DRIVER is not set |
758 | # CONFIG_TCG_TPM is not set | 753 | # CONFIG_TCG_TPM is not set |
759 | # CONFIG_I2C is not set | 754 | # CONFIG_I2C is not set |
760 | |||
761 | # | ||
762 | # SPI support | ||
763 | # | ||
764 | # CONFIG_SPI is not set | 755 | # CONFIG_SPI is not set |
765 | # CONFIG_SPI_MASTER is not set | ||
766 | # CONFIG_W1 is not set | 756 | # CONFIG_W1 is not set |
767 | # CONFIG_POWER_SUPPLY is not set | 757 | # CONFIG_POWER_SUPPLY is not set |
768 | # CONFIG_HWMON is not set | 758 | # CONFIG_HWMON is not set |
@@ -779,12 +769,22 @@ CONFIG_SSB_POSSIBLE=y | |||
779 | # Multifunction device drivers | 769 | # Multifunction device drivers |
780 | # | 770 | # |
781 | # CONFIG_MFD_SM501 is not set | 771 | # CONFIG_MFD_SM501 is not set |
772 | # CONFIG_HTC_PASIC3 is not set | ||
782 | 773 | ||
783 | # | 774 | # |
784 | # Multimedia devices | 775 | # Multimedia devices |
785 | # | 776 | # |
777 | |||
778 | # | ||
779 | # Multimedia core support | ||
780 | # | ||
786 | # CONFIG_VIDEO_DEV is not set | 781 | # CONFIG_VIDEO_DEV is not set |
787 | # CONFIG_DVB_CORE is not set | 782 | # CONFIG_DVB_CORE is not set |
783 | # CONFIG_VIDEO_MEDIA is not set | ||
784 | |||
785 | # | ||
786 | # Multimedia drivers | ||
787 | # | ||
788 | # CONFIG_DAB is not set | 788 | # CONFIG_DAB is not set |
789 | 789 | ||
790 | # | 790 | # |
@@ -802,8 +802,8 @@ CONFIG_FB_CFB_IMAGEBLIT=y | |||
802 | # CONFIG_FB_SYS_FILLRECT is not set | 802 | # CONFIG_FB_SYS_FILLRECT is not set |
803 | # CONFIG_FB_SYS_COPYAREA is not set | 803 | # CONFIG_FB_SYS_COPYAREA is not set |
804 | # CONFIG_FB_SYS_IMAGEBLIT is not set | 804 | # CONFIG_FB_SYS_IMAGEBLIT is not set |
805 | # CONFIG_FB_FOREIGN_ENDIAN is not set | ||
805 | # CONFIG_FB_SYS_FOPS is not set | 806 | # CONFIG_FB_SYS_FOPS is not set |
806 | CONFIG_FB_DEFERRED_IO=y | ||
807 | # CONFIG_FB_SVGALIB is not set | 807 | # CONFIG_FB_SVGALIB is not set |
808 | # CONFIG_FB_MACMODES is not set | 808 | # CONFIG_FB_MACMODES is not set |
809 | # CONFIG_FB_BACKLIGHT is not set | 809 | # CONFIG_FB_BACKLIGHT is not set |
@@ -859,19 +859,15 @@ CONFIG_HIDRAW=y | |||
859 | # CONFIG_MMC is not set | 859 | # CONFIG_MMC is not set |
860 | # CONFIG_MEMSTICK is not set | 860 | # CONFIG_MEMSTICK is not set |
861 | # CONFIG_NEW_LEDS is not set | 861 | # CONFIG_NEW_LEDS is not set |
862 | # CONFIG_ACCESSIBILITY is not set | ||
862 | # CONFIG_RTC_CLASS is not set | 863 | # CONFIG_RTC_CLASS is not set |
863 | # CONFIG_AUXDISPLAY is not set | 864 | # CONFIG_AUXDISPLAY is not set |
864 | |||
865 | # | ||
866 | # Userspace I/O | ||
867 | # | ||
868 | # CONFIG_UIO is not set | 865 | # CONFIG_UIO is not set |
869 | 866 | ||
870 | # | 867 | # |
871 | # Character devices | 868 | # Character devices |
872 | # | 869 | # |
873 | CONFIG_AMIGA_BUILTIN_SERIAL=y | 870 | CONFIG_AMIGA_BUILTIN_SERIAL=y |
874 | # CONFIG_WHIPPET_SERIAL is not set | ||
875 | CONFIG_MULTIFACE_III_TTY=m | 871 | CONFIG_MULTIFACE_III_TTY=m |
876 | # CONFIG_SERIAL_CONSOLE is not set | 872 | # CONFIG_SERIAL_CONSOLE is not set |
877 | 873 | ||
@@ -894,16 +890,15 @@ CONFIG_JFS_FS=m | |||
894 | # CONFIG_JFS_SECURITY is not set | 890 | # CONFIG_JFS_SECURITY is not set |
895 | # CONFIG_JFS_DEBUG is not set | 891 | # CONFIG_JFS_DEBUG is not set |
896 | # CONFIG_JFS_STATISTICS is not set | 892 | # CONFIG_JFS_STATISTICS is not set |
897 | CONFIG_FS_POSIX_ACL=y | 893 | # CONFIG_FS_POSIX_ACL is not set |
898 | CONFIG_XFS_FS=m | 894 | CONFIG_XFS_FS=m |
899 | # CONFIG_XFS_QUOTA is not set | 895 | # CONFIG_XFS_QUOTA is not set |
900 | # CONFIG_XFS_SECURITY is not set | ||
901 | # CONFIG_XFS_POSIX_ACL is not set | 896 | # CONFIG_XFS_POSIX_ACL is not set |
902 | # CONFIG_XFS_RT is not set | 897 | # CONFIG_XFS_RT is not set |
903 | CONFIG_GFS2_FS=m | 898 | # CONFIG_XFS_DEBUG is not set |
904 | CONFIG_GFS2_FS_LOCKING_NOLOCK=m | ||
905 | CONFIG_GFS2_FS_LOCKING_DLM=m | ||
906 | CONFIG_OCFS2_FS=m | 899 | CONFIG_OCFS2_FS=m |
900 | CONFIG_OCFS2_FS_O2CB=m | ||
901 | CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m | ||
907 | # CONFIG_OCFS2_DEBUG_MASKLOG is not set | 902 | # CONFIG_OCFS2_DEBUG_MASKLOG is not set |
908 | # CONFIG_OCFS2_DEBUG_FS is not set | 903 | # CONFIG_OCFS2_DEBUG_FS is not set |
909 | CONFIG_DNOTIFY=y | 904 | CONFIG_DNOTIFY=y |
@@ -975,12 +970,10 @@ CONFIG_NFS_FS=m | |||
975 | CONFIG_NFS_V3=y | 970 | CONFIG_NFS_V3=y |
976 | # CONFIG_NFS_V3_ACL is not set | 971 | # CONFIG_NFS_V3_ACL is not set |
977 | CONFIG_NFS_V4=y | 972 | CONFIG_NFS_V4=y |
978 | # CONFIG_NFS_DIRECTIO is not set | ||
979 | CONFIG_NFSD=m | 973 | CONFIG_NFSD=m |
980 | CONFIG_NFSD_V3=y | 974 | CONFIG_NFSD_V3=y |
981 | # CONFIG_NFSD_V3_ACL is not set | 975 | # CONFIG_NFSD_V3_ACL is not set |
982 | # CONFIG_NFSD_V4 is not set | 976 | # CONFIG_NFSD_V4 is not set |
983 | CONFIG_NFSD_TCP=y | ||
984 | CONFIG_LOCKD=m | 977 | CONFIG_LOCKD=m |
985 | CONFIG_LOCKD_V4=y | 978 | CONFIG_LOCKD_V4=y |
986 | CONFIG_EXPORTFS=m | 979 | CONFIG_EXPORTFS=m |
@@ -1054,6 +1047,7 @@ CONFIG_DLM=m | |||
1054 | # CONFIG_PRINTK_TIME is not set | 1047 | # CONFIG_PRINTK_TIME is not set |
1055 | CONFIG_ENABLE_WARN_DEPRECATED=y | 1048 | CONFIG_ENABLE_WARN_DEPRECATED=y |
1056 | CONFIG_ENABLE_MUST_CHECK=y | 1049 | CONFIG_ENABLE_MUST_CHECK=y |
1050 | CONFIG_FRAME_WARN=1024 | ||
1057 | CONFIG_MAGIC_SYSRQ=y | 1051 | CONFIG_MAGIC_SYSRQ=y |
1058 | # CONFIG_UNUSED_SYMBOLS is not set | 1052 | # CONFIG_UNUSED_SYMBOLS is not set |
1059 | # CONFIG_DEBUG_FS is not set | 1053 | # CONFIG_DEBUG_FS is not set |
@@ -1073,53 +1067,82 @@ CONFIG_ASYNC_CORE=m | |||
1073 | CONFIG_ASYNC_MEMCPY=m | 1067 | CONFIG_ASYNC_MEMCPY=m |
1074 | CONFIG_ASYNC_XOR=m | 1068 | CONFIG_ASYNC_XOR=m |
1075 | CONFIG_CRYPTO=y | 1069 | CONFIG_CRYPTO=y |
1070 | |||
1071 | # | ||
1072 | # Crypto core or helper | ||
1073 | # | ||
1076 | CONFIG_CRYPTO_ALGAPI=y | 1074 | CONFIG_CRYPTO_ALGAPI=y |
1077 | CONFIG_CRYPTO_AEAD=m | 1075 | CONFIG_CRYPTO_AEAD=m |
1078 | CONFIG_CRYPTO_BLKCIPHER=m | 1076 | CONFIG_CRYPTO_BLKCIPHER=m |
1079 | CONFIG_CRYPTO_SEQIV=m | ||
1080 | CONFIG_CRYPTO_HASH=y | 1077 | CONFIG_CRYPTO_HASH=y |
1081 | CONFIG_CRYPTO_MANAGER=y | 1078 | CONFIG_CRYPTO_MANAGER=y |
1079 | CONFIG_CRYPTO_GF128MUL=m | ||
1080 | CONFIG_CRYPTO_NULL=m | ||
1081 | CONFIG_CRYPTO_CRYPTD=m | ||
1082 | CONFIG_CRYPTO_AUTHENC=m | ||
1083 | CONFIG_CRYPTO_TEST=m | ||
1084 | |||
1085 | # | ||
1086 | # Authenticated Encryption with Associated Data | ||
1087 | # | ||
1088 | CONFIG_CRYPTO_CCM=m | ||
1089 | CONFIG_CRYPTO_GCM=m | ||
1090 | CONFIG_CRYPTO_SEQIV=m | ||
1091 | |||
1092 | # | ||
1093 | # Block modes | ||
1094 | # | ||
1095 | CONFIG_CRYPTO_CBC=m | ||
1096 | CONFIG_CRYPTO_CTR=m | ||
1097 | CONFIG_CRYPTO_CTS=m | ||
1098 | CONFIG_CRYPTO_ECB=m | ||
1099 | CONFIG_CRYPTO_LRW=m | ||
1100 | CONFIG_CRYPTO_PCBC=m | ||
1101 | CONFIG_CRYPTO_XTS=m | ||
1102 | |||
1103 | # | ||
1104 | # Hash modes | ||
1105 | # | ||
1082 | CONFIG_CRYPTO_HMAC=y | 1106 | CONFIG_CRYPTO_HMAC=y |
1083 | CONFIG_CRYPTO_XCBC=m | 1107 | CONFIG_CRYPTO_XCBC=m |
1084 | CONFIG_CRYPTO_NULL=m | 1108 | |
1109 | # | ||
1110 | # Digest | ||
1111 | # | ||
1112 | CONFIG_CRYPTO_CRC32C=m | ||
1085 | CONFIG_CRYPTO_MD4=m | 1113 | CONFIG_CRYPTO_MD4=m |
1086 | CONFIG_CRYPTO_MD5=m | 1114 | CONFIG_CRYPTO_MD5=m |
1115 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
1087 | CONFIG_CRYPTO_SHA1=m | 1116 | CONFIG_CRYPTO_SHA1=m |
1088 | CONFIG_CRYPTO_SHA256=m | 1117 | CONFIG_CRYPTO_SHA256=m |
1089 | CONFIG_CRYPTO_SHA512=m | 1118 | CONFIG_CRYPTO_SHA512=m |
1090 | CONFIG_CRYPTO_WP512=m | ||
1091 | CONFIG_CRYPTO_TGR192=m | 1119 | CONFIG_CRYPTO_TGR192=m |
1092 | CONFIG_CRYPTO_GF128MUL=m | 1120 | CONFIG_CRYPTO_WP512=m |
1093 | CONFIG_CRYPTO_ECB=m | 1121 | |
1094 | CONFIG_CRYPTO_CBC=m | 1122 | # |
1095 | CONFIG_CRYPTO_PCBC=m | 1123 | # Ciphers |
1096 | CONFIG_CRYPTO_LRW=m | 1124 | # |
1097 | CONFIG_CRYPTO_XTS=m | ||
1098 | CONFIG_CRYPTO_CTR=m | ||
1099 | CONFIG_CRYPTO_GCM=m | ||
1100 | CONFIG_CRYPTO_CCM=m | ||
1101 | CONFIG_CRYPTO_CRYPTD=m | ||
1102 | CONFIG_CRYPTO_DES=m | ||
1103 | CONFIG_CRYPTO_FCRYPT=m | ||
1104 | CONFIG_CRYPTO_BLOWFISH=m | ||
1105 | CONFIG_CRYPTO_TWOFISH=m | ||
1106 | CONFIG_CRYPTO_TWOFISH_COMMON=m | ||
1107 | CONFIG_CRYPTO_SERPENT=m | ||
1108 | CONFIG_CRYPTO_AES=m | 1125 | CONFIG_CRYPTO_AES=m |
1126 | CONFIG_CRYPTO_ANUBIS=m | ||
1127 | CONFIG_CRYPTO_ARC4=m | ||
1128 | CONFIG_CRYPTO_BLOWFISH=m | ||
1129 | CONFIG_CRYPTO_CAMELLIA=m | ||
1109 | CONFIG_CRYPTO_CAST5=m | 1130 | CONFIG_CRYPTO_CAST5=m |
1110 | CONFIG_CRYPTO_CAST6=m | 1131 | CONFIG_CRYPTO_CAST6=m |
1111 | CONFIG_CRYPTO_TEA=m | 1132 | CONFIG_CRYPTO_DES=m |
1112 | CONFIG_CRYPTO_ARC4=m | 1133 | CONFIG_CRYPTO_FCRYPT=m |
1113 | CONFIG_CRYPTO_KHAZAD=m | 1134 | CONFIG_CRYPTO_KHAZAD=m |
1114 | CONFIG_CRYPTO_ANUBIS=m | ||
1115 | CONFIG_CRYPTO_SEED=m | ||
1116 | CONFIG_CRYPTO_SALSA20=m | 1135 | CONFIG_CRYPTO_SALSA20=m |
1136 | CONFIG_CRYPTO_SEED=m | ||
1137 | CONFIG_CRYPTO_SERPENT=m | ||
1138 | CONFIG_CRYPTO_TEA=m | ||
1139 | CONFIG_CRYPTO_TWOFISH=m | ||
1140 | CONFIG_CRYPTO_TWOFISH_COMMON=m | ||
1141 | |||
1142 | # | ||
1143 | # Compression | ||
1144 | # | ||
1117 | CONFIG_CRYPTO_DEFLATE=m | 1145 | CONFIG_CRYPTO_DEFLATE=m |
1118 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
1119 | CONFIG_CRYPTO_CRC32C=m | ||
1120 | CONFIG_CRYPTO_CAMELLIA=m | ||
1121 | CONFIG_CRYPTO_TEST=m | ||
1122 | CONFIG_CRYPTO_AUTHENC=m | ||
1123 | CONFIG_CRYPTO_LZO=m | 1146 | CONFIG_CRYPTO_LZO=m |
1124 | # CONFIG_CRYPTO_HW is not set | 1147 | # CONFIG_CRYPTO_HW is not set |
1125 | 1148 | ||
@@ -1127,9 +1150,11 @@ CONFIG_CRYPTO_LZO=m | |||
1127 | # Library routines | 1150 | # Library routines |
1128 | # | 1151 | # |
1129 | CONFIG_BITREVERSE=y | 1152 | CONFIG_BITREVERSE=y |
1153 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
1154 | # CONFIG_GENERIC_FIND_NEXT_BIT is not set | ||
1130 | CONFIG_CRC_CCITT=m | 1155 | CONFIG_CRC_CCITT=m |
1131 | CONFIG_CRC16=m | 1156 | CONFIG_CRC16=m |
1132 | # CONFIG_CRC_ITU_T is not set | 1157 | CONFIG_CRC_ITU_T=m |
1133 | CONFIG_CRC32=y | 1158 | CONFIG_CRC32=y |
1134 | # CONFIG_CRC7 is not set | 1159 | # CONFIG_CRC7 is not set |
1135 | CONFIG_LIBCRC32C=m | 1160 | CONFIG_LIBCRC32C=m |
diff --git a/arch/m68k/configs/apollo_defconfig b/arch/m68k/configs/apollo_defconfig index e61196cd7fa5..c3cd5b749d2c 100644 --- a/arch/m68k/configs/apollo_defconfig +++ b/arch/m68k/configs/apollo_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.25-rc8 | 3 | # Linux kernel version: 2.6.26-rc2 |
4 | # Wed Apr 2 20:46:07 2008 | 4 | # Sun May 18 14:44:42 2008 |
5 | # | 5 | # |
6 | CONFIG_M68K=y | 6 | CONFIG_M68K=y |
7 | CONFIG_MMU=y | 7 | CONFIG_MMU=y |
@@ -52,6 +52,7 @@ CONFIG_SYSCTL=y | |||
52 | # CONFIG_EMBEDDED is not set | 52 | # CONFIG_EMBEDDED is not set |
53 | CONFIG_UID16=y | 53 | CONFIG_UID16=y |
54 | CONFIG_SYSCTL_SYSCALL=y | 54 | CONFIG_SYSCTL_SYSCALL=y |
55 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
55 | CONFIG_KALLSYMS=y | 56 | CONFIG_KALLSYMS=y |
56 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 57 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
57 | CONFIG_HOTPLUG=y | 58 | CONFIG_HOTPLUG=y |
@@ -76,12 +77,14 @@ CONFIG_SLAB=y | |||
76 | # CONFIG_HAVE_OPROFILE is not set | 77 | # CONFIG_HAVE_OPROFILE is not set |
77 | # CONFIG_HAVE_KPROBES is not set | 78 | # CONFIG_HAVE_KPROBES is not set |
78 | # CONFIG_HAVE_KRETPROBES is not set | 79 | # CONFIG_HAVE_KRETPROBES is not set |
80 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
79 | CONFIG_PROC_PAGE_MONITOR=y | 81 | CONFIG_PROC_PAGE_MONITOR=y |
80 | CONFIG_SLABINFO=y | 82 | CONFIG_SLABINFO=y |
81 | CONFIG_RT_MUTEXES=y | 83 | CONFIG_RT_MUTEXES=y |
82 | # CONFIG_TINY_SHMEM is not set | 84 | # CONFIG_TINY_SHMEM is not set |
83 | CONFIG_BASE_SMALL=0 | 85 | CONFIG_BASE_SMALL=0 |
84 | CONFIG_MODULES=y | 86 | CONFIG_MODULES=y |
87 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
85 | CONFIG_MODULE_UNLOAD=y | 88 | CONFIG_MODULE_UNLOAD=y |
86 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 89 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
87 | # CONFIG_MODVERSIONS is not set | 90 | # CONFIG_MODVERSIONS is not set |
@@ -141,6 +144,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y | |||
141 | CONFIG_NEED_MULTIPLE_NODES=y | 144 | CONFIG_NEED_MULTIPLE_NODES=y |
142 | # CONFIG_SPARSEMEM_STATIC is not set | 145 | # CONFIG_SPARSEMEM_STATIC is not set |
143 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | 146 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set |
147 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
144 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 148 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
145 | # CONFIG_RESOURCES_64BIT is not set | 149 | # CONFIG_RESOURCES_64BIT is not set |
146 | CONFIG_ZONE_DMA_FLAG=1 | 150 | CONFIG_ZONE_DMA_FLAG=1 |
@@ -220,8 +224,10 @@ CONFIG_INET6_XFRM_MODE_TUNNEL=m | |||
220 | CONFIG_INET6_XFRM_MODE_BEET=m | 224 | CONFIG_INET6_XFRM_MODE_BEET=m |
221 | CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m | 225 | CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m |
222 | CONFIG_IPV6_SIT=m | 226 | CONFIG_IPV6_SIT=m |
227 | CONFIG_IPV6_NDISC_NODETYPE=y | ||
223 | CONFIG_IPV6_TUNNEL=m | 228 | CONFIG_IPV6_TUNNEL=m |
224 | # CONFIG_IPV6_MULTIPLE_TABLES is not set | 229 | # CONFIG_IPV6_MULTIPLE_TABLES is not set |
230 | # CONFIG_IPV6_MROUTE is not set | ||
225 | # CONFIG_NETWORK_SECMARK is not set | 231 | # CONFIG_NETWORK_SECMARK is not set |
226 | CONFIG_NETFILTER=y | 232 | CONFIG_NETFILTER=y |
227 | # CONFIG_NETFILTER_DEBUG is not set | 233 | # CONFIG_NETFILTER_DEBUG is not set |
@@ -237,6 +243,7 @@ CONFIG_NF_CONNTRACK=m | |||
237 | CONFIG_NF_CT_ACCT=y | 243 | CONFIG_NF_CT_ACCT=y |
238 | CONFIG_NF_CONNTRACK_MARK=y | 244 | CONFIG_NF_CONNTRACK_MARK=y |
239 | # CONFIG_NF_CONNTRACK_EVENTS is not set | 245 | # CONFIG_NF_CONNTRACK_EVENTS is not set |
246 | # CONFIG_NF_CT_PROTO_DCCP is not set | ||
240 | CONFIG_NF_CT_PROTO_GRE=m | 247 | CONFIG_NF_CT_PROTO_GRE=m |
241 | CONFIG_NF_CT_PROTO_SCTP=m | 248 | CONFIG_NF_CT_PROTO_SCTP=m |
242 | CONFIG_NF_CT_PROTO_UDPLITE=m | 249 | CONFIG_NF_CT_PROTO_UDPLITE=m |
@@ -315,6 +322,8 @@ CONFIG_IP_NF_TARGET_REDIRECT=m | |||
315 | CONFIG_IP_NF_TARGET_NETMAP=m | 322 | CONFIG_IP_NF_TARGET_NETMAP=m |
316 | CONFIG_NF_NAT_SNMP_BASIC=m | 323 | CONFIG_NF_NAT_SNMP_BASIC=m |
317 | CONFIG_NF_NAT_PROTO_GRE=m | 324 | CONFIG_NF_NAT_PROTO_GRE=m |
325 | CONFIG_NF_NAT_PROTO_UDPLITE=m | ||
326 | CONFIG_NF_NAT_PROTO_SCTP=m | ||
318 | CONFIG_NF_NAT_FTP=m | 327 | CONFIG_NF_NAT_FTP=m |
319 | CONFIG_NF_NAT_IRC=m | 328 | CONFIG_NF_NAT_IRC=m |
320 | CONFIG_NF_NAT_TFTP=m | 329 | CONFIG_NF_NAT_TFTP=m |
@@ -408,8 +417,6 @@ CONFIG_IEEE80211=m | |||
408 | CONFIG_IEEE80211_CRYPT_WEP=m | 417 | CONFIG_IEEE80211_CRYPT_WEP=m |
409 | CONFIG_IEEE80211_CRYPT_CCMP=m | 418 | CONFIG_IEEE80211_CRYPT_CCMP=m |
410 | CONFIG_IEEE80211_CRYPT_TKIP=m | 419 | CONFIG_IEEE80211_CRYPT_TKIP=m |
411 | CONFIG_IEEE80211_SOFTMAC=m | ||
412 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
413 | # CONFIG_RFKILL is not set | 420 | # CONFIG_RFKILL is not set |
414 | # CONFIG_NET_9P is not set | 421 | # CONFIG_NET_9P is not set |
415 | 422 | ||
@@ -539,6 +546,7 @@ CONFIG_APOLLO_ELPLUS=y | |||
539 | # | 546 | # |
540 | # CONFIG_WLAN_PRE80211 is not set | 547 | # CONFIG_WLAN_PRE80211 is not set |
541 | # CONFIG_WLAN_80211 is not set | 548 | # CONFIG_WLAN_80211 is not set |
549 | # CONFIG_IWLWIFI_LEDS is not set | ||
542 | # CONFIG_WAN is not set | 550 | # CONFIG_WAN is not set |
543 | CONFIG_PPP=m | 551 | CONFIG_PPP=m |
544 | # CONFIG_PPP_MULTILINK is not set | 552 | # CONFIG_PPP_MULTILINK is not set |
@@ -622,6 +630,7 @@ CONFIG_VT=y | |||
622 | CONFIG_VT_CONSOLE=y | 630 | CONFIG_VT_CONSOLE=y |
623 | CONFIG_HW_CONSOLE=y | 631 | CONFIG_HW_CONSOLE=y |
624 | CONFIG_VT_HW_CONSOLE_BINDING=y | 632 | CONFIG_VT_HW_CONSOLE_BINDING=y |
633 | # CONFIG_DEVKMEM is not set | ||
625 | # CONFIG_SERIAL_NONSTANDARD is not set | 634 | # CONFIG_SERIAL_NONSTANDARD is not set |
626 | 635 | ||
627 | # | 636 | # |
@@ -643,12 +652,7 @@ CONFIG_GEN_RTC_X=y | |||
643 | # CONFIG_RAW_DRIVER is not set | 652 | # CONFIG_RAW_DRIVER is not set |
644 | # CONFIG_TCG_TPM is not set | 653 | # CONFIG_TCG_TPM is not set |
645 | # CONFIG_I2C is not set | 654 | # CONFIG_I2C is not set |
646 | |||
647 | # | ||
648 | # SPI support | ||
649 | # | ||
650 | # CONFIG_SPI is not set | 655 | # CONFIG_SPI is not set |
651 | # CONFIG_SPI_MASTER is not set | ||
652 | # CONFIG_W1 is not set | 656 | # CONFIG_W1 is not set |
653 | # CONFIG_POWER_SUPPLY is not set | 657 | # CONFIG_POWER_SUPPLY is not set |
654 | # CONFIG_HWMON is not set | 658 | # CONFIG_HWMON is not set |
@@ -665,12 +669,22 @@ CONFIG_SSB_POSSIBLE=y | |||
665 | # Multifunction device drivers | 669 | # Multifunction device drivers |
666 | # | 670 | # |
667 | # CONFIG_MFD_SM501 is not set | 671 | # CONFIG_MFD_SM501 is not set |
672 | # CONFIG_HTC_PASIC3 is not set | ||
668 | 673 | ||
669 | # | 674 | # |
670 | # Multimedia devices | 675 | # Multimedia devices |
671 | # | 676 | # |
677 | |||
678 | # | ||
679 | # Multimedia core support | ||
680 | # | ||
672 | # CONFIG_VIDEO_DEV is not set | 681 | # CONFIG_VIDEO_DEV is not set |
673 | # CONFIG_DVB_CORE is not set | 682 | # CONFIG_DVB_CORE is not set |
683 | # CONFIG_VIDEO_MEDIA is not set | ||
684 | |||
685 | # | ||
686 | # Multimedia drivers | ||
687 | # | ||
674 | # CONFIG_DAB is not set | 688 | # CONFIG_DAB is not set |
675 | 689 | ||
676 | # | 690 | # |
@@ -688,8 +702,8 @@ CONFIG_FB_CFB_IMAGEBLIT=y | |||
688 | # CONFIG_FB_SYS_FILLRECT is not set | 702 | # CONFIG_FB_SYS_FILLRECT is not set |
689 | # CONFIG_FB_SYS_COPYAREA is not set | 703 | # CONFIG_FB_SYS_COPYAREA is not set |
690 | # CONFIG_FB_SYS_IMAGEBLIT is not set | 704 | # CONFIG_FB_SYS_IMAGEBLIT is not set |
705 | # CONFIG_FB_FOREIGN_ENDIAN is not set | ||
691 | # CONFIG_FB_SYS_FOPS is not set | 706 | # CONFIG_FB_SYS_FOPS is not set |
692 | CONFIG_FB_DEFERRED_IO=y | ||
693 | # CONFIG_FB_SVGALIB is not set | 707 | # CONFIG_FB_SVGALIB is not set |
694 | # CONFIG_FB_MACMODES is not set | 708 | # CONFIG_FB_MACMODES is not set |
695 | # CONFIG_FB_BACKLIGHT is not set | 709 | # CONFIG_FB_BACKLIGHT is not set |
@@ -737,11 +751,8 @@ CONFIG_HIDRAW=y | |||
737 | # CONFIG_MMC is not set | 751 | # CONFIG_MMC is not set |
738 | # CONFIG_MEMSTICK is not set | 752 | # CONFIG_MEMSTICK is not set |
739 | # CONFIG_NEW_LEDS is not set | 753 | # CONFIG_NEW_LEDS is not set |
754 | # CONFIG_ACCESSIBILITY is not set | ||
740 | # CONFIG_RTC_CLASS is not set | 755 | # CONFIG_RTC_CLASS is not set |
741 | |||
742 | # | ||
743 | # Userspace I/O | ||
744 | # | ||
745 | # CONFIG_UIO is not set | 756 | # CONFIG_UIO is not set |
746 | 757 | ||
747 | # | 758 | # |
@@ -769,16 +780,15 @@ CONFIG_JFS_FS=m | |||
769 | # CONFIG_JFS_SECURITY is not set | 780 | # CONFIG_JFS_SECURITY is not set |
770 | # CONFIG_JFS_DEBUG is not set | 781 | # CONFIG_JFS_DEBUG is not set |
771 | # CONFIG_JFS_STATISTICS is not set | 782 | # CONFIG_JFS_STATISTICS is not set |
772 | CONFIG_FS_POSIX_ACL=y | 783 | # CONFIG_FS_POSIX_ACL is not set |
773 | CONFIG_XFS_FS=m | 784 | CONFIG_XFS_FS=m |
774 | # CONFIG_XFS_QUOTA is not set | 785 | # CONFIG_XFS_QUOTA is not set |
775 | # CONFIG_XFS_SECURITY is not set | ||
776 | # CONFIG_XFS_POSIX_ACL is not set | 786 | # CONFIG_XFS_POSIX_ACL is not set |
777 | # CONFIG_XFS_RT is not set | 787 | # CONFIG_XFS_RT is not set |
778 | CONFIG_GFS2_FS=m | 788 | # CONFIG_XFS_DEBUG is not set |
779 | CONFIG_GFS2_FS_LOCKING_NOLOCK=m | ||
780 | CONFIG_GFS2_FS_LOCKING_DLM=m | ||
781 | CONFIG_OCFS2_FS=m | 789 | CONFIG_OCFS2_FS=m |
790 | CONFIG_OCFS2_FS_O2CB=m | ||
791 | CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m | ||
782 | # CONFIG_OCFS2_DEBUG_MASKLOG is not set | 792 | # CONFIG_OCFS2_DEBUG_MASKLOG is not set |
783 | # CONFIG_OCFS2_DEBUG_FS is not set | 793 | # CONFIG_OCFS2_DEBUG_FS is not set |
784 | CONFIG_DNOTIFY=y | 794 | CONFIG_DNOTIFY=y |
@@ -850,12 +860,10 @@ CONFIG_NFS_FS=y | |||
850 | CONFIG_NFS_V3=y | 860 | CONFIG_NFS_V3=y |
851 | # CONFIG_NFS_V3_ACL is not set | 861 | # CONFIG_NFS_V3_ACL is not set |
852 | CONFIG_NFS_V4=y | 862 | CONFIG_NFS_V4=y |
853 | # CONFIG_NFS_DIRECTIO is not set | ||
854 | CONFIG_NFSD=m | 863 | CONFIG_NFSD=m |
855 | CONFIG_NFSD_V3=y | 864 | CONFIG_NFSD_V3=y |
856 | # CONFIG_NFSD_V3_ACL is not set | 865 | # CONFIG_NFSD_V3_ACL is not set |
857 | # CONFIG_NFSD_V4 is not set | 866 | # CONFIG_NFSD_V4 is not set |
858 | CONFIG_NFSD_TCP=y | ||
859 | CONFIG_ROOT_NFS=y | 867 | CONFIG_ROOT_NFS=y |
860 | CONFIG_LOCKD=y | 868 | CONFIG_LOCKD=y |
861 | CONFIG_LOCKD_V4=y | 869 | CONFIG_LOCKD_V4=y |
@@ -929,6 +937,7 @@ CONFIG_DLM=m | |||
929 | # CONFIG_PRINTK_TIME is not set | 937 | # CONFIG_PRINTK_TIME is not set |
930 | CONFIG_ENABLE_WARN_DEPRECATED=y | 938 | CONFIG_ENABLE_WARN_DEPRECATED=y |
931 | CONFIG_ENABLE_MUST_CHECK=y | 939 | CONFIG_ENABLE_MUST_CHECK=y |
940 | CONFIG_FRAME_WARN=1024 | ||
932 | CONFIG_MAGIC_SYSRQ=y | 941 | CONFIG_MAGIC_SYSRQ=y |
933 | # CONFIG_UNUSED_SYMBOLS is not set | 942 | # CONFIG_UNUSED_SYMBOLS is not set |
934 | # CONFIG_DEBUG_FS is not set | 943 | # CONFIG_DEBUG_FS is not set |
@@ -948,53 +957,82 @@ CONFIG_ASYNC_CORE=m | |||
948 | CONFIG_ASYNC_MEMCPY=m | 957 | CONFIG_ASYNC_MEMCPY=m |
949 | CONFIG_ASYNC_XOR=m | 958 | CONFIG_ASYNC_XOR=m |
950 | CONFIG_CRYPTO=y | 959 | CONFIG_CRYPTO=y |
960 | |||
961 | # | ||
962 | # Crypto core or helper | ||
963 | # | ||
951 | CONFIG_CRYPTO_ALGAPI=y | 964 | CONFIG_CRYPTO_ALGAPI=y |
952 | CONFIG_CRYPTO_AEAD=m | 965 | CONFIG_CRYPTO_AEAD=m |
953 | CONFIG_CRYPTO_BLKCIPHER=y | 966 | CONFIG_CRYPTO_BLKCIPHER=y |
954 | CONFIG_CRYPTO_SEQIV=m | ||
955 | CONFIG_CRYPTO_HASH=y | 967 | CONFIG_CRYPTO_HASH=y |
956 | CONFIG_CRYPTO_MANAGER=y | 968 | CONFIG_CRYPTO_MANAGER=y |
969 | CONFIG_CRYPTO_GF128MUL=m | ||
970 | CONFIG_CRYPTO_NULL=m | ||
971 | CONFIG_CRYPTO_CRYPTD=m | ||
972 | CONFIG_CRYPTO_AUTHENC=m | ||
973 | CONFIG_CRYPTO_TEST=m | ||
974 | |||
975 | # | ||
976 | # Authenticated Encryption with Associated Data | ||
977 | # | ||
978 | CONFIG_CRYPTO_CCM=m | ||
979 | CONFIG_CRYPTO_GCM=m | ||
980 | CONFIG_CRYPTO_SEQIV=m | ||
981 | |||
982 | # | ||
983 | # Block modes | ||
984 | # | ||
985 | CONFIG_CRYPTO_CBC=y | ||
986 | CONFIG_CRYPTO_CTR=m | ||
987 | CONFIG_CRYPTO_CTS=m | ||
988 | CONFIG_CRYPTO_ECB=m | ||
989 | CONFIG_CRYPTO_LRW=m | ||
990 | CONFIG_CRYPTO_PCBC=m | ||
991 | CONFIG_CRYPTO_XTS=m | ||
992 | |||
993 | # | ||
994 | # Hash modes | ||
995 | # | ||
957 | CONFIG_CRYPTO_HMAC=y | 996 | CONFIG_CRYPTO_HMAC=y |
958 | CONFIG_CRYPTO_XCBC=m | 997 | CONFIG_CRYPTO_XCBC=m |
959 | CONFIG_CRYPTO_NULL=m | 998 | |
999 | # | ||
1000 | # Digest | ||
1001 | # | ||
1002 | CONFIG_CRYPTO_CRC32C=m | ||
960 | CONFIG_CRYPTO_MD4=m | 1003 | CONFIG_CRYPTO_MD4=m |
961 | CONFIG_CRYPTO_MD5=y | 1004 | CONFIG_CRYPTO_MD5=y |
1005 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
962 | CONFIG_CRYPTO_SHA1=m | 1006 | CONFIG_CRYPTO_SHA1=m |
963 | CONFIG_CRYPTO_SHA256=m | 1007 | CONFIG_CRYPTO_SHA256=m |
964 | CONFIG_CRYPTO_SHA512=m | 1008 | CONFIG_CRYPTO_SHA512=m |
965 | CONFIG_CRYPTO_WP512=m | ||
966 | CONFIG_CRYPTO_TGR192=m | 1009 | CONFIG_CRYPTO_TGR192=m |
967 | CONFIG_CRYPTO_GF128MUL=m | 1010 | CONFIG_CRYPTO_WP512=m |
968 | CONFIG_CRYPTO_ECB=m | 1011 | |
969 | CONFIG_CRYPTO_CBC=y | 1012 | # |
970 | CONFIG_CRYPTO_PCBC=m | 1013 | # Ciphers |
971 | CONFIG_CRYPTO_LRW=m | 1014 | # |
972 | CONFIG_CRYPTO_XTS=m | ||
973 | CONFIG_CRYPTO_CTR=m | ||
974 | CONFIG_CRYPTO_GCM=m | ||
975 | CONFIG_CRYPTO_CCM=m | ||
976 | CONFIG_CRYPTO_CRYPTD=m | ||
977 | CONFIG_CRYPTO_DES=y | ||
978 | CONFIG_CRYPTO_FCRYPT=m | ||
979 | CONFIG_CRYPTO_BLOWFISH=m | ||
980 | CONFIG_CRYPTO_TWOFISH=m | ||
981 | CONFIG_CRYPTO_TWOFISH_COMMON=m | ||
982 | CONFIG_CRYPTO_SERPENT=m | ||
983 | CONFIG_CRYPTO_AES=m | 1015 | CONFIG_CRYPTO_AES=m |
1016 | CONFIG_CRYPTO_ANUBIS=m | ||
1017 | CONFIG_CRYPTO_ARC4=m | ||
1018 | CONFIG_CRYPTO_BLOWFISH=m | ||
1019 | CONFIG_CRYPTO_CAMELLIA=m | ||
984 | CONFIG_CRYPTO_CAST5=m | 1020 | CONFIG_CRYPTO_CAST5=m |
985 | CONFIG_CRYPTO_CAST6=m | 1021 | CONFIG_CRYPTO_CAST6=m |
986 | CONFIG_CRYPTO_TEA=m | 1022 | CONFIG_CRYPTO_DES=y |
987 | CONFIG_CRYPTO_ARC4=m | 1023 | CONFIG_CRYPTO_FCRYPT=m |
988 | CONFIG_CRYPTO_KHAZAD=m | 1024 | CONFIG_CRYPTO_KHAZAD=m |
989 | CONFIG_CRYPTO_ANUBIS=m | ||
990 | CONFIG_CRYPTO_SEED=m | ||
991 | CONFIG_CRYPTO_SALSA20=m | 1025 | CONFIG_CRYPTO_SALSA20=m |
1026 | CONFIG_CRYPTO_SEED=m | ||
1027 | CONFIG_CRYPTO_SERPENT=m | ||
1028 | CONFIG_CRYPTO_TEA=m | ||
1029 | CONFIG_CRYPTO_TWOFISH=m | ||
1030 | CONFIG_CRYPTO_TWOFISH_COMMON=m | ||
1031 | |||
1032 | # | ||
1033 | # Compression | ||
1034 | # | ||
992 | CONFIG_CRYPTO_DEFLATE=m | 1035 | CONFIG_CRYPTO_DEFLATE=m |
993 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
994 | CONFIG_CRYPTO_CRC32C=m | ||
995 | CONFIG_CRYPTO_CAMELLIA=m | ||
996 | CONFIG_CRYPTO_TEST=m | ||
997 | CONFIG_CRYPTO_AUTHENC=m | ||
998 | CONFIG_CRYPTO_LZO=m | 1036 | CONFIG_CRYPTO_LZO=m |
999 | # CONFIG_CRYPTO_HW is not set | 1037 | # CONFIG_CRYPTO_HW is not set |
1000 | 1038 | ||
@@ -1002,9 +1040,11 @@ CONFIG_CRYPTO_LZO=m | |||
1002 | # Library routines | 1040 | # Library routines |
1003 | # | 1041 | # |
1004 | CONFIG_BITREVERSE=y | 1042 | CONFIG_BITREVERSE=y |
1043 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
1044 | # CONFIG_GENERIC_FIND_NEXT_BIT is not set | ||
1005 | CONFIG_CRC_CCITT=m | 1045 | CONFIG_CRC_CCITT=m |
1006 | CONFIG_CRC16=m | 1046 | CONFIG_CRC16=m |
1007 | # CONFIG_CRC_ITU_T is not set | 1047 | CONFIG_CRC_ITU_T=m |
1008 | CONFIG_CRC32=y | 1048 | CONFIG_CRC32=y |
1009 | # CONFIG_CRC7 is not set | 1049 | # CONFIG_CRC7 is not set |
1010 | CONFIG_LIBCRC32C=m | 1050 | CONFIG_LIBCRC32C=m |
diff --git a/arch/m68k/configs/atari_defconfig b/arch/m68k/configs/atari_defconfig index ba7f971bb026..073ae4bbe264 100644 --- a/arch/m68k/configs/atari_defconfig +++ b/arch/m68k/configs/atari_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.25-rc8 | 3 | # Linux kernel version: 2.6.26-rc2 |
4 | # Wed Apr 2 20:46:09 2008 | 4 | # Sun May 18 14:44:43 2008 |
5 | # | 5 | # |
6 | CONFIG_M68K=y | 6 | CONFIG_M68K=y |
7 | CONFIG_MMU=y | 7 | CONFIG_MMU=y |
@@ -52,6 +52,7 @@ CONFIG_SYSCTL=y | |||
52 | # CONFIG_EMBEDDED is not set | 52 | # CONFIG_EMBEDDED is not set |
53 | CONFIG_UID16=y | 53 | CONFIG_UID16=y |
54 | CONFIG_SYSCTL_SYSCALL=y | 54 | CONFIG_SYSCTL_SYSCALL=y |
55 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
55 | CONFIG_KALLSYMS=y | 56 | CONFIG_KALLSYMS=y |
56 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 57 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
57 | CONFIG_HOTPLUG=y | 58 | CONFIG_HOTPLUG=y |
@@ -76,12 +77,14 @@ CONFIG_SLAB=y | |||
76 | # CONFIG_HAVE_OPROFILE is not set | 77 | # CONFIG_HAVE_OPROFILE is not set |
77 | # CONFIG_HAVE_KPROBES is not set | 78 | # CONFIG_HAVE_KPROBES is not set |
78 | # CONFIG_HAVE_KRETPROBES is not set | 79 | # CONFIG_HAVE_KRETPROBES is not set |
80 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
79 | CONFIG_PROC_PAGE_MONITOR=y | 81 | CONFIG_PROC_PAGE_MONITOR=y |
80 | CONFIG_SLABINFO=y | 82 | CONFIG_SLABINFO=y |
81 | CONFIG_RT_MUTEXES=y | 83 | CONFIG_RT_MUTEXES=y |
82 | # CONFIG_TINY_SHMEM is not set | 84 | # CONFIG_TINY_SHMEM is not set |
83 | CONFIG_BASE_SMALL=0 | 85 | CONFIG_BASE_SMALL=0 |
84 | CONFIG_MODULES=y | 86 | CONFIG_MODULES=y |
87 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
85 | CONFIG_MODULE_UNLOAD=y | 88 | CONFIG_MODULE_UNLOAD=y |
86 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 89 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
87 | # CONFIG_MODVERSIONS is not set | 90 | # CONFIG_MODVERSIONS is not set |
@@ -141,6 +144,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y | |||
141 | CONFIG_NEED_MULTIPLE_NODES=y | 144 | CONFIG_NEED_MULTIPLE_NODES=y |
142 | # CONFIG_SPARSEMEM_STATIC is not set | 145 | # CONFIG_SPARSEMEM_STATIC is not set |
143 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | 146 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set |
147 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
144 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 148 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
145 | # CONFIG_RESOURCES_64BIT is not set | 149 | # CONFIG_RESOURCES_64BIT is not set |
146 | CONFIG_ZONE_DMA_FLAG=1 | 150 | CONFIG_ZONE_DMA_FLAG=1 |
@@ -218,8 +222,10 @@ CONFIG_INET6_XFRM_MODE_TUNNEL=m | |||
218 | CONFIG_INET6_XFRM_MODE_BEET=m | 222 | CONFIG_INET6_XFRM_MODE_BEET=m |
219 | CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m | 223 | CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m |
220 | CONFIG_IPV6_SIT=m | 224 | CONFIG_IPV6_SIT=m |
225 | CONFIG_IPV6_NDISC_NODETYPE=y | ||
221 | CONFIG_IPV6_TUNNEL=m | 226 | CONFIG_IPV6_TUNNEL=m |
222 | # CONFIG_IPV6_MULTIPLE_TABLES is not set | 227 | # CONFIG_IPV6_MULTIPLE_TABLES is not set |
228 | # CONFIG_IPV6_MROUTE is not set | ||
223 | # CONFIG_NETWORK_SECMARK is not set | 229 | # CONFIG_NETWORK_SECMARK is not set |
224 | CONFIG_NETFILTER=y | 230 | CONFIG_NETFILTER=y |
225 | # CONFIG_NETFILTER_DEBUG is not set | 231 | # CONFIG_NETFILTER_DEBUG is not set |
@@ -235,6 +241,7 @@ CONFIG_NF_CONNTRACK=m | |||
235 | CONFIG_NF_CT_ACCT=y | 241 | CONFIG_NF_CT_ACCT=y |
236 | CONFIG_NF_CONNTRACK_MARK=y | 242 | CONFIG_NF_CONNTRACK_MARK=y |
237 | # CONFIG_NF_CONNTRACK_EVENTS is not set | 243 | # CONFIG_NF_CONNTRACK_EVENTS is not set |
244 | # CONFIG_NF_CT_PROTO_DCCP is not set | ||
238 | CONFIG_NF_CT_PROTO_GRE=m | 245 | CONFIG_NF_CT_PROTO_GRE=m |
239 | CONFIG_NF_CT_PROTO_SCTP=m | 246 | CONFIG_NF_CT_PROTO_SCTP=m |
240 | CONFIG_NF_CT_PROTO_UDPLITE=m | 247 | CONFIG_NF_CT_PROTO_UDPLITE=m |
@@ -313,6 +320,8 @@ CONFIG_IP_NF_TARGET_REDIRECT=m | |||
313 | CONFIG_IP_NF_TARGET_NETMAP=m | 320 | CONFIG_IP_NF_TARGET_NETMAP=m |
314 | CONFIG_NF_NAT_SNMP_BASIC=m | 321 | CONFIG_NF_NAT_SNMP_BASIC=m |
315 | CONFIG_NF_NAT_PROTO_GRE=m | 322 | CONFIG_NF_NAT_PROTO_GRE=m |
323 | CONFIG_NF_NAT_PROTO_UDPLITE=m | ||
324 | CONFIG_NF_NAT_PROTO_SCTP=m | ||
316 | CONFIG_NF_NAT_FTP=m | 325 | CONFIG_NF_NAT_FTP=m |
317 | CONFIG_NF_NAT_IRC=m | 326 | CONFIG_NF_NAT_IRC=m |
318 | CONFIG_NF_NAT_TFTP=m | 327 | CONFIG_NF_NAT_TFTP=m |
@@ -406,8 +415,6 @@ CONFIG_IEEE80211=m | |||
406 | CONFIG_IEEE80211_CRYPT_WEP=m | 415 | CONFIG_IEEE80211_CRYPT_WEP=m |
407 | CONFIG_IEEE80211_CRYPT_CCMP=m | 416 | CONFIG_IEEE80211_CRYPT_CCMP=m |
408 | CONFIG_IEEE80211_CRYPT_TKIP=m | 417 | CONFIG_IEEE80211_CRYPT_TKIP=m |
409 | CONFIG_IEEE80211_SOFTMAC=m | ||
410 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
411 | # CONFIG_RFKILL is not set | 418 | # CONFIG_RFKILL is not set |
412 | # CONFIG_NET_9P is not set | 419 | # CONFIG_NET_9P is not set |
413 | 420 | ||
@@ -469,11 +476,10 @@ CONFIG_IDE_PROC_FS=y | |||
469 | # | 476 | # |
470 | # IDE chipset support/bugfixes | 477 | # IDE chipset support/bugfixes |
471 | # | 478 | # |
472 | # CONFIG_IDE_GENERIC is not set | ||
473 | # CONFIG_BLK_DEV_PLATFORM is not set | 479 | # CONFIG_BLK_DEV_PLATFORM is not set |
474 | CONFIG_BLK_DEV_FALCON_IDE=y | 480 | CONFIG_BLK_DEV_FALCON_IDE=y |
475 | # CONFIG_BLK_DEV_IDEDMA is not set | 481 | # CONFIG_BLK_DEV_IDEDMA is not set |
476 | # CONFIG_IDE_ARCH_OBSOLETE_INIT is not set | 482 | # CONFIG_BLK_DEV_HD_ONLY is not set |
477 | # CONFIG_BLK_DEV_HD is not set | 483 | # CONFIG_BLK_DEV_HD is not set |
478 | 484 | ||
479 | # | 485 | # |
@@ -572,6 +578,7 @@ CONFIG_ATARILANCE=m | |||
572 | # | 578 | # |
573 | # CONFIG_WLAN_PRE80211 is not set | 579 | # CONFIG_WLAN_PRE80211 is not set |
574 | # CONFIG_WLAN_80211 is not set | 580 | # CONFIG_WLAN_80211 is not set |
581 | # CONFIG_IWLWIFI_LEDS is not set | ||
575 | # CONFIG_WAN is not set | 582 | # CONFIG_WAN is not set |
576 | # CONFIG_PLIP is not set | 583 | # CONFIG_PLIP is not set |
577 | CONFIG_PPP=m | 584 | CONFIG_PPP=m |
@@ -662,6 +669,7 @@ CONFIG_VT=y | |||
662 | CONFIG_VT_CONSOLE=y | 669 | CONFIG_VT_CONSOLE=y |
663 | CONFIG_HW_CONSOLE=y | 670 | CONFIG_HW_CONSOLE=y |
664 | CONFIG_VT_HW_CONSOLE_BINDING=y | 671 | CONFIG_VT_HW_CONSOLE_BINDING=y |
672 | # CONFIG_DEVKMEM is not set | ||
665 | # CONFIG_SERIAL_NONSTANDARD is not set | 673 | # CONFIG_SERIAL_NONSTANDARD is not set |
666 | 674 | ||
667 | # | 675 | # |
@@ -687,12 +695,7 @@ CONFIG_GEN_RTC_X=y | |||
687 | # CONFIG_RAW_DRIVER is not set | 695 | # CONFIG_RAW_DRIVER is not set |
688 | # CONFIG_TCG_TPM is not set | 696 | # CONFIG_TCG_TPM is not set |
689 | # CONFIG_I2C is not set | 697 | # CONFIG_I2C is not set |
690 | |||
691 | # | ||
692 | # SPI support | ||
693 | # | ||
694 | # CONFIG_SPI is not set | 698 | # CONFIG_SPI is not set |
695 | # CONFIG_SPI_MASTER is not set | ||
696 | # CONFIG_W1 is not set | 699 | # CONFIG_W1 is not set |
697 | # CONFIG_POWER_SUPPLY is not set | 700 | # CONFIG_POWER_SUPPLY is not set |
698 | # CONFIG_HWMON is not set | 701 | # CONFIG_HWMON is not set |
@@ -709,12 +712,22 @@ CONFIG_SSB_POSSIBLE=y | |||
709 | # Multifunction device drivers | 712 | # Multifunction device drivers |
710 | # | 713 | # |
711 | # CONFIG_MFD_SM501 is not set | 714 | # CONFIG_MFD_SM501 is not set |
715 | # CONFIG_HTC_PASIC3 is not set | ||
712 | 716 | ||
713 | # | 717 | # |
714 | # Multimedia devices | 718 | # Multimedia devices |
715 | # | 719 | # |
720 | |||
721 | # | ||
722 | # Multimedia core support | ||
723 | # | ||
716 | # CONFIG_VIDEO_DEV is not set | 724 | # CONFIG_VIDEO_DEV is not set |
717 | # CONFIG_DVB_CORE is not set | 725 | # CONFIG_DVB_CORE is not set |
726 | # CONFIG_VIDEO_MEDIA is not set | ||
727 | |||
728 | # | ||
729 | # Multimedia drivers | ||
730 | # | ||
718 | # CONFIG_DAB is not set | 731 | # CONFIG_DAB is not set |
719 | 732 | ||
720 | # | 733 | # |
@@ -732,8 +745,8 @@ CONFIG_FB_CFB_IMAGEBLIT=y | |||
732 | # CONFIG_FB_SYS_FILLRECT is not set | 745 | # CONFIG_FB_SYS_FILLRECT is not set |
733 | # CONFIG_FB_SYS_COPYAREA is not set | 746 | # CONFIG_FB_SYS_COPYAREA is not set |
734 | # CONFIG_FB_SYS_IMAGEBLIT is not set | 747 | # CONFIG_FB_SYS_IMAGEBLIT is not set |
748 | # CONFIG_FB_FOREIGN_ENDIAN is not set | ||
735 | # CONFIG_FB_SYS_FOPS is not set | 749 | # CONFIG_FB_SYS_FOPS is not set |
736 | CONFIG_FB_DEFERRED_IO=y | ||
737 | # CONFIG_FB_SVGALIB is not set | 750 | # CONFIG_FB_SVGALIB is not set |
738 | # CONFIG_FB_MACMODES is not set | 751 | # CONFIG_FB_MACMODES is not set |
739 | # CONFIG_FB_BACKLIGHT is not set | 752 | # CONFIG_FB_BACKLIGHT is not set |
@@ -784,12 +797,9 @@ CONFIG_HIDRAW=y | |||
784 | # CONFIG_MMC is not set | 797 | # CONFIG_MMC is not set |
785 | # CONFIG_MEMSTICK is not set | 798 | # CONFIG_MEMSTICK is not set |
786 | # CONFIG_NEW_LEDS is not set | 799 | # CONFIG_NEW_LEDS is not set |
800 | # CONFIG_ACCESSIBILITY is not set | ||
787 | # CONFIG_RTC_CLASS is not set | 801 | # CONFIG_RTC_CLASS is not set |
788 | # CONFIG_AUXDISPLAY is not set | 802 | # CONFIG_AUXDISPLAY is not set |
789 | |||
790 | # | ||
791 | # Userspace I/O | ||
792 | # | ||
793 | # CONFIG_UIO is not set | 803 | # CONFIG_UIO is not set |
794 | 804 | ||
795 | # | 805 | # |
@@ -821,16 +831,15 @@ CONFIG_JFS_FS=m | |||
821 | # CONFIG_JFS_SECURITY is not set | 831 | # CONFIG_JFS_SECURITY is not set |
822 | # CONFIG_JFS_DEBUG is not set | 832 | # CONFIG_JFS_DEBUG is not set |
823 | # CONFIG_JFS_STATISTICS is not set | 833 | # CONFIG_JFS_STATISTICS is not set |
824 | CONFIG_FS_POSIX_ACL=y | 834 | # CONFIG_FS_POSIX_ACL is not set |
825 | CONFIG_XFS_FS=m | 835 | CONFIG_XFS_FS=m |
826 | # CONFIG_XFS_QUOTA is not set | 836 | # CONFIG_XFS_QUOTA is not set |
827 | # CONFIG_XFS_SECURITY is not set | ||
828 | # CONFIG_XFS_POSIX_ACL is not set | 837 | # CONFIG_XFS_POSIX_ACL is not set |
829 | # CONFIG_XFS_RT is not set | 838 | # CONFIG_XFS_RT is not set |
830 | CONFIG_GFS2_FS=m | 839 | # CONFIG_XFS_DEBUG is not set |
831 | CONFIG_GFS2_FS_LOCKING_NOLOCK=m | ||
832 | CONFIG_GFS2_FS_LOCKING_DLM=m | ||
833 | CONFIG_OCFS2_FS=m | 840 | CONFIG_OCFS2_FS=m |
841 | CONFIG_OCFS2_FS_O2CB=m | ||
842 | CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m | ||
834 | # CONFIG_OCFS2_DEBUG_MASKLOG is not set | 843 | # CONFIG_OCFS2_DEBUG_MASKLOG is not set |
835 | # CONFIG_OCFS2_DEBUG_FS is not set | 844 | # CONFIG_OCFS2_DEBUG_FS is not set |
836 | CONFIG_DNOTIFY=y | 845 | CONFIG_DNOTIFY=y |
@@ -902,12 +911,10 @@ CONFIG_NFS_FS=m | |||
902 | CONFIG_NFS_V3=y | 911 | CONFIG_NFS_V3=y |
903 | # CONFIG_NFS_V3_ACL is not set | 912 | # CONFIG_NFS_V3_ACL is not set |
904 | # CONFIG_NFS_V4 is not set | 913 | # CONFIG_NFS_V4 is not set |
905 | # CONFIG_NFS_DIRECTIO is not set | ||
906 | CONFIG_NFSD=m | 914 | CONFIG_NFSD=m |
907 | CONFIG_NFSD_V3=y | 915 | CONFIG_NFSD_V3=y |
908 | # CONFIG_NFSD_V3_ACL is not set | 916 | # CONFIG_NFSD_V3_ACL is not set |
909 | # CONFIG_NFSD_V4 is not set | 917 | # CONFIG_NFSD_V4 is not set |
910 | CONFIG_NFSD_TCP=y | ||
911 | CONFIG_LOCKD=m | 918 | CONFIG_LOCKD=m |
912 | CONFIG_LOCKD_V4=y | 919 | CONFIG_LOCKD_V4=y |
913 | CONFIG_EXPORTFS=m | 920 | CONFIG_EXPORTFS=m |
@@ -980,6 +987,7 @@ CONFIG_DLM=m | |||
980 | # CONFIG_PRINTK_TIME is not set | 987 | # CONFIG_PRINTK_TIME is not set |
981 | CONFIG_ENABLE_WARN_DEPRECATED=y | 988 | CONFIG_ENABLE_WARN_DEPRECATED=y |
982 | CONFIG_ENABLE_MUST_CHECK=y | 989 | CONFIG_ENABLE_MUST_CHECK=y |
990 | CONFIG_FRAME_WARN=1024 | ||
983 | CONFIG_MAGIC_SYSRQ=y | 991 | CONFIG_MAGIC_SYSRQ=y |
984 | # CONFIG_UNUSED_SYMBOLS is not set | 992 | # CONFIG_UNUSED_SYMBOLS is not set |
985 | # CONFIG_DEBUG_FS is not set | 993 | # CONFIG_DEBUG_FS is not set |
@@ -999,53 +1007,82 @@ CONFIG_ASYNC_CORE=m | |||
999 | CONFIG_ASYNC_MEMCPY=m | 1007 | CONFIG_ASYNC_MEMCPY=m |
1000 | CONFIG_ASYNC_XOR=m | 1008 | CONFIG_ASYNC_XOR=m |
1001 | CONFIG_CRYPTO=y | 1009 | CONFIG_CRYPTO=y |
1010 | |||
1011 | # | ||
1012 | # Crypto core or helper | ||
1013 | # | ||
1002 | CONFIG_CRYPTO_ALGAPI=y | 1014 | CONFIG_CRYPTO_ALGAPI=y |
1003 | CONFIG_CRYPTO_AEAD=m | 1015 | CONFIG_CRYPTO_AEAD=m |
1004 | CONFIG_CRYPTO_BLKCIPHER=m | 1016 | CONFIG_CRYPTO_BLKCIPHER=m |
1005 | CONFIG_CRYPTO_SEQIV=m | ||
1006 | CONFIG_CRYPTO_HASH=y | 1017 | CONFIG_CRYPTO_HASH=y |
1007 | CONFIG_CRYPTO_MANAGER=y | 1018 | CONFIG_CRYPTO_MANAGER=y |
1019 | CONFIG_CRYPTO_GF128MUL=m | ||
1020 | CONFIG_CRYPTO_NULL=m | ||
1021 | CONFIG_CRYPTO_CRYPTD=m | ||
1022 | CONFIG_CRYPTO_AUTHENC=m | ||
1023 | CONFIG_CRYPTO_TEST=m | ||
1024 | |||
1025 | # | ||
1026 | # Authenticated Encryption with Associated Data | ||
1027 | # | ||
1028 | CONFIG_CRYPTO_CCM=m | ||
1029 | CONFIG_CRYPTO_GCM=m | ||
1030 | CONFIG_CRYPTO_SEQIV=m | ||
1031 | |||
1032 | # | ||
1033 | # Block modes | ||
1034 | # | ||
1035 | CONFIG_CRYPTO_CBC=m | ||
1036 | CONFIG_CRYPTO_CTR=m | ||
1037 | CONFIG_CRYPTO_CTS=m | ||
1038 | CONFIG_CRYPTO_ECB=m | ||
1039 | CONFIG_CRYPTO_LRW=m | ||
1040 | CONFIG_CRYPTO_PCBC=m | ||
1041 | CONFIG_CRYPTO_XTS=m | ||
1042 | |||
1043 | # | ||
1044 | # Hash modes | ||
1045 | # | ||
1008 | CONFIG_CRYPTO_HMAC=y | 1046 | CONFIG_CRYPTO_HMAC=y |
1009 | CONFIG_CRYPTO_XCBC=m | 1047 | CONFIG_CRYPTO_XCBC=m |
1010 | CONFIG_CRYPTO_NULL=m | 1048 | |
1049 | # | ||
1050 | # Digest | ||
1051 | # | ||
1052 | CONFIG_CRYPTO_CRC32C=m | ||
1011 | CONFIG_CRYPTO_MD4=m | 1053 | CONFIG_CRYPTO_MD4=m |
1012 | CONFIG_CRYPTO_MD5=m | 1054 | CONFIG_CRYPTO_MD5=m |
1055 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
1013 | CONFIG_CRYPTO_SHA1=m | 1056 | CONFIG_CRYPTO_SHA1=m |
1014 | CONFIG_CRYPTO_SHA256=m | 1057 | CONFIG_CRYPTO_SHA256=m |
1015 | CONFIG_CRYPTO_SHA512=m | 1058 | CONFIG_CRYPTO_SHA512=m |
1016 | CONFIG_CRYPTO_WP512=m | ||
1017 | CONFIG_CRYPTO_TGR192=m | 1059 | CONFIG_CRYPTO_TGR192=m |
1018 | CONFIG_CRYPTO_GF128MUL=m | 1060 | CONFIG_CRYPTO_WP512=m |
1019 | CONFIG_CRYPTO_ECB=m | 1061 | |
1020 | CONFIG_CRYPTO_CBC=m | 1062 | # |
1021 | CONFIG_CRYPTO_PCBC=m | 1063 | # Ciphers |
1022 | CONFIG_CRYPTO_LRW=m | 1064 | # |
1023 | CONFIG_CRYPTO_XTS=m | ||
1024 | CONFIG_CRYPTO_CTR=m | ||
1025 | CONFIG_CRYPTO_GCM=m | ||
1026 | CONFIG_CRYPTO_CCM=m | ||
1027 | CONFIG_CRYPTO_CRYPTD=m | ||
1028 | CONFIG_CRYPTO_DES=m | ||
1029 | CONFIG_CRYPTO_FCRYPT=m | ||
1030 | CONFIG_CRYPTO_BLOWFISH=m | ||
1031 | CONFIG_CRYPTO_TWOFISH=m | ||
1032 | CONFIG_CRYPTO_TWOFISH_COMMON=m | ||
1033 | CONFIG_CRYPTO_SERPENT=m | ||
1034 | CONFIG_CRYPTO_AES=m | 1065 | CONFIG_CRYPTO_AES=m |
1066 | CONFIG_CRYPTO_ANUBIS=m | ||
1067 | CONFIG_CRYPTO_ARC4=m | ||
1068 | CONFIG_CRYPTO_BLOWFISH=m | ||
1069 | CONFIG_CRYPTO_CAMELLIA=m | ||
1035 | CONFIG_CRYPTO_CAST5=m | 1070 | CONFIG_CRYPTO_CAST5=m |
1036 | CONFIG_CRYPTO_CAST6=m | 1071 | CONFIG_CRYPTO_CAST6=m |
1037 | CONFIG_CRYPTO_TEA=m | 1072 | CONFIG_CRYPTO_DES=m |
1038 | CONFIG_CRYPTO_ARC4=m | 1073 | CONFIG_CRYPTO_FCRYPT=m |
1039 | CONFIG_CRYPTO_KHAZAD=m | 1074 | CONFIG_CRYPTO_KHAZAD=m |
1040 | CONFIG_CRYPTO_ANUBIS=m | ||
1041 | CONFIG_CRYPTO_SEED=m | ||
1042 | CONFIG_CRYPTO_SALSA20=m | 1075 | CONFIG_CRYPTO_SALSA20=m |
1076 | CONFIG_CRYPTO_SEED=m | ||
1077 | CONFIG_CRYPTO_SERPENT=m | ||
1078 | CONFIG_CRYPTO_TEA=m | ||
1079 | CONFIG_CRYPTO_TWOFISH=m | ||
1080 | CONFIG_CRYPTO_TWOFISH_COMMON=m | ||
1081 | |||
1082 | # | ||
1083 | # Compression | ||
1084 | # | ||
1043 | CONFIG_CRYPTO_DEFLATE=m | 1085 | CONFIG_CRYPTO_DEFLATE=m |
1044 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
1045 | CONFIG_CRYPTO_CRC32C=m | ||
1046 | CONFIG_CRYPTO_CAMELLIA=m | ||
1047 | CONFIG_CRYPTO_TEST=m | ||
1048 | CONFIG_CRYPTO_AUTHENC=m | ||
1049 | CONFIG_CRYPTO_LZO=m | 1086 | CONFIG_CRYPTO_LZO=m |
1050 | # CONFIG_CRYPTO_HW is not set | 1087 | # CONFIG_CRYPTO_HW is not set |
1051 | 1088 | ||
@@ -1053,9 +1090,11 @@ CONFIG_CRYPTO_LZO=m | |||
1053 | # Library routines | 1090 | # Library routines |
1054 | # | 1091 | # |
1055 | CONFIG_BITREVERSE=y | 1092 | CONFIG_BITREVERSE=y |
1093 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
1094 | # CONFIG_GENERIC_FIND_NEXT_BIT is not set | ||
1056 | CONFIG_CRC_CCITT=m | 1095 | CONFIG_CRC_CCITT=m |
1057 | CONFIG_CRC16=y | 1096 | CONFIG_CRC16=y |
1058 | # CONFIG_CRC_ITU_T is not set | 1097 | CONFIG_CRC_ITU_T=m |
1059 | CONFIG_CRC32=y | 1098 | CONFIG_CRC32=y |
1060 | # CONFIG_CRC7 is not set | 1099 | # CONFIG_CRC7 is not set |
1061 | CONFIG_LIBCRC32C=m | 1100 | CONFIG_LIBCRC32C=m |
diff --git a/arch/m68k/configs/bvme6000_defconfig b/arch/m68k/configs/bvme6000_defconfig index ed98eff708c4..0789ede2e9ee 100644 --- a/arch/m68k/configs/bvme6000_defconfig +++ b/arch/m68k/configs/bvme6000_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.25-rc8 | 3 | # Linux kernel version: 2.6.26-rc2 |
4 | # Wed Apr 2 20:46:10 2008 | 4 | # Sun May 18 14:44:45 2008 |
5 | # | 5 | # |
6 | CONFIG_M68K=y | 6 | CONFIG_M68K=y |
7 | CONFIG_MMU=y | 7 | CONFIG_MMU=y |
@@ -52,6 +52,7 @@ CONFIG_SYSCTL=y | |||
52 | # CONFIG_EMBEDDED is not set | 52 | # CONFIG_EMBEDDED is not set |
53 | CONFIG_UID16=y | 53 | CONFIG_UID16=y |
54 | CONFIG_SYSCTL_SYSCALL=y | 54 | CONFIG_SYSCTL_SYSCALL=y |
55 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
55 | CONFIG_KALLSYMS=y | 56 | CONFIG_KALLSYMS=y |
56 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 57 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
57 | CONFIG_HOTPLUG=y | 58 | CONFIG_HOTPLUG=y |
@@ -76,12 +77,14 @@ CONFIG_SLAB=y | |||
76 | # CONFIG_HAVE_OPROFILE is not set | 77 | # CONFIG_HAVE_OPROFILE is not set |
77 | # CONFIG_HAVE_KPROBES is not set | 78 | # CONFIG_HAVE_KPROBES is not set |
78 | # CONFIG_HAVE_KRETPROBES is not set | 79 | # CONFIG_HAVE_KRETPROBES is not set |
80 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
79 | CONFIG_PROC_PAGE_MONITOR=y | 81 | CONFIG_PROC_PAGE_MONITOR=y |
80 | CONFIG_SLABINFO=y | 82 | CONFIG_SLABINFO=y |
81 | CONFIG_RT_MUTEXES=y | 83 | CONFIG_RT_MUTEXES=y |
82 | # CONFIG_TINY_SHMEM is not set | 84 | # CONFIG_TINY_SHMEM is not set |
83 | CONFIG_BASE_SMALL=0 | 85 | CONFIG_BASE_SMALL=0 |
84 | CONFIG_MODULES=y | 86 | CONFIG_MODULES=y |
87 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
85 | CONFIG_MODULE_UNLOAD=y | 88 | CONFIG_MODULE_UNLOAD=y |
86 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 89 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
87 | # CONFIG_MODVERSIONS is not set | 90 | # CONFIG_MODVERSIONS is not set |
@@ -144,6 +147,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y | |||
144 | CONFIG_NEED_MULTIPLE_NODES=y | 147 | CONFIG_NEED_MULTIPLE_NODES=y |
145 | # CONFIG_SPARSEMEM_STATIC is not set | 148 | # CONFIG_SPARSEMEM_STATIC is not set |
146 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | 149 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set |
150 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
147 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 151 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
148 | # CONFIG_RESOURCES_64BIT is not set | 152 | # CONFIG_RESOURCES_64BIT is not set |
149 | CONFIG_ZONE_DMA_FLAG=1 | 153 | CONFIG_ZONE_DMA_FLAG=1 |
@@ -222,8 +226,10 @@ CONFIG_INET6_XFRM_MODE_TUNNEL=m | |||
222 | CONFIG_INET6_XFRM_MODE_BEET=m | 226 | CONFIG_INET6_XFRM_MODE_BEET=m |
223 | CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m | 227 | CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m |
224 | CONFIG_IPV6_SIT=m | 228 | CONFIG_IPV6_SIT=m |
229 | CONFIG_IPV6_NDISC_NODETYPE=y | ||
225 | CONFIG_IPV6_TUNNEL=m | 230 | CONFIG_IPV6_TUNNEL=m |
226 | # CONFIG_IPV6_MULTIPLE_TABLES is not set | 231 | # CONFIG_IPV6_MULTIPLE_TABLES is not set |
232 | # CONFIG_IPV6_MROUTE is not set | ||
227 | # CONFIG_NETWORK_SECMARK is not set | 233 | # CONFIG_NETWORK_SECMARK is not set |
228 | CONFIG_NETFILTER=y | 234 | CONFIG_NETFILTER=y |
229 | # CONFIG_NETFILTER_DEBUG is not set | 235 | # CONFIG_NETFILTER_DEBUG is not set |
@@ -239,6 +245,7 @@ CONFIG_NF_CONNTRACK=m | |||
239 | CONFIG_NF_CT_ACCT=y | 245 | CONFIG_NF_CT_ACCT=y |
240 | CONFIG_NF_CONNTRACK_MARK=y | 246 | CONFIG_NF_CONNTRACK_MARK=y |
241 | # CONFIG_NF_CONNTRACK_EVENTS is not set | 247 | # CONFIG_NF_CONNTRACK_EVENTS is not set |
248 | # CONFIG_NF_CT_PROTO_DCCP is not set | ||
242 | CONFIG_NF_CT_PROTO_GRE=m | 249 | CONFIG_NF_CT_PROTO_GRE=m |
243 | CONFIG_NF_CT_PROTO_SCTP=m | 250 | CONFIG_NF_CT_PROTO_SCTP=m |
244 | CONFIG_NF_CT_PROTO_UDPLITE=m | 251 | CONFIG_NF_CT_PROTO_UDPLITE=m |
@@ -317,6 +324,8 @@ CONFIG_IP_NF_TARGET_REDIRECT=m | |||
317 | CONFIG_IP_NF_TARGET_NETMAP=m | 324 | CONFIG_IP_NF_TARGET_NETMAP=m |
318 | CONFIG_NF_NAT_SNMP_BASIC=m | 325 | CONFIG_NF_NAT_SNMP_BASIC=m |
319 | CONFIG_NF_NAT_PROTO_GRE=m | 326 | CONFIG_NF_NAT_PROTO_GRE=m |
327 | CONFIG_NF_NAT_PROTO_UDPLITE=m | ||
328 | CONFIG_NF_NAT_PROTO_SCTP=m | ||
320 | CONFIG_NF_NAT_FTP=m | 329 | CONFIG_NF_NAT_FTP=m |
321 | CONFIG_NF_NAT_IRC=m | 330 | CONFIG_NF_NAT_IRC=m |
322 | CONFIG_NF_NAT_TFTP=m | 331 | CONFIG_NF_NAT_TFTP=m |
@@ -410,8 +419,6 @@ CONFIG_IEEE80211=m | |||
410 | CONFIG_IEEE80211_CRYPT_WEP=m | 419 | CONFIG_IEEE80211_CRYPT_WEP=m |
411 | CONFIG_IEEE80211_CRYPT_CCMP=m | 420 | CONFIG_IEEE80211_CRYPT_CCMP=m |
412 | CONFIG_IEEE80211_CRYPT_TKIP=m | 421 | CONFIG_IEEE80211_CRYPT_TKIP=m |
413 | CONFIG_IEEE80211_SOFTMAC=m | ||
414 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
415 | # CONFIG_RFKILL is not set | 422 | # CONFIG_RFKILL is not set |
416 | # CONFIG_NET_9P is not set | 423 | # CONFIG_NET_9P is not set |
417 | 424 | ||
@@ -543,6 +550,7 @@ CONFIG_BVME6000_NET=y | |||
543 | # | 550 | # |
544 | # CONFIG_WLAN_PRE80211 is not set | 551 | # CONFIG_WLAN_PRE80211 is not set |
545 | # CONFIG_WLAN_80211 is not set | 552 | # CONFIG_WLAN_80211 is not set |
553 | # CONFIG_IWLWIFI_LEDS is not set | ||
546 | # CONFIG_WAN is not set | 554 | # CONFIG_WAN is not set |
547 | CONFIG_PPP=m | 555 | CONFIG_PPP=m |
548 | # CONFIG_PPP_MULTILINK is not set | 556 | # CONFIG_PPP_MULTILINK is not set |
@@ -626,6 +634,7 @@ CONFIG_VT=y | |||
626 | CONFIG_VT_CONSOLE=y | 634 | CONFIG_VT_CONSOLE=y |
627 | CONFIG_HW_CONSOLE=y | 635 | CONFIG_HW_CONSOLE=y |
628 | CONFIG_VT_HW_CONSOLE_BINDING=y | 636 | CONFIG_VT_HW_CONSOLE_BINDING=y |
637 | # CONFIG_DEVKMEM is not set | ||
629 | # CONFIG_SERIAL_NONSTANDARD is not set | 638 | # CONFIG_SERIAL_NONSTANDARD is not set |
630 | 639 | ||
631 | # | 640 | # |
@@ -647,12 +656,7 @@ CONFIG_GEN_RTC_X=y | |||
647 | # CONFIG_RAW_DRIVER is not set | 656 | # CONFIG_RAW_DRIVER is not set |
648 | # CONFIG_TCG_TPM is not set | 657 | # CONFIG_TCG_TPM is not set |
649 | # CONFIG_I2C is not set | 658 | # CONFIG_I2C is not set |
650 | |||
651 | # | ||
652 | # SPI support | ||
653 | # | ||
654 | # CONFIG_SPI is not set | 659 | # CONFIG_SPI is not set |
655 | # CONFIG_SPI_MASTER is not set | ||
656 | # CONFIG_W1 is not set | 660 | # CONFIG_W1 is not set |
657 | # CONFIG_POWER_SUPPLY is not set | 661 | # CONFIG_POWER_SUPPLY is not set |
658 | # CONFIG_HWMON is not set | 662 | # CONFIG_HWMON is not set |
@@ -669,12 +673,22 @@ CONFIG_SSB_POSSIBLE=y | |||
669 | # Multifunction device drivers | 673 | # Multifunction device drivers |
670 | # | 674 | # |
671 | # CONFIG_MFD_SM501 is not set | 675 | # CONFIG_MFD_SM501 is not set |
676 | # CONFIG_HTC_PASIC3 is not set | ||
672 | 677 | ||
673 | # | 678 | # |
674 | # Multimedia devices | 679 | # Multimedia devices |
675 | # | 680 | # |
681 | |||
682 | # | ||
683 | # Multimedia core support | ||
684 | # | ||
676 | # CONFIG_VIDEO_DEV is not set | 685 | # CONFIG_VIDEO_DEV is not set |
677 | # CONFIG_DVB_CORE is not set | 686 | # CONFIG_DVB_CORE is not set |
687 | # CONFIG_VIDEO_MEDIA is not set | ||
688 | |||
689 | # | ||
690 | # Multimedia drivers | ||
691 | # | ||
678 | # CONFIG_DAB is not set | 692 | # CONFIG_DAB is not set |
679 | 693 | ||
680 | # | 694 | # |
@@ -707,11 +721,8 @@ CONFIG_HIDRAW=y | |||
707 | # CONFIG_MMC is not set | 721 | # CONFIG_MMC is not set |
708 | # CONFIG_MEMSTICK is not set | 722 | # CONFIG_MEMSTICK is not set |
709 | # CONFIG_NEW_LEDS is not set | 723 | # CONFIG_NEW_LEDS is not set |
724 | # CONFIG_ACCESSIBILITY is not set | ||
710 | # CONFIG_RTC_CLASS is not set | 725 | # CONFIG_RTC_CLASS is not set |
711 | |||
712 | # | ||
713 | # Userspace I/O | ||
714 | # | ||
715 | # CONFIG_UIO is not set | 726 | # CONFIG_UIO is not set |
716 | 727 | ||
717 | # | 728 | # |
@@ -739,16 +750,15 @@ CONFIG_JFS_FS=m | |||
739 | # CONFIG_JFS_SECURITY is not set | 750 | # CONFIG_JFS_SECURITY is not set |
740 | # CONFIG_JFS_DEBUG is not set | 751 | # CONFIG_JFS_DEBUG is not set |
741 | # CONFIG_JFS_STATISTICS is not set | 752 | # CONFIG_JFS_STATISTICS is not set |
742 | CONFIG_FS_POSIX_ACL=y | 753 | # CONFIG_FS_POSIX_ACL is not set |
743 | CONFIG_XFS_FS=m | 754 | CONFIG_XFS_FS=m |
744 | # CONFIG_XFS_QUOTA is not set | 755 | # CONFIG_XFS_QUOTA is not set |
745 | # CONFIG_XFS_SECURITY is not set | ||
746 | # CONFIG_XFS_POSIX_ACL is not set | 756 | # CONFIG_XFS_POSIX_ACL is not set |
747 | # CONFIG_XFS_RT is not set | 757 | # CONFIG_XFS_RT is not set |
748 | CONFIG_GFS2_FS=m | 758 | # CONFIG_XFS_DEBUG is not set |
749 | CONFIG_GFS2_FS_LOCKING_NOLOCK=m | ||
750 | CONFIG_GFS2_FS_LOCKING_DLM=m | ||
751 | CONFIG_OCFS2_FS=m | 759 | CONFIG_OCFS2_FS=m |
760 | CONFIG_OCFS2_FS_O2CB=m | ||
761 | CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m | ||
752 | # CONFIG_OCFS2_DEBUG_MASKLOG is not set | 762 | # CONFIG_OCFS2_DEBUG_MASKLOG is not set |
753 | # CONFIG_OCFS2_DEBUG_FS is not set | 763 | # CONFIG_OCFS2_DEBUG_FS is not set |
754 | CONFIG_DNOTIFY=y | 764 | CONFIG_DNOTIFY=y |
@@ -820,12 +830,10 @@ CONFIG_NFS_FS=y | |||
820 | CONFIG_NFS_V3=y | 830 | CONFIG_NFS_V3=y |
821 | # CONFIG_NFS_V3_ACL is not set | 831 | # CONFIG_NFS_V3_ACL is not set |
822 | CONFIG_NFS_V4=y | 832 | CONFIG_NFS_V4=y |
823 | # CONFIG_NFS_DIRECTIO is not set | ||
824 | CONFIG_NFSD=m | 833 | CONFIG_NFSD=m |
825 | CONFIG_NFSD_V3=y | 834 | CONFIG_NFSD_V3=y |
826 | # CONFIG_NFSD_V3_ACL is not set | 835 | # CONFIG_NFSD_V3_ACL is not set |
827 | # CONFIG_NFSD_V4 is not set | 836 | # CONFIG_NFSD_V4 is not set |
828 | CONFIG_NFSD_TCP=y | ||
829 | CONFIG_ROOT_NFS=y | 837 | CONFIG_ROOT_NFS=y |
830 | CONFIG_LOCKD=y | 838 | CONFIG_LOCKD=y |
831 | CONFIG_LOCKD_V4=y | 839 | CONFIG_LOCKD_V4=y |
@@ -900,6 +908,7 @@ CONFIG_DLM=m | |||
900 | # CONFIG_PRINTK_TIME is not set | 908 | # CONFIG_PRINTK_TIME is not set |
901 | CONFIG_ENABLE_WARN_DEPRECATED=y | 909 | CONFIG_ENABLE_WARN_DEPRECATED=y |
902 | CONFIG_ENABLE_MUST_CHECK=y | 910 | CONFIG_ENABLE_MUST_CHECK=y |
911 | CONFIG_FRAME_WARN=1024 | ||
903 | CONFIG_MAGIC_SYSRQ=y | 912 | CONFIG_MAGIC_SYSRQ=y |
904 | # CONFIG_UNUSED_SYMBOLS is not set | 913 | # CONFIG_UNUSED_SYMBOLS is not set |
905 | # CONFIG_DEBUG_FS is not set | 914 | # CONFIG_DEBUG_FS is not set |
@@ -919,53 +928,82 @@ CONFIG_ASYNC_CORE=m | |||
919 | CONFIG_ASYNC_MEMCPY=m | 928 | CONFIG_ASYNC_MEMCPY=m |
920 | CONFIG_ASYNC_XOR=m | 929 | CONFIG_ASYNC_XOR=m |
921 | CONFIG_CRYPTO=y | 930 | CONFIG_CRYPTO=y |
931 | |||
932 | # | ||
933 | # Crypto core or helper | ||
934 | # | ||
922 | CONFIG_CRYPTO_ALGAPI=y | 935 | CONFIG_CRYPTO_ALGAPI=y |
923 | CONFIG_CRYPTO_AEAD=m | 936 | CONFIG_CRYPTO_AEAD=m |
924 | CONFIG_CRYPTO_BLKCIPHER=y | 937 | CONFIG_CRYPTO_BLKCIPHER=y |
925 | CONFIG_CRYPTO_SEQIV=m | ||
926 | CONFIG_CRYPTO_HASH=y | 938 | CONFIG_CRYPTO_HASH=y |
927 | CONFIG_CRYPTO_MANAGER=y | 939 | CONFIG_CRYPTO_MANAGER=y |
940 | CONFIG_CRYPTO_GF128MUL=m | ||
941 | CONFIG_CRYPTO_NULL=m | ||
942 | CONFIG_CRYPTO_CRYPTD=m | ||
943 | CONFIG_CRYPTO_AUTHENC=m | ||
944 | CONFIG_CRYPTO_TEST=m | ||
945 | |||
946 | # | ||
947 | # Authenticated Encryption with Associated Data | ||
948 | # | ||
949 | CONFIG_CRYPTO_CCM=m | ||
950 | CONFIG_CRYPTO_GCM=m | ||
951 | CONFIG_CRYPTO_SEQIV=m | ||
952 | |||
953 | # | ||
954 | # Block modes | ||
955 | # | ||
956 | CONFIG_CRYPTO_CBC=y | ||
957 | CONFIG_CRYPTO_CTR=m | ||
958 | CONFIG_CRYPTO_CTS=m | ||
959 | CONFIG_CRYPTO_ECB=m | ||
960 | CONFIG_CRYPTO_LRW=m | ||
961 | CONFIG_CRYPTO_PCBC=m | ||
962 | CONFIG_CRYPTO_XTS=m | ||
963 | |||
964 | # | ||
965 | # Hash modes | ||
966 | # | ||
928 | CONFIG_CRYPTO_HMAC=y | 967 | CONFIG_CRYPTO_HMAC=y |
929 | CONFIG_CRYPTO_XCBC=m | 968 | CONFIG_CRYPTO_XCBC=m |
930 | CONFIG_CRYPTO_NULL=m | 969 | |
970 | # | ||
971 | # Digest | ||
972 | # | ||
973 | CONFIG_CRYPTO_CRC32C=m | ||
931 | CONFIG_CRYPTO_MD4=m | 974 | CONFIG_CRYPTO_MD4=m |
932 | CONFIG_CRYPTO_MD5=y | 975 | CONFIG_CRYPTO_MD5=y |
976 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
933 | CONFIG_CRYPTO_SHA1=m | 977 | CONFIG_CRYPTO_SHA1=m |
934 | CONFIG_CRYPTO_SHA256=m | 978 | CONFIG_CRYPTO_SHA256=m |
935 | CONFIG_CRYPTO_SHA512=m | 979 | CONFIG_CRYPTO_SHA512=m |
936 | CONFIG_CRYPTO_WP512=m | ||
937 | CONFIG_CRYPTO_TGR192=m | 980 | CONFIG_CRYPTO_TGR192=m |
938 | CONFIG_CRYPTO_GF128MUL=m | 981 | CONFIG_CRYPTO_WP512=m |
939 | CONFIG_CRYPTO_ECB=m | 982 | |
940 | CONFIG_CRYPTO_CBC=y | 983 | # |
941 | CONFIG_CRYPTO_PCBC=m | 984 | # Ciphers |
942 | CONFIG_CRYPTO_LRW=m | 985 | # |
943 | CONFIG_CRYPTO_XTS=m | ||
944 | CONFIG_CRYPTO_CTR=m | ||
945 | CONFIG_CRYPTO_GCM=m | ||
946 | CONFIG_CRYPTO_CCM=m | ||
947 | CONFIG_CRYPTO_CRYPTD=m | ||
948 | CONFIG_CRYPTO_DES=y | ||
949 | CONFIG_CRYPTO_FCRYPT=m | ||
950 | CONFIG_CRYPTO_BLOWFISH=m | ||
951 | CONFIG_CRYPTO_TWOFISH=m | ||
952 | CONFIG_CRYPTO_TWOFISH_COMMON=m | ||
953 | CONFIG_CRYPTO_SERPENT=m | ||
954 | CONFIG_CRYPTO_AES=m | 986 | CONFIG_CRYPTO_AES=m |
987 | CONFIG_CRYPTO_ANUBIS=m | ||
988 | CONFIG_CRYPTO_ARC4=m | ||
989 | CONFIG_CRYPTO_BLOWFISH=m | ||
990 | CONFIG_CRYPTO_CAMELLIA=m | ||
955 | CONFIG_CRYPTO_CAST5=m | 991 | CONFIG_CRYPTO_CAST5=m |
956 | CONFIG_CRYPTO_CAST6=m | 992 | CONFIG_CRYPTO_CAST6=m |
957 | CONFIG_CRYPTO_TEA=m | 993 | CONFIG_CRYPTO_DES=y |
958 | CONFIG_CRYPTO_ARC4=m | 994 | CONFIG_CRYPTO_FCRYPT=m |
959 | CONFIG_CRYPTO_KHAZAD=m | 995 | CONFIG_CRYPTO_KHAZAD=m |
960 | CONFIG_CRYPTO_ANUBIS=m | ||
961 | CONFIG_CRYPTO_SEED=m | ||
962 | CONFIG_CRYPTO_SALSA20=m | 996 | CONFIG_CRYPTO_SALSA20=m |
997 | CONFIG_CRYPTO_SEED=m | ||
998 | CONFIG_CRYPTO_SERPENT=m | ||
999 | CONFIG_CRYPTO_TEA=m | ||
1000 | CONFIG_CRYPTO_TWOFISH=m | ||
1001 | CONFIG_CRYPTO_TWOFISH_COMMON=m | ||
1002 | |||
1003 | # | ||
1004 | # Compression | ||
1005 | # | ||
963 | CONFIG_CRYPTO_DEFLATE=m | 1006 | CONFIG_CRYPTO_DEFLATE=m |
964 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
965 | CONFIG_CRYPTO_CRC32C=m | ||
966 | CONFIG_CRYPTO_CAMELLIA=m | ||
967 | CONFIG_CRYPTO_TEST=m | ||
968 | CONFIG_CRYPTO_AUTHENC=m | ||
969 | CONFIG_CRYPTO_LZO=m | 1007 | CONFIG_CRYPTO_LZO=m |
970 | # CONFIG_CRYPTO_HW is not set | 1008 | # CONFIG_CRYPTO_HW is not set |
971 | 1009 | ||
@@ -973,9 +1011,11 @@ CONFIG_CRYPTO_LZO=m | |||
973 | # Library routines | 1011 | # Library routines |
974 | # | 1012 | # |
975 | CONFIG_BITREVERSE=m | 1013 | CONFIG_BITREVERSE=m |
1014 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
1015 | # CONFIG_GENERIC_FIND_NEXT_BIT is not set | ||
976 | CONFIG_CRC_CCITT=m | 1016 | CONFIG_CRC_CCITT=m |
977 | CONFIG_CRC16=m | 1017 | CONFIG_CRC16=m |
978 | # CONFIG_CRC_ITU_T is not set | 1018 | CONFIG_CRC_ITU_T=m |
979 | CONFIG_CRC32=m | 1019 | CONFIG_CRC32=m |
980 | # CONFIG_CRC7 is not set | 1020 | # CONFIG_CRC7 is not set |
981 | CONFIG_LIBCRC32C=m | 1021 | CONFIG_LIBCRC32C=m |
diff --git a/arch/m68k/configs/hp300_defconfig b/arch/m68k/configs/hp300_defconfig index 38b68c70e567..3e140bf49b22 100644 --- a/arch/m68k/configs/hp300_defconfig +++ b/arch/m68k/configs/hp300_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.25-rc8 | 3 | # Linux kernel version: 2.6.26-rc2 |
4 | # Wed Apr 2 20:46:12 2008 | 4 | # Sun May 18 14:44:46 2008 |
5 | # | 5 | # |
6 | CONFIG_M68K=y | 6 | CONFIG_M68K=y |
7 | CONFIG_MMU=y | 7 | CONFIG_MMU=y |
@@ -52,6 +52,7 @@ CONFIG_SYSCTL=y | |||
52 | # CONFIG_EMBEDDED is not set | 52 | # CONFIG_EMBEDDED is not set |
53 | CONFIG_UID16=y | 53 | CONFIG_UID16=y |
54 | CONFIG_SYSCTL_SYSCALL=y | 54 | CONFIG_SYSCTL_SYSCALL=y |
55 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
55 | CONFIG_KALLSYMS=y | 56 | CONFIG_KALLSYMS=y |
56 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 57 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
57 | CONFIG_HOTPLUG=y | 58 | CONFIG_HOTPLUG=y |
@@ -76,12 +77,14 @@ CONFIG_SLAB=y | |||
76 | # CONFIG_HAVE_OPROFILE is not set | 77 | # CONFIG_HAVE_OPROFILE is not set |
77 | # CONFIG_HAVE_KPROBES is not set | 78 | # CONFIG_HAVE_KPROBES is not set |
78 | # CONFIG_HAVE_KRETPROBES is not set | 79 | # CONFIG_HAVE_KRETPROBES is not set |
80 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
79 | CONFIG_PROC_PAGE_MONITOR=y | 81 | CONFIG_PROC_PAGE_MONITOR=y |
80 | CONFIG_SLABINFO=y | 82 | CONFIG_SLABINFO=y |
81 | CONFIG_RT_MUTEXES=y | 83 | CONFIG_RT_MUTEXES=y |
82 | # CONFIG_TINY_SHMEM is not set | 84 | # CONFIG_TINY_SHMEM is not set |
83 | CONFIG_BASE_SMALL=0 | 85 | CONFIG_BASE_SMALL=0 |
84 | CONFIG_MODULES=y | 86 | CONFIG_MODULES=y |
87 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
85 | CONFIG_MODULE_UNLOAD=y | 88 | CONFIG_MODULE_UNLOAD=y |
86 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 89 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
87 | # CONFIG_MODVERSIONS is not set | 90 | # CONFIG_MODVERSIONS is not set |
@@ -142,6 +145,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y | |||
142 | CONFIG_NEED_MULTIPLE_NODES=y | 145 | CONFIG_NEED_MULTIPLE_NODES=y |
143 | # CONFIG_SPARSEMEM_STATIC is not set | 146 | # CONFIG_SPARSEMEM_STATIC is not set |
144 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | 147 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set |
148 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
145 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 149 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
146 | # CONFIG_RESOURCES_64BIT is not set | 150 | # CONFIG_RESOURCES_64BIT is not set |
147 | CONFIG_ZONE_DMA_FLAG=1 | 151 | CONFIG_ZONE_DMA_FLAG=1 |
@@ -221,8 +225,10 @@ CONFIG_INET6_XFRM_MODE_TUNNEL=m | |||
221 | CONFIG_INET6_XFRM_MODE_BEET=m | 225 | CONFIG_INET6_XFRM_MODE_BEET=m |
222 | CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m | 226 | CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m |
223 | CONFIG_IPV6_SIT=m | 227 | CONFIG_IPV6_SIT=m |
228 | CONFIG_IPV6_NDISC_NODETYPE=y | ||
224 | CONFIG_IPV6_TUNNEL=m | 229 | CONFIG_IPV6_TUNNEL=m |
225 | # CONFIG_IPV6_MULTIPLE_TABLES is not set | 230 | # CONFIG_IPV6_MULTIPLE_TABLES is not set |
231 | # CONFIG_IPV6_MROUTE is not set | ||
226 | # CONFIG_NETWORK_SECMARK is not set | 232 | # CONFIG_NETWORK_SECMARK is not set |
227 | CONFIG_NETFILTER=y | 233 | CONFIG_NETFILTER=y |
228 | # CONFIG_NETFILTER_DEBUG is not set | 234 | # CONFIG_NETFILTER_DEBUG is not set |
@@ -238,6 +244,7 @@ CONFIG_NF_CONNTRACK=m | |||
238 | CONFIG_NF_CT_ACCT=y | 244 | CONFIG_NF_CT_ACCT=y |
239 | CONFIG_NF_CONNTRACK_MARK=y | 245 | CONFIG_NF_CONNTRACK_MARK=y |
240 | # CONFIG_NF_CONNTRACK_EVENTS is not set | 246 | # CONFIG_NF_CONNTRACK_EVENTS is not set |
247 | # CONFIG_NF_CT_PROTO_DCCP is not set | ||
241 | CONFIG_NF_CT_PROTO_GRE=m | 248 | CONFIG_NF_CT_PROTO_GRE=m |
242 | CONFIG_NF_CT_PROTO_SCTP=m | 249 | CONFIG_NF_CT_PROTO_SCTP=m |
243 | CONFIG_NF_CT_PROTO_UDPLITE=m | 250 | CONFIG_NF_CT_PROTO_UDPLITE=m |
@@ -316,6 +323,8 @@ CONFIG_IP_NF_TARGET_REDIRECT=m | |||
316 | CONFIG_IP_NF_TARGET_NETMAP=m | 323 | CONFIG_IP_NF_TARGET_NETMAP=m |
317 | CONFIG_NF_NAT_SNMP_BASIC=m | 324 | CONFIG_NF_NAT_SNMP_BASIC=m |
318 | CONFIG_NF_NAT_PROTO_GRE=m | 325 | CONFIG_NF_NAT_PROTO_GRE=m |
326 | CONFIG_NF_NAT_PROTO_UDPLITE=m | ||
327 | CONFIG_NF_NAT_PROTO_SCTP=m | ||
319 | CONFIG_NF_NAT_FTP=m | 328 | CONFIG_NF_NAT_FTP=m |
320 | CONFIG_NF_NAT_IRC=m | 329 | CONFIG_NF_NAT_IRC=m |
321 | CONFIG_NF_NAT_TFTP=m | 330 | CONFIG_NF_NAT_TFTP=m |
@@ -409,8 +418,6 @@ CONFIG_IEEE80211=m | |||
409 | CONFIG_IEEE80211_CRYPT_WEP=m | 418 | CONFIG_IEEE80211_CRYPT_WEP=m |
410 | CONFIG_IEEE80211_CRYPT_CCMP=m | 419 | CONFIG_IEEE80211_CRYPT_CCMP=m |
411 | CONFIG_IEEE80211_CRYPT_TKIP=m | 420 | CONFIG_IEEE80211_CRYPT_TKIP=m |
412 | CONFIG_IEEE80211_SOFTMAC=m | ||
413 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
414 | # CONFIG_RFKILL is not set | 421 | # CONFIG_RFKILL is not set |
415 | # CONFIG_NET_9P is not set | 422 | # CONFIG_NET_9P is not set |
416 | 423 | ||
@@ -540,6 +547,7 @@ CONFIG_HPLANCE=y | |||
540 | # | 547 | # |
541 | # CONFIG_WLAN_PRE80211 is not set | 548 | # CONFIG_WLAN_PRE80211 is not set |
542 | # CONFIG_WLAN_80211 is not set | 549 | # CONFIG_WLAN_80211 is not set |
550 | # CONFIG_IWLWIFI_LEDS is not set | ||
543 | # CONFIG_WAN is not set | 551 | # CONFIG_WAN is not set |
544 | CONFIG_PPP=m | 552 | CONFIG_PPP=m |
545 | # CONFIG_PPP_MULTILINK is not set | 553 | # CONFIG_PPP_MULTILINK is not set |
@@ -631,6 +639,7 @@ CONFIG_VT=y | |||
631 | CONFIG_VT_CONSOLE=y | 639 | CONFIG_VT_CONSOLE=y |
632 | CONFIG_HW_CONSOLE=y | 640 | CONFIG_HW_CONSOLE=y |
633 | CONFIG_VT_HW_CONSOLE_BINDING=y | 641 | CONFIG_VT_HW_CONSOLE_BINDING=y |
642 | # CONFIG_DEVKMEM is not set | ||
634 | # CONFIG_SERIAL_NONSTANDARD is not set | 643 | # CONFIG_SERIAL_NONSTANDARD is not set |
635 | 644 | ||
636 | # | 645 | # |
@@ -652,12 +661,7 @@ CONFIG_GEN_RTC_X=y | |||
652 | # CONFIG_RAW_DRIVER is not set | 661 | # CONFIG_RAW_DRIVER is not set |
653 | # CONFIG_TCG_TPM is not set | 662 | # CONFIG_TCG_TPM is not set |
654 | # CONFIG_I2C is not set | 663 | # CONFIG_I2C is not set |
655 | |||
656 | # | ||
657 | # SPI support | ||
658 | # | ||
659 | # CONFIG_SPI is not set | 664 | # CONFIG_SPI is not set |
660 | # CONFIG_SPI_MASTER is not set | ||
661 | # CONFIG_W1 is not set | 665 | # CONFIG_W1 is not set |
662 | # CONFIG_POWER_SUPPLY is not set | 666 | # CONFIG_POWER_SUPPLY is not set |
663 | # CONFIG_HWMON is not set | 667 | # CONFIG_HWMON is not set |
@@ -674,12 +678,22 @@ CONFIG_SSB_POSSIBLE=y | |||
674 | # Multifunction device drivers | 678 | # Multifunction device drivers |
675 | # | 679 | # |
676 | # CONFIG_MFD_SM501 is not set | 680 | # CONFIG_MFD_SM501 is not set |
681 | # CONFIG_HTC_PASIC3 is not set | ||
677 | 682 | ||
678 | # | 683 | # |
679 | # Multimedia devices | 684 | # Multimedia devices |
680 | # | 685 | # |
686 | |||
687 | # | ||
688 | # Multimedia core support | ||
689 | # | ||
681 | # CONFIG_VIDEO_DEV is not set | 690 | # CONFIG_VIDEO_DEV is not set |
682 | # CONFIG_DVB_CORE is not set | 691 | # CONFIG_DVB_CORE is not set |
692 | # CONFIG_VIDEO_MEDIA is not set | ||
693 | |||
694 | # | ||
695 | # Multimedia drivers | ||
696 | # | ||
683 | # CONFIG_DAB is not set | 697 | # CONFIG_DAB is not set |
684 | 698 | ||
685 | # | 699 | # |
@@ -690,15 +704,15 @@ CONFIG_SSB_POSSIBLE=y | |||
690 | CONFIG_FB=y | 704 | CONFIG_FB=y |
691 | # CONFIG_FIRMWARE_EDID is not set | 705 | # CONFIG_FIRMWARE_EDID is not set |
692 | # CONFIG_FB_DDC is not set | 706 | # CONFIG_FB_DDC is not set |
693 | CONFIG_FB_CFB_FILLRECT=y | 707 | # CONFIG_FB_CFB_FILLRECT is not set |
694 | # CONFIG_FB_CFB_COPYAREA is not set | 708 | # CONFIG_FB_CFB_COPYAREA is not set |
695 | CONFIG_FB_CFB_IMAGEBLIT=y | 709 | CONFIG_FB_CFB_IMAGEBLIT=y |
696 | # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set | 710 | # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set |
697 | # CONFIG_FB_SYS_FILLRECT is not set | 711 | # CONFIG_FB_SYS_FILLRECT is not set |
698 | # CONFIG_FB_SYS_COPYAREA is not set | 712 | # CONFIG_FB_SYS_COPYAREA is not set |
699 | # CONFIG_FB_SYS_IMAGEBLIT is not set | 713 | # CONFIG_FB_SYS_IMAGEBLIT is not set |
714 | # CONFIG_FB_FOREIGN_ENDIAN is not set | ||
700 | # CONFIG_FB_SYS_FOPS is not set | 715 | # CONFIG_FB_SYS_FOPS is not set |
701 | CONFIG_FB_DEFERRED_IO=y | ||
702 | # CONFIG_FB_SVGALIB is not set | 716 | # CONFIG_FB_SVGALIB is not set |
703 | # CONFIG_FB_MACMODES is not set | 717 | # CONFIG_FB_MACMODES is not set |
704 | # CONFIG_FB_BACKLIGHT is not set | 718 | # CONFIG_FB_BACKLIGHT is not set |
@@ -746,11 +760,8 @@ CONFIG_HIDRAW=y | |||
746 | # CONFIG_MMC is not set | 760 | # CONFIG_MMC is not set |
747 | # CONFIG_MEMSTICK is not set | 761 | # CONFIG_MEMSTICK is not set |
748 | # CONFIG_NEW_LEDS is not set | 762 | # CONFIG_NEW_LEDS is not set |
763 | # CONFIG_ACCESSIBILITY is not set | ||
749 | # CONFIG_RTC_CLASS is not set | 764 | # CONFIG_RTC_CLASS is not set |
750 | |||
751 | # | ||
752 | # Userspace I/O | ||
753 | # | ||
754 | # CONFIG_UIO is not set | 765 | # CONFIG_UIO is not set |
755 | 766 | ||
756 | # | 767 | # |
@@ -776,16 +787,15 @@ CONFIG_JFS_FS=m | |||
776 | # CONFIG_JFS_SECURITY is not set | 787 | # CONFIG_JFS_SECURITY is not set |
777 | # CONFIG_JFS_DEBUG is not set | 788 | # CONFIG_JFS_DEBUG is not set |
778 | # CONFIG_JFS_STATISTICS is not set | 789 | # CONFIG_JFS_STATISTICS is not set |
779 | CONFIG_FS_POSIX_ACL=y | 790 | # CONFIG_FS_POSIX_ACL is not set |
780 | CONFIG_XFS_FS=m | 791 | CONFIG_XFS_FS=m |
781 | # CONFIG_XFS_QUOTA is not set | 792 | # CONFIG_XFS_QUOTA is not set |
782 | # CONFIG_XFS_SECURITY is not set | ||
783 | # CONFIG_XFS_POSIX_ACL is not set | 793 | # CONFIG_XFS_POSIX_ACL is not set |
784 | # CONFIG_XFS_RT is not set | 794 | # CONFIG_XFS_RT is not set |
785 | CONFIG_GFS2_FS=m | 795 | # CONFIG_XFS_DEBUG is not set |
786 | CONFIG_GFS2_FS_LOCKING_NOLOCK=m | ||
787 | CONFIG_GFS2_FS_LOCKING_DLM=m | ||
788 | CONFIG_OCFS2_FS=m | 796 | CONFIG_OCFS2_FS=m |
797 | CONFIG_OCFS2_FS_O2CB=m | ||
798 | CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m | ||
789 | # CONFIG_OCFS2_DEBUG_MASKLOG is not set | 799 | # CONFIG_OCFS2_DEBUG_MASKLOG is not set |
790 | # CONFIG_OCFS2_DEBUG_FS is not set | 800 | # CONFIG_OCFS2_DEBUG_FS is not set |
791 | CONFIG_DNOTIFY=y | 801 | CONFIG_DNOTIFY=y |
@@ -857,12 +867,10 @@ CONFIG_NFS_FS=y | |||
857 | CONFIG_NFS_V3=y | 867 | CONFIG_NFS_V3=y |
858 | # CONFIG_NFS_V3_ACL is not set | 868 | # CONFIG_NFS_V3_ACL is not set |
859 | CONFIG_NFS_V4=y | 869 | CONFIG_NFS_V4=y |
860 | # CONFIG_NFS_DIRECTIO is not set | ||
861 | CONFIG_NFSD=m | 870 | CONFIG_NFSD=m |
862 | CONFIG_NFSD_V3=y | 871 | CONFIG_NFSD_V3=y |
863 | # CONFIG_NFSD_V3_ACL is not set | 872 | # CONFIG_NFSD_V3_ACL is not set |
864 | # CONFIG_NFSD_V4 is not set | 873 | # CONFIG_NFSD_V4 is not set |
865 | CONFIG_NFSD_TCP=y | ||
866 | CONFIG_ROOT_NFS=y | 874 | CONFIG_ROOT_NFS=y |
867 | CONFIG_LOCKD=y | 875 | CONFIG_LOCKD=y |
868 | CONFIG_LOCKD_V4=y | 876 | CONFIG_LOCKD_V4=y |
@@ -936,6 +944,7 @@ CONFIG_DLM=m | |||
936 | # CONFIG_PRINTK_TIME is not set | 944 | # CONFIG_PRINTK_TIME is not set |
937 | CONFIG_ENABLE_WARN_DEPRECATED=y | 945 | CONFIG_ENABLE_WARN_DEPRECATED=y |
938 | CONFIG_ENABLE_MUST_CHECK=y | 946 | CONFIG_ENABLE_MUST_CHECK=y |
947 | CONFIG_FRAME_WARN=1024 | ||
939 | CONFIG_MAGIC_SYSRQ=y | 948 | CONFIG_MAGIC_SYSRQ=y |
940 | # CONFIG_UNUSED_SYMBOLS is not set | 949 | # CONFIG_UNUSED_SYMBOLS is not set |
941 | # CONFIG_DEBUG_FS is not set | 950 | # CONFIG_DEBUG_FS is not set |
@@ -955,53 +964,82 @@ CONFIG_ASYNC_CORE=m | |||
955 | CONFIG_ASYNC_MEMCPY=m | 964 | CONFIG_ASYNC_MEMCPY=m |
956 | CONFIG_ASYNC_XOR=m | 965 | CONFIG_ASYNC_XOR=m |
957 | CONFIG_CRYPTO=y | 966 | CONFIG_CRYPTO=y |
967 | |||
968 | # | ||
969 | # Crypto core or helper | ||
970 | # | ||
958 | CONFIG_CRYPTO_ALGAPI=y | 971 | CONFIG_CRYPTO_ALGAPI=y |
959 | CONFIG_CRYPTO_AEAD=m | 972 | CONFIG_CRYPTO_AEAD=m |
960 | CONFIG_CRYPTO_BLKCIPHER=y | 973 | CONFIG_CRYPTO_BLKCIPHER=y |
961 | CONFIG_CRYPTO_SEQIV=m | ||
962 | CONFIG_CRYPTO_HASH=y | 974 | CONFIG_CRYPTO_HASH=y |
963 | CONFIG_CRYPTO_MANAGER=y | 975 | CONFIG_CRYPTO_MANAGER=y |
976 | CONFIG_CRYPTO_GF128MUL=m | ||
977 | CONFIG_CRYPTO_NULL=m | ||
978 | CONFIG_CRYPTO_CRYPTD=m | ||
979 | CONFIG_CRYPTO_AUTHENC=m | ||
980 | CONFIG_CRYPTO_TEST=m | ||
981 | |||
982 | # | ||
983 | # Authenticated Encryption with Associated Data | ||
984 | # | ||
985 | CONFIG_CRYPTO_CCM=m | ||
986 | CONFIG_CRYPTO_GCM=m | ||
987 | CONFIG_CRYPTO_SEQIV=m | ||
988 | |||
989 | # | ||
990 | # Block modes | ||
991 | # | ||
992 | CONFIG_CRYPTO_CBC=y | ||
993 | CONFIG_CRYPTO_CTR=m | ||
994 | CONFIG_CRYPTO_CTS=m | ||
995 | CONFIG_CRYPTO_ECB=m | ||
996 | CONFIG_CRYPTO_LRW=m | ||
997 | CONFIG_CRYPTO_PCBC=m | ||
998 | CONFIG_CRYPTO_XTS=m | ||
999 | |||
1000 | # | ||
1001 | # Hash modes | ||
1002 | # | ||
964 | CONFIG_CRYPTO_HMAC=y | 1003 | CONFIG_CRYPTO_HMAC=y |
965 | CONFIG_CRYPTO_XCBC=m | 1004 | CONFIG_CRYPTO_XCBC=m |
966 | CONFIG_CRYPTO_NULL=m | 1005 | |
1006 | # | ||
1007 | # Digest | ||
1008 | # | ||
1009 | CONFIG_CRYPTO_CRC32C=m | ||
967 | CONFIG_CRYPTO_MD4=m | 1010 | CONFIG_CRYPTO_MD4=m |
968 | CONFIG_CRYPTO_MD5=y | 1011 | CONFIG_CRYPTO_MD5=y |
1012 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
969 | CONFIG_CRYPTO_SHA1=m | 1013 | CONFIG_CRYPTO_SHA1=m |
970 | CONFIG_CRYPTO_SHA256=m | 1014 | CONFIG_CRYPTO_SHA256=m |
971 | CONFIG_CRYPTO_SHA512=m | 1015 | CONFIG_CRYPTO_SHA512=m |
972 | CONFIG_CRYPTO_WP512=m | ||
973 | CONFIG_CRYPTO_TGR192=m | 1016 | CONFIG_CRYPTO_TGR192=m |
974 | CONFIG_CRYPTO_GF128MUL=m | 1017 | CONFIG_CRYPTO_WP512=m |
975 | CONFIG_CRYPTO_ECB=m | 1018 | |
976 | CONFIG_CRYPTO_CBC=y | 1019 | # |
977 | CONFIG_CRYPTO_PCBC=m | 1020 | # Ciphers |
978 | CONFIG_CRYPTO_LRW=m | 1021 | # |
979 | CONFIG_CRYPTO_XTS=m | ||
980 | CONFIG_CRYPTO_CTR=m | ||
981 | CONFIG_CRYPTO_GCM=m | ||
982 | CONFIG_CRYPTO_CCM=m | ||
983 | CONFIG_CRYPTO_CRYPTD=m | ||
984 | CONFIG_CRYPTO_DES=y | ||
985 | CONFIG_CRYPTO_FCRYPT=m | ||
986 | CONFIG_CRYPTO_BLOWFISH=m | ||
987 | CONFIG_CRYPTO_TWOFISH=m | ||
988 | CONFIG_CRYPTO_TWOFISH_COMMON=m | ||
989 | CONFIG_CRYPTO_SERPENT=m | ||
990 | CONFIG_CRYPTO_AES=m | 1022 | CONFIG_CRYPTO_AES=m |
1023 | CONFIG_CRYPTO_ANUBIS=m | ||
1024 | CONFIG_CRYPTO_ARC4=m | ||
1025 | CONFIG_CRYPTO_BLOWFISH=m | ||
1026 | CONFIG_CRYPTO_CAMELLIA=m | ||
991 | CONFIG_CRYPTO_CAST5=m | 1027 | CONFIG_CRYPTO_CAST5=m |
992 | CONFIG_CRYPTO_CAST6=m | 1028 | CONFIG_CRYPTO_CAST6=m |
993 | CONFIG_CRYPTO_TEA=m | 1029 | CONFIG_CRYPTO_DES=y |
994 | CONFIG_CRYPTO_ARC4=m | 1030 | CONFIG_CRYPTO_FCRYPT=m |
995 | CONFIG_CRYPTO_KHAZAD=m | 1031 | CONFIG_CRYPTO_KHAZAD=m |
996 | CONFIG_CRYPTO_ANUBIS=m | ||
997 | CONFIG_CRYPTO_SEED=m | ||
998 | CONFIG_CRYPTO_SALSA20=m | 1032 | CONFIG_CRYPTO_SALSA20=m |
1033 | CONFIG_CRYPTO_SEED=m | ||
1034 | CONFIG_CRYPTO_SERPENT=m | ||
1035 | CONFIG_CRYPTO_TEA=m | ||
1036 | CONFIG_CRYPTO_TWOFISH=m | ||
1037 | CONFIG_CRYPTO_TWOFISH_COMMON=m | ||
1038 | |||
1039 | # | ||
1040 | # Compression | ||
1041 | # | ||
999 | CONFIG_CRYPTO_DEFLATE=m | 1042 | CONFIG_CRYPTO_DEFLATE=m |
1000 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
1001 | CONFIG_CRYPTO_CRC32C=m | ||
1002 | CONFIG_CRYPTO_CAMELLIA=m | ||
1003 | CONFIG_CRYPTO_TEST=m | ||
1004 | CONFIG_CRYPTO_AUTHENC=m | ||
1005 | CONFIG_CRYPTO_LZO=m | 1043 | CONFIG_CRYPTO_LZO=m |
1006 | # CONFIG_CRYPTO_HW is not set | 1044 | # CONFIG_CRYPTO_HW is not set |
1007 | 1045 | ||
@@ -1009,9 +1047,11 @@ CONFIG_CRYPTO_LZO=m | |||
1009 | # Library routines | 1047 | # Library routines |
1010 | # | 1048 | # |
1011 | CONFIG_BITREVERSE=y | 1049 | CONFIG_BITREVERSE=y |
1050 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
1051 | # CONFIG_GENERIC_FIND_NEXT_BIT is not set | ||
1012 | CONFIG_CRC_CCITT=m | 1052 | CONFIG_CRC_CCITT=m |
1013 | CONFIG_CRC16=m | 1053 | CONFIG_CRC16=m |
1014 | # CONFIG_CRC_ITU_T is not set | 1054 | CONFIG_CRC_ITU_T=m |
1015 | CONFIG_CRC32=y | 1055 | CONFIG_CRC32=y |
1016 | # CONFIG_CRC7 is not set | 1056 | # CONFIG_CRC7 is not set |
1017 | CONFIG_LIBCRC32C=m | 1057 | CONFIG_LIBCRC32C=m |
diff --git a/arch/m68k/configs/mac_defconfig b/arch/m68k/configs/mac_defconfig index 738bca695a88..ba3a91792cbf 100644 --- a/arch/m68k/configs/mac_defconfig +++ b/arch/m68k/configs/mac_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.25-rc8 | 3 | # Linux kernel version: 2.6.26-rc2 |
4 | # Wed Apr 2 20:46:14 2008 | 4 | # Sun May 18 14:44:47 2008 |
5 | # | 5 | # |
6 | CONFIG_M68K=y | 6 | CONFIG_M68K=y |
7 | CONFIG_MMU=y | 7 | CONFIG_MMU=y |
@@ -52,6 +52,7 @@ CONFIG_SYSCTL=y | |||
52 | # CONFIG_EMBEDDED is not set | 52 | # CONFIG_EMBEDDED is not set |
53 | CONFIG_UID16=y | 53 | CONFIG_UID16=y |
54 | CONFIG_SYSCTL_SYSCALL=y | 54 | CONFIG_SYSCTL_SYSCALL=y |
55 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
55 | CONFIG_KALLSYMS=y | 56 | CONFIG_KALLSYMS=y |
56 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 57 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
57 | CONFIG_HOTPLUG=y | 58 | CONFIG_HOTPLUG=y |
@@ -76,12 +77,14 @@ CONFIG_SLAB=y | |||
76 | # CONFIG_HAVE_OPROFILE is not set | 77 | # CONFIG_HAVE_OPROFILE is not set |
77 | # CONFIG_HAVE_KPROBES is not set | 78 | # CONFIG_HAVE_KPROBES is not set |
78 | # CONFIG_HAVE_KRETPROBES is not set | 79 | # CONFIG_HAVE_KRETPROBES is not set |
80 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
79 | CONFIG_PROC_PAGE_MONITOR=y | 81 | CONFIG_PROC_PAGE_MONITOR=y |
80 | CONFIG_SLABINFO=y | 82 | CONFIG_SLABINFO=y |
81 | CONFIG_RT_MUTEXES=y | 83 | CONFIG_RT_MUTEXES=y |
82 | # CONFIG_TINY_SHMEM is not set | 84 | # CONFIG_TINY_SHMEM is not set |
83 | CONFIG_BASE_SMALL=0 | 85 | CONFIG_BASE_SMALL=0 |
84 | CONFIG_MODULES=y | 86 | CONFIG_MODULES=y |
87 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
85 | CONFIG_MODULE_UNLOAD=y | 88 | CONFIG_MODULE_UNLOAD=y |
86 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 89 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
87 | # CONFIG_MODVERSIONS is not set | 90 | # CONFIG_MODVERSIONS is not set |
@@ -143,6 +146,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y | |||
143 | CONFIG_NEED_MULTIPLE_NODES=y | 146 | CONFIG_NEED_MULTIPLE_NODES=y |
144 | # CONFIG_SPARSEMEM_STATIC is not set | 147 | # CONFIG_SPARSEMEM_STATIC is not set |
145 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | 148 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set |
149 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
146 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 150 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
147 | # CONFIG_RESOURCES_64BIT is not set | 151 | # CONFIG_RESOURCES_64BIT is not set |
148 | CONFIG_ZONE_DMA_FLAG=1 | 152 | CONFIG_ZONE_DMA_FLAG=1 |
@@ -219,8 +223,10 @@ CONFIG_INET6_XFRM_MODE_TUNNEL=m | |||
219 | CONFIG_INET6_XFRM_MODE_BEET=m | 223 | CONFIG_INET6_XFRM_MODE_BEET=m |
220 | CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m | 224 | CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m |
221 | CONFIG_IPV6_SIT=m | 225 | CONFIG_IPV6_SIT=m |
226 | CONFIG_IPV6_NDISC_NODETYPE=y | ||
222 | CONFIG_IPV6_TUNNEL=m | 227 | CONFIG_IPV6_TUNNEL=m |
223 | # CONFIG_IPV6_MULTIPLE_TABLES is not set | 228 | # CONFIG_IPV6_MULTIPLE_TABLES is not set |
229 | # CONFIG_IPV6_MROUTE is not set | ||
224 | # CONFIG_NETWORK_SECMARK is not set | 230 | # CONFIG_NETWORK_SECMARK is not set |
225 | CONFIG_NETFILTER=y | 231 | CONFIG_NETFILTER=y |
226 | # CONFIG_NETFILTER_DEBUG is not set | 232 | # CONFIG_NETFILTER_DEBUG is not set |
@@ -236,6 +242,7 @@ CONFIG_NF_CONNTRACK=m | |||
236 | CONFIG_NF_CT_ACCT=y | 242 | CONFIG_NF_CT_ACCT=y |
237 | CONFIG_NF_CONNTRACK_MARK=y | 243 | CONFIG_NF_CONNTRACK_MARK=y |
238 | # CONFIG_NF_CONNTRACK_EVENTS is not set | 244 | # CONFIG_NF_CONNTRACK_EVENTS is not set |
245 | # CONFIG_NF_CT_PROTO_DCCP is not set | ||
239 | CONFIG_NF_CT_PROTO_GRE=m | 246 | CONFIG_NF_CT_PROTO_GRE=m |
240 | CONFIG_NF_CT_PROTO_SCTP=m | 247 | CONFIG_NF_CT_PROTO_SCTP=m |
241 | CONFIG_NF_CT_PROTO_UDPLITE=m | 248 | CONFIG_NF_CT_PROTO_UDPLITE=m |
@@ -314,6 +321,8 @@ CONFIG_IP_NF_TARGET_REDIRECT=m | |||
314 | CONFIG_IP_NF_TARGET_NETMAP=m | 321 | CONFIG_IP_NF_TARGET_NETMAP=m |
315 | CONFIG_NF_NAT_SNMP_BASIC=m | 322 | CONFIG_NF_NAT_SNMP_BASIC=m |
316 | CONFIG_NF_NAT_PROTO_GRE=m | 323 | CONFIG_NF_NAT_PROTO_GRE=m |
324 | CONFIG_NF_NAT_PROTO_UDPLITE=m | ||
325 | CONFIG_NF_NAT_PROTO_SCTP=m | ||
317 | CONFIG_NF_NAT_FTP=m | 326 | CONFIG_NF_NAT_FTP=m |
318 | CONFIG_NF_NAT_IRC=m | 327 | CONFIG_NF_NAT_IRC=m |
319 | CONFIG_NF_NAT_TFTP=m | 328 | CONFIG_NF_NAT_TFTP=m |
@@ -410,8 +419,6 @@ CONFIG_IEEE80211=m | |||
410 | CONFIG_IEEE80211_CRYPT_WEP=m | 419 | CONFIG_IEEE80211_CRYPT_WEP=m |
411 | CONFIG_IEEE80211_CRYPT_CCMP=m | 420 | CONFIG_IEEE80211_CRYPT_CCMP=m |
412 | CONFIG_IEEE80211_CRYPT_TKIP=m | 421 | CONFIG_IEEE80211_CRYPT_TKIP=m |
413 | CONFIG_IEEE80211_SOFTMAC=m | ||
414 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
415 | # CONFIG_RFKILL is not set | 422 | # CONFIG_RFKILL is not set |
416 | # CONFIG_NET_9P is not set | 423 | # CONFIG_NET_9P is not set |
417 | 424 | ||
@@ -467,11 +474,10 @@ CONFIG_IDE_PROC_FS=y | |||
467 | # | 474 | # |
468 | # IDE chipset support/bugfixes | 475 | # IDE chipset support/bugfixes |
469 | # | 476 | # |
470 | # CONFIG_IDE_GENERIC is not set | ||
471 | # CONFIG_BLK_DEV_PLATFORM is not set | 477 | # CONFIG_BLK_DEV_PLATFORM is not set |
472 | CONFIG_BLK_DEV_MAC_IDE=y | 478 | CONFIG_BLK_DEV_MAC_IDE=y |
473 | # CONFIG_BLK_DEV_IDEDMA is not set | 479 | # CONFIG_BLK_DEV_IDEDMA is not set |
474 | # CONFIG_IDE_ARCH_OBSOLETE_INIT is not set | 480 | # CONFIG_BLK_DEV_HD_ONLY is not set |
475 | # CONFIG_BLK_DEV_HD is not set | 481 | # CONFIG_BLK_DEV_HD is not set |
476 | 482 | ||
477 | # | 483 | # |
@@ -520,6 +526,7 @@ CONFIG_SCSI_LOWLEVEL=y | |||
520 | CONFIG_ISCSI_TCP=m | 526 | CONFIG_ISCSI_TCP=m |
521 | # CONFIG_SCSI_DEBUG is not set | 527 | # CONFIG_SCSI_DEBUG is not set |
522 | CONFIG_MAC_SCSI=y | 528 | CONFIG_MAC_SCSI=y |
529 | CONFIG_SCSI_MAC_ESP=y | ||
523 | CONFIG_MD=y | 530 | CONFIG_MD=y |
524 | CONFIG_BLK_DEV_MD=m | 531 | CONFIG_BLK_DEV_MD=m |
525 | CONFIG_MD_LINEAR=m | 532 | CONFIG_MD_LINEAR=m |
@@ -580,6 +587,7 @@ CONFIG_MACMACE=y | |||
580 | # | 587 | # |
581 | # CONFIG_WLAN_PRE80211 is not set | 588 | # CONFIG_WLAN_PRE80211 is not set |
582 | # CONFIG_WLAN_80211 is not set | 589 | # CONFIG_WLAN_80211 is not set |
590 | # CONFIG_IWLWIFI_LEDS is not set | ||
583 | # CONFIG_WAN is not set | 591 | # CONFIG_WAN is not set |
584 | CONFIG_PPP=m | 592 | CONFIG_PPP=m |
585 | # CONFIG_PPP_MULTILINK is not set | 593 | # CONFIG_PPP_MULTILINK is not set |
@@ -665,6 +673,7 @@ CONFIG_VT=y | |||
665 | CONFIG_VT_CONSOLE=y | 673 | CONFIG_VT_CONSOLE=y |
666 | CONFIG_HW_CONSOLE=y | 674 | CONFIG_HW_CONSOLE=y |
667 | CONFIG_VT_HW_CONSOLE_BINDING=y | 675 | CONFIG_VT_HW_CONSOLE_BINDING=y |
676 | # CONFIG_DEVKMEM is not set | ||
668 | # CONFIG_SERIAL_NONSTANDARD is not set | 677 | # CONFIG_SERIAL_NONSTANDARD is not set |
669 | 678 | ||
670 | # | 679 | # |
@@ -686,12 +695,7 @@ CONFIG_GEN_RTC_X=y | |||
686 | # CONFIG_RAW_DRIVER is not set | 695 | # CONFIG_RAW_DRIVER is not set |
687 | # CONFIG_TCG_TPM is not set | 696 | # CONFIG_TCG_TPM is not set |
688 | # CONFIG_I2C is not set | 697 | # CONFIG_I2C is not set |
689 | |||
690 | # | ||
691 | # SPI support | ||
692 | # | ||
693 | # CONFIG_SPI is not set | 698 | # CONFIG_SPI is not set |
694 | # CONFIG_SPI_MASTER is not set | ||
695 | # CONFIG_W1 is not set | 699 | # CONFIG_W1 is not set |
696 | # CONFIG_POWER_SUPPLY is not set | 700 | # CONFIG_POWER_SUPPLY is not set |
697 | # CONFIG_HWMON is not set | 701 | # CONFIG_HWMON is not set |
@@ -708,12 +712,22 @@ CONFIG_SSB_POSSIBLE=y | |||
708 | # Multifunction device drivers | 712 | # Multifunction device drivers |
709 | # | 713 | # |
710 | # CONFIG_MFD_SM501 is not set | 714 | # CONFIG_MFD_SM501 is not set |
715 | # CONFIG_HTC_PASIC3 is not set | ||
711 | 716 | ||
712 | # | 717 | # |
713 | # Multimedia devices | 718 | # Multimedia devices |
714 | # | 719 | # |
720 | |||
721 | # | ||
722 | # Multimedia core support | ||
723 | # | ||
715 | # CONFIG_VIDEO_DEV is not set | 724 | # CONFIG_VIDEO_DEV is not set |
716 | # CONFIG_DVB_CORE is not set | 725 | # CONFIG_DVB_CORE is not set |
726 | # CONFIG_VIDEO_MEDIA is not set | ||
727 | |||
728 | # | ||
729 | # Multimedia drivers | ||
730 | # | ||
717 | # CONFIG_DAB is not set | 731 | # CONFIG_DAB is not set |
718 | 732 | ||
719 | # | 733 | # |
@@ -731,8 +745,8 @@ CONFIG_FB_CFB_IMAGEBLIT=y | |||
731 | # CONFIG_FB_SYS_FILLRECT is not set | 745 | # CONFIG_FB_SYS_FILLRECT is not set |
732 | # CONFIG_FB_SYS_COPYAREA is not set | 746 | # CONFIG_FB_SYS_COPYAREA is not set |
733 | # CONFIG_FB_SYS_IMAGEBLIT is not set | 747 | # CONFIG_FB_SYS_IMAGEBLIT is not set |
748 | # CONFIG_FB_FOREIGN_ENDIAN is not set | ||
734 | # CONFIG_FB_SYS_FOPS is not set | 749 | # CONFIG_FB_SYS_FOPS is not set |
735 | CONFIG_FB_DEFERRED_IO=y | ||
736 | # CONFIG_FB_SVGALIB is not set | 750 | # CONFIG_FB_SVGALIB is not set |
737 | CONFIG_FB_MACMODES=y | 751 | CONFIG_FB_MACMODES=y |
738 | # CONFIG_FB_BACKLIGHT is not set | 752 | # CONFIG_FB_BACKLIGHT is not set |
@@ -783,11 +797,8 @@ CONFIG_HIDRAW=y | |||
783 | # CONFIG_MMC is not set | 797 | # CONFIG_MMC is not set |
784 | # CONFIG_MEMSTICK is not set | 798 | # CONFIG_MEMSTICK is not set |
785 | # CONFIG_NEW_LEDS is not set | 799 | # CONFIG_NEW_LEDS is not set |
800 | # CONFIG_ACCESSIBILITY is not set | ||
786 | # CONFIG_RTC_CLASS is not set | 801 | # CONFIG_RTC_CLASS is not set |
787 | |||
788 | # | ||
789 | # Userspace I/O | ||
790 | # | ||
791 | # CONFIG_UIO is not set | 802 | # CONFIG_UIO is not set |
792 | 803 | ||
793 | # | 804 | # |
@@ -816,16 +827,15 @@ CONFIG_JFS_FS=m | |||
816 | # CONFIG_JFS_SECURITY is not set | 827 | # CONFIG_JFS_SECURITY is not set |
817 | # CONFIG_JFS_DEBUG is not set | 828 | # CONFIG_JFS_DEBUG is not set |
818 | # CONFIG_JFS_STATISTICS is not set | 829 | # CONFIG_JFS_STATISTICS is not set |
819 | CONFIG_FS_POSIX_ACL=y | 830 | # CONFIG_FS_POSIX_ACL is not set |
820 | CONFIG_XFS_FS=m | 831 | CONFIG_XFS_FS=m |
821 | # CONFIG_XFS_QUOTA is not set | 832 | # CONFIG_XFS_QUOTA is not set |
822 | # CONFIG_XFS_SECURITY is not set | ||
823 | # CONFIG_XFS_POSIX_ACL is not set | 833 | # CONFIG_XFS_POSIX_ACL is not set |
824 | # CONFIG_XFS_RT is not set | 834 | # CONFIG_XFS_RT is not set |
825 | CONFIG_GFS2_FS=m | 835 | # CONFIG_XFS_DEBUG is not set |
826 | CONFIG_GFS2_FS_LOCKING_NOLOCK=m | ||
827 | CONFIG_GFS2_FS_LOCKING_DLM=m | ||
828 | CONFIG_OCFS2_FS=m | 836 | CONFIG_OCFS2_FS=m |
837 | CONFIG_OCFS2_FS_O2CB=m | ||
838 | CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m | ||
829 | # CONFIG_OCFS2_DEBUG_MASKLOG is not set | 839 | # CONFIG_OCFS2_DEBUG_MASKLOG is not set |
830 | # CONFIG_OCFS2_DEBUG_FS is not set | 840 | # CONFIG_OCFS2_DEBUG_FS is not set |
831 | CONFIG_DNOTIFY=y | 841 | CONFIG_DNOTIFY=y |
@@ -897,12 +907,10 @@ CONFIG_NFS_FS=m | |||
897 | CONFIG_NFS_V3=y | 907 | CONFIG_NFS_V3=y |
898 | # CONFIG_NFS_V3_ACL is not set | 908 | # CONFIG_NFS_V3_ACL is not set |
899 | CONFIG_NFS_V4=y | 909 | CONFIG_NFS_V4=y |
900 | # CONFIG_NFS_DIRECTIO is not set | ||
901 | CONFIG_NFSD=m | 910 | CONFIG_NFSD=m |
902 | CONFIG_NFSD_V3=y | 911 | CONFIG_NFSD_V3=y |
903 | # CONFIG_NFSD_V3_ACL is not set | 912 | # CONFIG_NFSD_V3_ACL is not set |
904 | # CONFIG_NFSD_V4 is not set | 913 | # CONFIG_NFSD_V4 is not set |
905 | CONFIG_NFSD_TCP=y | ||
906 | CONFIG_LOCKD=m | 914 | CONFIG_LOCKD=m |
907 | CONFIG_LOCKD_V4=y | 915 | CONFIG_LOCKD_V4=y |
908 | CONFIG_EXPORTFS=m | 916 | CONFIG_EXPORTFS=m |
@@ -976,6 +984,7 @@ CONFIG_DLM=m | |||
976 | # CONFIG_PRINTK_TIME is not set | 984 | # CONFIG_PRINTK_TIME is not set |
977 | CONFIG_ENABLE_WARN_DEPRECATED=y | 985 | CONFIG_ENABLE_WARN_DEPRECATED=y |
978 | CONFIG_ENABLE_MUST_CHECK=y | 986 | CONFIG_ENABLE_MUST_CHECK=y |
987 | CONFIG_FRAME_WARN=1024 | ||
979 | CONFIG_MAGIC_SYSRQ=y | 988 | CONFIG_MAGIC_SYSRQ=y |
980 | # CONFIG_UNUSED_SYMBOLS is not set | 989 | # CONFIG_UNUSED_SYMBOLS is not set |
981 | # CONFIG_DEBUG_FS is not set | 990 | # CONFIG_DEBUG_FS is not set |
@@ -995,53 +1004,82 @@ CONFIG_ASYNC_CORE=m | |||
995 | CONFIG_ASYNC_MEMCPY=m | 1004 | CONFIG_ASYNC_MEMCPY=m |
996 | CONFIG_ASYNC_XOR=m | 1005 | CONFIG_ASYNC_XOR=m |
997 | CONFIG_CRYPTO=y | 1006 | CONFIG_CRYPTO=y |
1007 | |||
1008 | # | ||
1009 | # Crypto core or helper | ||
1010 | # | ||
998 | CONFIG_CRYPTO_ALGAPI=y | 1011 | CONFIG_CRYPTO_ALGAPI=y |
999 | CONFIG_CRYPTO_AEAD=m | 1012 | CONFIG_CRYPTO_AEAD=m |
1000 | CONFIG_CRYPTO_BLKCIPHER=m | 1013 | CONFIG_CRYPTO_BLKCIPHER=m |
1001 | CONFIG_CRYPTO_SEQIV=m | ||
1002 | CONFIG_CRYPTO_HASH=y | 1014 | CONFIG_CRYPTO_HASH=y |
1003 | CONFIG_CRYPTO_MANAGER=y | 1015 | CONFIG_CRYPTO_MANAGER=y |
1016 | CONFIG_CRYPTO_GF128MUL=m | ||
1017 | CONFIG_CRYPTO_NULL=m | ||
1018 | CONFIG_CRYPTO_CRYPTD=m | ||
1019 | CONFIG_CRYPTO_AUTHENC=m | ||
1020 | CONFIG_CRYPTO_TEST=m | ||
1021 | |||
1022 | # | ||
1023 | # Authenticated Encryption with Associated Data | ||
1024 | # | ||
1025 | CONFIG_CRYPTO_CCM=m | ||
1026 | CONFIG_CRYPTO_GCM=m | ||
1027 | CONFIG_CRYPTO_SEQIV=m | ||
1028 | |||
1029 | # | ||
1030 | # Block modes | ||
1031 | # | ||
1032 | CONFIG_CRYPTO_CBC=m | ||
1033 | CONFIG_CRYPTO_CTR=m | ||
1034 | CONFIG_CRYPTO_CTS=m | ||
1035 | CONFIG_CRYPTO_ECB=m | ||
1036 | CONFIG_CRYPTO_LRW=m | ||
1037 | CONFIG_CRYPTO_PCBC=m | ||
1038 | CONFIG_CRYPTO_XTS=m | ||
1039 | |||
1040 | # | ||
1041 | # Hash modes | ||
1042 | # | ||
1004 | CONFIG_CRYPTO_HMAC=y | 1043 | CONFIG_CRYPTO_HMAC=y |
1005 | CONFIG_CRYPTO_XCBC=m | 1044 | CONFIG_CRYPTO_XCBC=m |
1006 | CONFIG_CRYPTO_NULL=m | 1045 | |
1046 | # | ||
1047 | # Digest | ||
1048 | # | ||
1049 | CONFIG_CRYPTO_CRC32C=m | ||
1007 | CONFIG_CRYPTO_MD4=m | 1050 | CONFIG_CRYPTO_MD4=m |
1008 | CONFIG_CRYPTO_MD5=m | 1051 | CONFIG_CRYPTO_MD5=m |
1052 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
1009 | CONFIG_CRYPTO_SHA1=m | 1053 | CONFIG_CRYPTO_SHA1=m |
1010 | CONFIG_CRYPTO_SHA256=m | 1054 | CONFIG_CRYPTO_SHA256=m |
1011 | CONFIG_CRYPTO_SHA512=m | 1055 | CONFIG_CRYPTO_SHA512=m |
1012 | CONFIG_CRYPTO_WP512=m | ||
1013 | CONFIG_CRYPTO_TGR192=m | 1056 | CONFIG_CRYPTO_TGR192=m |
1014 | CONFIG_CRYPTO_GF128MUL=m | 1057 | CONFIG_CRYPTO_WP512=m |
1015 | CONFIG_CRYPTO_ECB=m | 1058 | |
1016 | CONFIG_CRYPTO_CBC=m | 1059 | # |
1017 | CONFIG_CRYPTO_PCBC=m | 1060 | # Ciphers |
1018 | CONFIG_CRYPTO_LRW=m | 1061 | # |
1019 | CONFIG_CRYPTO_XTS=m | ||
1020 | CONFIG_CRYPTO_CTR=m | ||
1021 | CONFIG_CRYPTO_GCM=m | ||
1022 | CONFIG_CRYPTO_CCM=m | ||
1023 | CONFIG_CRYPTO_CRYPTD=m | ||
1024 | CONFIG_CRYPTO_DES=m | ||
1025 | CONFIG_CRYPTO_FCRYPT=m | ||
1026 | CONFIG_CRYPTO_BLOWFISH=m | ||
1027 | CONFIG_CRYPTO_TWOFISH=m | ||
1028 | CONFIG_CRYPTO_TWOFISH_COMMON=m | ||
1029 | CONFIG_CRYPTO_SERPENT=m | ||
1030 | CONFIG_CRYPTO_AES=m | 1062 | CONFIG_CRYPTO_AES=m |
1063 | CONFIG_CRYPTO_ANUBIS=m | ||
1064 | CONFIG_CRYPTO_ARC4=m | ||
1065 | CONFIG_CRYPTO_BLOWFISH=m | ||
1066 | CONFIG_CRYPTO_CAMELLIA=m | ||
1031 | CONFIG_CRYPTO_CAST5=m | 1067 | CONFIG_CRYPTO_CAST5=m |
1032 | CONFIG_CRYPTO_CAST6=m | 1068 | CONFIG_CRYPTO_CAST6=m |
1033 | CONFIG_CRYPTO_TEA=m | 1069 | CONFIG_CRYPTO_DES=m |
1034 | CONFIG_CRYPTO_ARC4=m | 1070 | CONFIG_CRYPTO_FCRYPT=m |
1035 | CONFIG_CRYPTO_KHAZAD=m | 1071 | CONFIG_CRYPTO_KHAZAD=m |
1036 | CONFIG_CRYPTO_ANUBIS=m | ||
1037 | CONFIG_CRYPTO_SEED=m | ||
1038 | CONFIG_CRYPTO_SALSA20=m | 1072 | CONFIG_CRYPTO_SALSA20=m |
1073 | CONFIG_CRYPTO_SEED=m | ||
1074 | CONFIG_CRYPTO_SERPENT=m | ||
1075 | CONFIG_CRYPTO_TEA=m | ||
1076 | CONFIG_CRYPTO_TWOFISH=m | ||
1077 | CONFIG_CRYPTO_TWOFISH_COMMON=m | ||
1078 | |||
1079 | # | ||
1080 | # Compression | ||
1081 | # | ||
1039 | CONFIG_CRYPTO_DEFLATE=m | 1082 | CONFIG_CRYPTO_DEFLATE=m |
1040 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
1041 | CONFIG_CRYPTO_CRC32C=m | ||
1042 | CONFIG_CRYPTO_CAMELLIA=m | ||
1043 | CONFIG_CRYPTO_TEST=m | ||
1044 | CONFIG_CRYPTO_AUTHENC=m | ||
1045 | CONFIG_CRYPTO_LZO=m | 1083 | CONFIG_CRYPTO_LZO=m |
1046 | # CONFIG_CRYPTO_HW is not set | 1084 | # CONFIG_CRYPTO_HW is not set |
1047 | 1085 | ||
@@ -1049,9 +1087,11 @@ CONFIG_CRYPTO_LZO=m | |||
1049 | # Library routines | 1087 | # Library routines |
1050 | # | 1088 | # |
1051 | CONFIG_BITREVERSE=y | 1089 | CONFIG_BITREVERSE=y |
1090 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
1091 | # CONFIG_GENERIC_FIND_NEXT_BIT is not set | ||
1052 | CONFIG_CRC_CCITT=m | 1092 | CONFIG_CRC_CCITT=m |
1053 | CONFIG_CRC16=m | 1093 | CONFIG_CRC16=m |
1054 | # CONFIG_CRC_ITU_T is not set | 1094 | CONFIG_CRC_ITU_T=m |
1055 | CONFIG_CRC32=y | 1095 | CONFIG_CRC32=y |
1056 | # CONFIG_CRC7 is not set | 1096 | # CONFIG_CRC7 is not set |
1057 | CONFIG_LIBCRC32C=m | 1097 | CONFIG_LIBCRC32C=m |
diff --git a/arch/m68k/configs/multi_defconfig b/arch/m68k/configs/multi_defconfig new file mode 100644 index 000000000000..4d23f99227f9 --- /dev/null +++ b/arch/m68k/configs/multi_defconfig | |||
@@ -0,0 +1,1269 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.26-rc2 | ||
4 | # Sun May 18 14:42:31 2008 | ||
5 | # | ||
6 | CONFIG_M68K=y | ||
7 | CONFIG_MMU=y | ||
8 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
9 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | ||
10 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | ||
11 | CONFIG_GENERIC_HWEIGHT=y | ||
12 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
13 | CONFIG_TIME_LOW_RES=y | ||
14 | CONFIG_GENERIC_IOMAP=y | ||
15 | CONFIG_NO_IOPORT=y | ||
16 | # CONFIG_NO_DMA is not set | ||
17 | CONFIG_ARCH_SUPPORTS_AOUT=y | ||
18 | CONFIG_HZ=100 | ||
19 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
20 | |||
21 | # | ||
22 | # General setup | ||
23 | # | ||
24 | CONFIG_EXPERIMENTAL=y | ||
25 | CONFIG_BROKEN_ON_SMP=y | ||
26 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
27 | CONFIG_LOCALVERSION="-multi" | ||
28 | CONFIG_LOCALVERSION_AUTO=y | ||
29 | CONFIG_SWAP=y | ||
30 | CONFIG_SYSVIPC=y | ||
31 | CONFIG_SYSVIPC_SYSCTL=y | ||
32 | CONFIG_POSIX_MQUEUE=y | ||
33 | CONFIG_BSD_PROCESS_ACCT=y | ||
34 | # CONFIG_BSD_PROCESS_ACCT_V3 is not set | ||
35 | # CONFIG_TASKSTATS is not set | ||
36 | # CONFIG_AUDIT is not set | ||
37 | # CONFIG_IKCONFIG is not set | ||
38 | CONFIG_LOG_BUF_SHIFT=14 | ||
39 | # CONFIG_CGROUPS is not set | ||
40 | # CONFIG_GROUP_SCHED is not set | ||
41 | # CONFIG_SYSFS_DEPRECATED_V2 is not set | ||
42 | CONFIG_RELAY=y | ||
43 | CONFIG_NAMESPACES=y | ||
44 | # CONFIG_UTS_NS is not set | ||
45 | # CONFIG_IPC_NS is not set | ||
46 | # CONFIG_USER_NS is not set | ||
47 | # CONFIG_PID_NS is not set | ||
48 | CONFIG_BLK_DEV_INITRD=y | ||
49 | CONFIG_INITRAMFS_SOURCE="" | ||
50 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||
51 | CONFIG_SYSCTL=y | ||
52 | # CONFIG_EMBEDDED is not set | ||
53 | CONFIG_UID16=y | ||
54 | CONFIG_SYSCTL_SYSCALL=y | ||
55 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
56 | CONFIG_KALLSYMS=y | ||
57 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
58 | CONFIG_HOTPLUG=y | ||
59 | CONFIG_PRINTK=y | ||
60 | CONFIG_BUG=y | ||
61 | CONFIG_ELF_CORE=y | ||
62 | # CONFIG_COMPAT_BRK is not set | ||
63 | CONFIG_BASE_FULL=y | ||
64 | CONFIG_FUTEX=y | ||
65 | CONFIG_ANON_INODES=y | ||
66 | CONFIG_EPOLL=y | ||
67 | CONFIG_SIGNALFD=y | ||
68 | CONFIG_TIMERFD=y | ||
69 | CONFIG_EVENTFD=y | ||
70 | CONFIG_SHMEM=y | ||
71 | CONFIG_VM_EVENT_COUNTERS=y | ||
72 | CONFIG_SLAB=y | ||
73 | # CONFIG_SLUB is not set | ||
74 | # CONFIG_SLOB is not set | ||
75 | # CONFIG_PROFILING is not set | ||
76 | # CONFIG_MARKERS is not set | ||
77 | # CONFIG_HAVE_OPROFILE is not set | ||
78 | # CONFIG_HAVE_KPROBES is not set | ||
79 | # CONFIG_HAVE_KRETPROBES is not set | ||
80 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
81 | CONFIG_PROC_PAGE_MONITOR=y | ||
82 | CONFIG_SLABINFO=y | ||
83 | CONFIG_RT_MUTEXES=y | ||
84 | # CONFIG_TINY_SHMEM is not set | ||
85 | CONFIG_BASE_SMALL=0 | ||
86 | CONFIG_MODULES=y | ||
87 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
88 | CONFIG_MODULE_UNLOAD=y | ||
89 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
90 | # CONFIG_MODVERSIONS is not set | ||
91 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
92 | CONFIG_KMOD=y | ||
93 | CONFIG_BLOCK=y | ||
94 | # CONFIG_LBD is not set | ||
95 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
96 | # CONFIG_LSF is not set | ||
97 | CONFIG_BLK_DEV_BSG=y | ||
98 | |||
99 | # | ||
100 | # IO Schedulers | ||
101 | # | ||
102 | CONFIG_IOSCHED_NOOP=y | ||
103 | CONFIG_IOSCHED_AS=y | ||
104 | CONFIG_IOSCHED_DEADLINE=y | ||
105 | CONFIG_IOSCHED_CFQ=y | ||
106 | CONFIG_DEFAULT_AS=y | ||
107 | # CONFIG_DEFAULT_DEADLINE is not set | ||
108 | # CONFIG_DEFAULT_CFQ is not set | ||
109 | # CONFIG_DEFAULT_NOOP is not set | ||
110 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
111 | CONFIG_CLASSIC_RCU=y | ||
112 | |||
113 | # | ||
114 | # Platform dependent setup | ||
115 | # | ||
116 | # CONFIG_SUN3 is not set | ||
117 | CONFIG_AMIGA=y | ||
118 | CONFIG_ATARI=y | ||
119 | CONFIG_MAC=y | ||
120 | CONFIG_NUBUS=y | ||
121 | CONFIG_M68K_L2_CACHE=y | ||
122 | CONFIG_APOLLO=y | ||
123 | CONFIG_VME=y | ||
124 | CONFIG_MVME147=y | ||
125 | CONFIG_MVME16x=y | ||
126 | CONFIG_BVME6000=y | ||
127 | CONFIG_HP300=y | ||
128 | CONFIG_DIO=y | ||
129 | CONFIG_SUN3X=y | ||
130 | CONFIG_Q40=y | ||
131 | |||
132 | # | ||
133 | # Processor type | ||
134 | # | ||
135 | CONFIG_M68020=y | ||
136 | CONFIG_M68030=y | ||
137 | CONFIG_M68040=y | ||
138 | CONFIG_M68060=y | ||
139 | CONFIG_MMU_MOTOROLA=y | ||
140 | # CONFIG_M68KFPU_EMU is not set | ||
141 | # CONFIG_ADVANCED is not set | ||
142 | CONFIG_ARCH_DISCONTIGMEM_ENABLE=y | ||
143 | CONFIG_NODES_SHIFT=3 | ||
144 | CONFIG_SELECT_MEMORY_MODEL=y | ||
145 | # CONFIG_FLATMEM_MANUAL is not set | ||
146 | CONFIG_DISCONTIGMEM_MANUAL=y | ||
147 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
148 | CONFIG_DISCONTIGMEM=y | ||
149 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
150 | CONFIG_NEED_MULTIPLE_NODES=y | ||
151 | # CONFIG_SPARSEMEM_STATIC is not set | ||
152 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
153 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
154 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
155 | # CONFIG_RESOURCES_64BIT is not set | ||
156 | CONFIG_ZONE_DMA_FLAG=1 | ||
157 | CONFIG_BOUNCE=y | ||
158 | CONFIG_VIRT_TO_BUS=y | ||
159 | |||
160 | # | ||
161 | # General setup | ||
162 | # | ||
163 | CONFIG_BINFMT_ELF=y | ||
164 | CONFIG_BINFMT_AOUT=m | ||
165 | CONFIG_BINFMT_MISC=m | ||
166 | CONFIG_ZORRO=y | ||
167 | CONFIG_AMIGA_PCMCIA=y | ||
168 | CONFIG_STRAM_PROC=y | ||
169 | CONFIG_HEARTBEAT=y | ||
170 | CONFIG_PROC_HARDWARE=y | ||
171 | CONFIG_ISA=y | ||
172 | CONFIG_GENERIC_ISA_DMA=y | ||
173 | CONFIG_ZONE_DMA=y | ||
174 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
175 | CONFIG_ZORRO_NAMES=y | ||
176 | |||
177 | # | ||
178 | # Networking | ||
179 | # | ||
180 | CONFIG_NET=y | ||
181 | |||
182 | # | ||
183 | # Networking options | ||
184 | # | ||
185 | CONFIG_PACKET=y | ||
186 | # CONFIG_PACKET_MMAP is not set | ||
187 | CONFIG_UNIX=y | ||
188 | CONFIG_XFRM=y | ||
189 | # CONFIG_XFRM_USER is not set | ||
190 | # CONFIG_XFRM_SUB_POLICY is not set | ||
191 | CONFIG_XFRM_MIGRATE=y | ||
192 | # CONFIG_XFRM_STATISTICS is not set | ||
193 | CONFIG_NET_KEY=y | ||
194 | CONFIG_NET_KEY_MIGRATE=y | ||
195 | CONFIG_INET=y | ||
196 | # CONFIG_IP_MULTICAST is not set | ||
197 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
198 | CONFIG_IP_FIB_HASH=y | ||
199 | CONFIG_IP_PNP=y | ||
200 | CONFIG_IP_PNP_DHCP=y | ||
201 | CONFIG_IP_PNP_BOOTP=y | ||
202 | CONFIG_IP_PNP_RARP=y | ||
203 | CONFIG_NET_IPIP=m | ||
204 | CONFIG_NET_IPGRE=m | ||
205 | # CONFIG_ARPD is not set | ||
206 | CONFIG_SYN_COOKIES=y | ||
207 | CONFIG_INET_AH=m | ||
208 | CONFIG_INET_ESP=m | ||
209 | CONFIG_INET_IPCOMP=m | ||
210 | CONFIG_INET_XFRM_TUNNEL=m | ||
211 | CONFIG_INET_TUNNEL=m | ||
212 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
213 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
214 | CONFIG_INET_XFRM_MODE_BEET=m | ||
215 | CONFIG_INET_LRO=m | ||
216 | CONFIG_INET_DIAG=m | ||
217 | CONFIG_INET_TCP_DIAG=m | ||
218 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
219 | CONFIG_TCP_CONG_CUBIC=y | ||
220 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
221 | # CONFIG_TCP_MD5SIG is not set | ||
222 | # CONFIG_IP_VS is not set | ||
223 | CONFIG_IPV6=m | ||
224 | CONFIG_IPV6_PRIVACY=y | ||
225 | CONFIG_IPV6_ROUTER_PREF=y | ||
226 | CONFIG_IPV6_ROUTE_INFO=y | ||
227 | # CONFIG_IPV6_OPTIMISTIC_DAD is not set | ||
228 | CONFIG_INET6_AH=m | ||
229 | CONFIG_INET6_ESP=m | ||
230 | CONFIG_INET6_IPCOMP=m | ||
231 | # CONFIG_IPV6_MIP6 is not set | ||
232 | CONFIG_INET6_XFRM_TUNNEL=m | ||
233 | CONFIG_INET6_TUNNEL=m | ||
234 | CONFIG_INET6_XFRM_MODE_TRANSPORT=m | ||
235 | CONFIG_INET6_XFRM_MODE_TUNNEL=m | ||
236 | CONFIG_INET6_XFRM_MODE_BEET=m | ||
237 | CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m | ||
238 | CONFIG_IPV6_SIT=m | ||
239 | CONFIG_IPV6_NDISC_NODETYPE=y | ||
240 | CONFIG_IPV6_TUNNEL=m | ||
241 | # CONFIG_IPV6_MULTIPLE_TABLES is not set | ||
242 | # CONFIG_IPV6_MROUTE is not set | ||
243 | # CONFIG_NETWORK_SECMARK is not set | ||
244 | CONFIG_NETFILTER=y | ||
245 | # CONFIG_NETFILTER_DEBUG is not set | ||
246 | CONFIG_NETFILTER_ADVANCED=y | ||
247 | |||
248 | # | ||
249 | # Core Netfilter Configuration | ||
250 | # | ||
251 | CONFIG_NETFILTER_NETLINK=m | ||
252 | CONFIG_NETFILTER_NETLINK_QUEUE=m | ||
253 | CONFIG_NETFILTER_NETLINK_LOG=m | ||
254 | CONFIG_NF_CONNTRACK=m | ||
255 | CONFIG_NF_CT_ACCT=y | ||
256 | CONFIG_NF_CONNTRACK_MARK=y | ||
257 | # CONFIG_NF_CONNTRACK_EVENTS is not set | ||
258 | # CONFIG_NF_CT_PROTO_DCCP is not set | ||
259 | CONFIG_NF_CT_PROTO_GRE=m | ||
260 | CONFIG_NF_CT_PROTO_SCTP=m | ||
261 | CONFIG_NF_CT_PROTO_UDPLITE=m | ||
262 | CONFIG_NF_CONNTRACK_AMANDA=m | ||
263 | CONFIG_NF_CONNTRACK_FTP=m | ||
264 | CONFIG_NF_CONNTRACK_H323=m | ||
265 | CONFIG_NF_CONNTRACK_IRC=m | ||
266 | CONFIG_NF_CONNTRACK_NETBIOS_NS=m | ||
267 | CONFIG_NF_CONNTRACK_PPTP=m | ||
268 | CONFIG_NF_CONNTRACK_SANE=m | ||
269 | CONFIG_NF_CONNTRACK_SIP=m | ||
270 | CONFIG_NF_CONNTRACK_TFTP=m | ||
271 | # CONFIG_NF_CT_NETLINK is not set | ||
272 | CONFIG_NETFILTER_XTABLES=m | ||
273 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m | ||
274 | CONFIG_NETFILTER_XT_TARGET_CONNMARK=m | ||
275 | CONFIG_NETFILTER_XT_TARGET_DSCP=m | ||
276 | CONFIG_NETFILTER_XT_TARGET_MARK=m | ||
277 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | ||
278 | CONFIG_NETFILTER_XT_TARGET_NFLOG=m | ||
279 | CONFIG_NETFILTER_XT_TARGET_NOTRACK=m | ||
280 | CONFIG_NETFILTER_XT_TARGET_RATEEST=m | ||
281 | CONFIG_NETFILTER_XT_TARGET_TRACE=m | ||
282 | CONFIG_NETFILTER_XT_TARGET_TCPMSS=m | ||
283 | CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m | ||
284 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | ||
285 | CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m | ||
286 | CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m | ||
287 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m | ||
288 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m | ||
289 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | ||
290 | CONFIG_NETFILTER_XT_MATCH_DSCP=m | ||
291 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
292 | CONFIG_NETFILTER_XT_MATCH_HELPER=m | ||
293 | CONFIG_NETFILTER_XT_MATCH_IPRANGE=m | ||
294 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | ||
295 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | ||
296 | CONFIG_NETFILTER_XT_MATCH_MAC=m | ||
297 | CONFIG_NETFILTER_XT_MATCH_MARK=m | ||
298 | CONFIG_NETFILTER_XT_MATCH_OWNER=m | ||
299 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
300 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
301 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | ||
302 | CONFIG_NETFILTER_XT_MATCH_QUOTA=m | ||
303 | CONFIG_NETFILTER_XT_MATCH_RATEEST=m | ||
304 | CONFIG_NETFILTER_XT_MATCH_REALM=m | ||
305 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | ||
306 | CONFIG_NETFILTER_XT_MATCH_STATE=m | ||
307 | CONFIG_NETFILTER_XT_MATCH_STATISTIC=m | ||
308 | CONFIG_NETFILTER_XT_MATCH_STRING=m | ||
309 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | ||
310 | CONFIG_NETFILTER_XT_MATCH_TIME=m | ||
311 | CONFIG_NETFILTER_XT_MATCH_U32=m | ||
312 | CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m | ||
313 | |||
314 | # | ||
315 | # IP: Netfilter Configuration | ||
316 | # | ||
317 | CONFIG_NF_CONNTRACK_IPV4=m | ||
318 | CONFIG_NF_CONNTRACK_PROC_COMPAT=y | ||
319 | CONFIG_IP_NF_QUEUE=m | ||
320 | CONFIG_IP_NF_IPTABLES=m | ||
321 | CONFIG_IP_NF_MATCH_RECENT=m | ||
322 | CONFIG_IP_NF_MATCH_ECN=m | ||
323 | CONFIG_IP_NF_MATCH_AH=m | ||
324 | CONFIG_IP_NF_MATCH_TTL=m | ||
325 | CONFIG_IP_NF_MATCH_ADDRTYPE=m | ||
326 | CONFIG_IP_NF_FILTER=m | ||
327 | CONFIG_IP_NF_TARGET_REJECT=m | ||
328 | CONFIG_IP_NF_TARGET_LOG=m | ||
329 | CONFIG_IP_NF_TARGET_ULOG=m | ||
330 | CONFIG_NF_NAT=m | ||
331 | CONFIG_NF_NAT_NEEDED=y | ||
332 | CONFIG_IP_NF_TARGET_MASQUERADE=m | ||
333 | CONFIG_IP_NF_TARGET_REDIRECT=m | ||
334 | CONFIG_IP_NF_TARGET_NETMAP=m | ||
335 | CONFIG_NF_NAT_SNMP_BASIC=m | ||
336 | CONFIG_NF_NAT_PROTO_GRE=m | ||
337 | CONFIG_NF_NAT_PROTO_UDPLITE=m | ||
338 | CONFIG_NF_NAT_PROTO_SCTP=m | ||
339 | CONFIG_NF_NAT_FTP=m | ||
340 | CONFIG_NF_NAT_IRC=m | ||
341 | CONFIG_NF_NAT_TFTP=m | ||
342 | CONFIG_NF_NAT_AMANDA=m | ||
343 | CONFIG_NF_NAT_PPTP=m | ||
344 | CONFIG_NF_NAT_H323=m | ||
345 | CONFIG_NF_NAT_SIP=m | ||
346 | CONFIG_IP_NF_MANGLE=m | ||
347 | CONFIG_IP_NF_TARGET_ECN=m | ||
348 | CONFIG_IP_NF_TARGET_TTL=m | ||
349 | CONFIG_IP_NF_TARGET_CLUSTERIP=m | ||
350 | CONFIG_IP_NF_RAW=m | ||
351 | CONFIG_IP_NF_ARPTABLES=m | ||
352 | CONFIG_IP_NF_ARPFILTER=m | ||
353 | CONFIG_IP_NF_ARP_MANGLE=m | ||
354 | |||
355 | # | ||
356 | # IPv6: Netfilter Configuration | ||
357 | # | ||
358 | CONFIG_NF_CONNTRACK_IPV6=m | ||
359 | CONFIG_IP6_NF_QUEUE=m | ||
360 | CONFIG_IP6_NF_IPTABLES=m | ||
361 | CONFIG_IP6_NF_MATCH_RT=m | ||
362 | CONFIG_IP6_NF_MATCH_OPTS=m | ||
363 | CONFIG_IP6_NF_MATCH_FRAG=m | ||
364 | CONFIG_IP6_NF_MATCH_HL=m | ||
365 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m | ||
366 | CONFIG_IP6_NF_MATCH_AH=m | ||
367 | CONFIG_IP6_NF_MATCH_MH=m | ||
368 | CONFIG_IP6_NF_MATCH_EUI64=m | ||
369 | CONFIG_IP6_NF_FILTER=m | ||
370 | CONFIG_IP6_NF_TARGET_LOG=m | ||
371 | CONFIG_IP6_NF_TARGET_REJECT=m | ||
372 | CONFIG_IP6_NF_MANGLE=m | ||
373 | CONFIG_IP6_NF_TARGET_HL=m | ||
374 | CONFIG_IP6_NF_RAW=m | ||
375 | CONFIG_IP_DCCP=m | ||
376 | CONFIG_INET_DCCP_DIAG=m | ||
377 | CONFIG_IP_DCCP_ACKVEC=y | ||
378 | |||
379 | # | ||
380 | # DCCP CCIDs Configuration (EXPERIMENTAL) | ||
381 | # | ||
382 | CONFIG_IP_DCCP_CCID2=m | ||
383 | # CONFIG_IP_DCCP_CCID2_DEBUG is not set | ||
384 | CONFIG_IP_DCCP_CCID3=m | ||
385 | # CONFIG_IP_DCCP_CCID3_DEBUG is not set | ||
386 | CONFIG_IP_DCCP_CCID3_RTO=100 | ||
387 | CONFIG_IP_DCCP_TFRC_LIB=m | ||
388 | CONFIG_IP_SCTP=m | ||
389 | # CONFIG_SCTP_DBG_MSG is not set | ||
390 | # CONFIG_SCTP_DBG_OBJCNT is not set | ||
391 | # CONFIG_SCTP_HMAC_NONE is not set | ||
392 | # CONFIG_SCTP_HMAC_SHA1 is not set | ||
393 | CONFIG_SCTP_HMAC_MD5=y | ||
394 | # CONFIG_TIPC is not set | ||
395 | # CONFIG_ATM is not set | ||
396 | # CONFIG_BRIDGE is not set | ||
397 | # CONFIG_VLAN_8021Q is not set | ||
398 | # CONFIG_DECNET is not set | ||
399 | CONFIG_LLC=m | ||
400 | # CONFIG_LLC2 is not set | ||
401 | # CONFIG_IPX is not set | ||
402 | CONFIG_ATALK=m | ||
403 | CONFIG_DEV_APPLETALK=m | ||
404 | # CONFIG_COPS is not set | ||
405 | CONFIG_IPDDP=m | ||
406 | CONFIG_IPDDP_ENCAP=y | ||
407 | CONFIG_IPDDP_DECAP=y | ||
408 | # CONFIG_X25 is not set | ||
409 | # CONFIG_LAPB is not set | ||
410 | # CONFIG_ECONET is not set | ||
411 | # CONFIG_WAN_ROUTER is not set | ||
412 | # CONFIG_NET_SCHED is not set | ||
413 | CONFIG_NET_CLS_ROUTE=y | ||
414 | |||
415 | # | ||
416 | # Network testing | ||
417 | # | ||
418 | # CONFIG_NET_PKTGEN is not set | ||
419 | # CONFIG_HAMRADIO is not set | ||
420 | # CONFIG_CAN is not set | ||
421 | # CONFIG_IRDA is not set | ||
422 | # CONFIG_BT is not set | ||
423 | # CONFIG_AF_RXRPC is not set | ||
424 | |||
425 | # | ||
426 | # Wireless | ||
427 | # | ||
428 | # CONFIG_CFG80211 is not set | ||
429 | CONFIG_WIRELESS_EXT=y | ||
430 | # CONFIG_MAC80211 is not set | ||
431 | CONFIG_IEEE80211=m | ||
432 | # CONFIG_IEEE80211_DEBUG is not set | ||
433 | CONFIG_IEEE80211_CRYPT_WEP=m | ||
434 | CONFIG_IEEE80211_CRYPT_CCMP=m | ||
435 | CONFIG_IEEE80211_CRYPT_TKIP=m | ||
436 | # CONFIG_RFKILL is not set | ||
437 | # CONFIG_NET_9P is not set | ||
438 | |||
439 | # | ||
440 | # Device Drivers | ||
441 | # | ||
442 | |||
443 | # | ||
444 | # Generic Driver Options | ||
445 | # | ||
446 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
447 | CONFIG_STANDALONE=y | ||
448 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
449 | CONFIG_FW_LOADER=m | ||
450 | # CONFIG_SYS_HYPERVISOR is not set | ||
451 | CONFIG_CONNECTOR=m | ||
452 | # CONFIG_MTD is not set | ||
453 | CONFIG_PARPORT=m | ||
454 | # CONFIG_PARPORT_PC is not set | ||
455 | CONFIG_PARPORT_AMIGA=m | ||
456 | CONFIG_PARPORT_MFC3=m | ||
457 | CONFIG_PARPORT_ATARI=m | ||
458 | # CONFIG_PARPORT_GSC is not set | ||
459 | # CONFIG_PARPORT_AX88796 is not set | ||
460 | CONFIG_PARPORT_1284=y | ||
461 | CONFIG_PARPORT_NOT_PC=y | ||
462 | # CONFIG_PNP is not set | ||
463 | CONFIG_BLK_DEV=y | ||
464 | CONFIG_AMIGA_FLOPPY=y | ||
465 | CONFIG_ATARI_FLOPPY=y | ||
466 | CONFIG_AMIGA_Z2RAM=y | ||
467 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
468 | CONFIG_BLK_DEV_LOOP=y | ||
469 | CONFIG_BLK_DEV_CRYPTOLOOP=m | ||
470 | CONFIG_BLK_DEV_NBD=m | ||
471 | CONFIG_BLK_DEV_RAM=y | ||
472 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
473 | CONFIG_BLK_DEV_RAM_SIZE=4096 | ||
474 | # CONFIG_BLK_DEV_XIP is not set | ||
475 | CONFIG_CDROM_PKTCDVD=m | ||
476 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | ||
477 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | ||
478 | CONFIG_ATA_OVER_ETH=m | ||
479 | CONFIG_MISC_DEVICES=y | ||
480 | # CONFIG_EEPROM_93CX6 is not set | ||
481 | # CONFIG_ENCLOSURE_SERVICES is not set | ||
482 | CONFIG_HAVE_IDE=y | ||
483 | CONFIG_IDE=y | ||
484 | CONFIG_BLK_DEV_IDE=y | ||
485 | |||
486 | # | ||
487 | # Please see Documentation/ide/ide.txt for help/info on IDE drives | ||
488 | # | ||
489 | # CONFIG_BLK_DEV_IDE_SATA is not set | ||
490 | CONFIG_BLK_DEV_IDEDISK=y | ||
491 | # CONFIG_IDEDISK_MULTI_MODE is not set | ||
492 | CONFIG_BLK_DEV_IDECD=y | ||
493 | CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y | ||
494 | # CONFIG_BLK_DEV_IDETAPE is not set | ||
495 | CONFIG_BLK_DEV_IDEFLOPPY=m | ||
496 | # CONFIG_BLK_DEV_IDESCSI is not set | ||
497 | # CONFIG_IDE_TASK_IOCTL is not set | ||
498 | CONFIG_IDE_PROC_FS=y | ||
499 | |||
500 | # | ||
501 | # IDE chipset support/bugfixes | ||
502 | # | ||
503 | # CONFIG_BLK_DEV_PLATFORM is not set | ||
504 | CONFIG_BLK_DEV_GAYLE=y | ||
505 | CONFIG_BLK_DEV_IDEDOUBLER=y | ||
506 | CONFIG_BLK_DEV_BUDDHA=y | ||
507 | CONFIG_BLK_DEV_FALCON_IDE=y | ||
508 | CONFIG_BLK_DEV_MAC_IDE=y | ||
509 | CONFIG_BLK_DEV_Q40IDE=y | ||
510 | # CONFIG_BLK_DEV_IDEDMA is not set | ||
511 | # CONFIG_BLK_DEV_HD_ONLY is not set | ||
512 | # CONFIG_BLK_DEV_HD is not set | ||
513 | |||
514 | # | ||
515 | # SCSI device support | ||
516 | # | ||
517 | CONFIG_RAID_ATTRS=m | ||
518 | CONFIG_SCSI=y | ||
519 | CONFIG_SCSI_DMA=y | ||
520 | CONFIG_SCSI_TGT=m | ||
521 | # CONFIG_SCSI_NETLINK is not set | ||
522 | CONFIG_SCSI_PROC_FS=y | ||
523 | |||
524 | # | ||
525 | # SCSI support type (disk, tape, CD-ROM) | ||
526 | # | ||
527 | CONFIG_BLK_DEV_SD=y | ||
528 | CONFIG_CHR_DEV_ST=m | ||
529 | CONFIG_CHR_DEV_OSST=m | ||
530 | CONFIG_BLK_DEV_SR=y | ||
531 | CONFIG_BLK_DEV_SR_VENDOR=y | ||
532 | CONFIG_CHR_DEV_SG=m | ||
533 | # CONFIG_CHR_DEV_SCH is not set | ||
534 | |||
535 | # | ||
536 | # Some SCSI devices (e.g. CD jukebox) support multiple LUNs | ||
537 | # | ||
538 | # CONFIG_SCSI_MULTI_LUN is not set | ||
539 | CONFIG_SCSI_CONSTANTS=y | ||
540 | # CONFIG_SCSI_LOGGING is not set | ||
541 | # CONFIG_SCSI_SCAN_ASYNC is not set | ||
542 | CONFIG_SCSI_WAIT_SCAN=m | ||
543 | |||
544 | # | ||
545 | # SCSI Transports | ||
546 | # | ||
547 | CONFIG_SCSI_SPI_ATTRS=y | ||
548 | # CONFIG_SCSI_FC_ATTRS is not set | ||
549 | CONFIG_SCSI_ISCSI_ATTRS=m | ||
550 | CONFIG_SCSI_SAS_ATTRS=m | ||
551 | CONFIG_SCSI_SAS_LIBSAS=m | ||
552 | CONFIG_SCSI_SAS_HOST_SMP=y | ||
553 | # CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set | ||
554 | CONFIG_SCSI_SRP_ATTRS=m | ||
555 | CONFIG_SCSI_SRP_TGT_ATTRS=y | ||
556 | CONFIG_SCSI_LOWLEVEL=y | ||
557 | CONFIG_ISCSI_TCP=m | ||
558 | # CONFIG_SCSI_AHA152X is not set | ||
559 | # CONFIG_SCSI_AIC7XXX_OLD is not set | ||
560 | # CONFIG_SCSI_ADVANSYS is not set | ||
561 | # CONFIG_SCSI_IN2000 is not set | ||
562 | # CONFIG_SCSI_DTC3280 is not set | ||
563 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | ||
564 | # CONFIG_SCSI_GENERIC_NCR5380 is not set | ||
565 | # CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set | ||
566 | # CONFIG_SCSI_NCR53C406A is not set | ||
567 | CONFIG_53C700_BE_BUS=y | ||
568 | # CONFIG_SCSI_PAS16 is not set | ||
569 | # CONFIG_SCSI_QLOGIC_FAS is not set | ||
570 | # CONFIG_SCSI_SYM53C416 is not set | ||
571 | # CONFIG_SCSI_T128 is not set | ||
572 | # CONFIG_SCSI_DEBUG is not set | ||
573 | CONFIG_A3000_SCSI=y | ||
574 | CONFIG_A2091_SCSI=y | ||
575 | CONFIG_GVP11_SCSI=y | ||
576 | CONFIG_SCSI_A4000T=y | ||
577 | CONFIG_SCSI_ZORRO7XX=y | ||
578 | CONFIG_ATARI_SCSI=y | ||
579 | # CONFIG_ATARI_SCSI_TOSHIBA_DELAY is not set | ||
580 | # CONFIG_ATARI_SCSI_RESET_BOOT is not set | ||
581 | CONFIG_MAC_SCSI=y | ||
582 | CONFIG_SCSI_MAC_ESP=y | ||
583 | CONFIG_MVME147_SCSI=y | ||
584 | CONFIG_MVME16x_SCSI=y | ||
585 | CONFIG_BVME6000_SCSI=y | ||
586 | CONFIG_SUN3X_ESP=y | ||
587 | CONFIG_MD=y | ||
588 | CONFIG_BLK_DEV_MD=m | ||
589 | CONFIG_MD_LINEAR=m | ||
590 | CONFIG_MD_RAID0=m | ||
591 | CONFIG_MD_RAID1=m | ||
592 | # CONFIG_MD_RAID10 is not set | ||
593 | CONFIG_MD_RAID456=m | ||
594 | CONFIG_MD_RAID5_RESHAPE=y | ||
595 | CONFIG_MD_MULTIPATH=m | ||
596 | # CONFIG_MD_FAULTY is not set | ||
597 | CONFIG_BLK_DEV_DM=m | ||
598 | # CONFIG_DM_DEBUG is not set | ||
599 | CONFIG_DM_CRYPT=m | ||
600 | CONFIG_DM_SNAPSHOT=m | ||
601 | CONFIG_DM_MIRROR=m | ||
602 | CONFIG_DM_ZERO=m | ||
603 | CONFIG_DM_MULTIPATH=m | ||
604 | CONFIG_DM_MULTIPATH_EMC=m | ||
605 | CONFIG_DM_MULTIPATH_RDAC=m | ||
606 | CONFIG_DM_MULTIPATH_HP=m | ||
607 | # CONFIG_DM_DELAY is not set | ||
608 | CONFIG_DM_UEVENT=y | ||
609 | CONFIG_MACINTOSH_DRIVERS=y | ||
610 | CONFIG_ADB=y | ||
611 | CONFIG_ADB_MACII=y | ||
612 | CONFIG_ADB_MACIISI=y | ||
613 | CONFIG_ADB_IOP=y | ||
614 | CONFIG_ADB_PMU68K=y | ||
615 | CONFIG_ADB_CUDA=y | ||
616 | CONFIG_INPUT_ADBHID=y | ||
617 | CONFIG_MAC_EMUMOUSEBTN=y | ||
618 | CONFIG_NETDEVICES=y | ||
619 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | ||
620 | CONFIG_DUMMY=m | ||
621 | # CONFIG_BONDING is not set | ||
622 | CONFIG_MACVLAN=m | ||
623 | CONFIG_EQUALIZER=m | ||
624 | # CONFIG_TUN is not set | ||
625 | CONFIG_VETH=m | ||
626 | # CONFIG_ARCNET is not set | ||
627 | # CONFIG_PHYLIB is not set | ||
628 | CONFIG_NET_ETHERNET=y | ||
629 | CONFIG_MII=m | ||
630 | CONFIG_ARIADNE=m | ||
631 | CONFIG_A2065=m | ||
632 | CONFIG_HYDRA=m | ||
633 | CONFIG_ZORRO8390=m | ||
634 | CONFIG_APNE=m | ||
635 | CONFIG_APOLLO_ELPLUS=y | ||
636 | CONFIG_MAC8390=y | ||
637 | CONFIG_MAC89x0=m | ||
638 | CONFIG_MACSONIC=m | ||
639 | CONFIG_MACMACE=y | ||
640 | CONFIG_MVME147_NET=y | ||
641 | CONFIG_MVME16x_NET=y | ||
642 | CONFIG_BVME6000_NET=y | ||
643 | CONFIG_ATARILANCE=m | ||
644 | CONFIG_SUN3LANCE=y | ||
645 | CONFIG_HPLANCE=y | ||
646 | # CONFIG_NET_VENDOR_3COM is not set | ||
647 | # CONFIG_NET_VENDOR_SMC is not set | ||
648 | # CONFIG_NET_VENDOR_RACAL is not set | ||
649 | # CONFIG_AT1700 is not set | ||
650 | # CONFIG_DEPCA is not set | ||
651 | # CONFIG_HP100 is not set | ||
652 | # CONFIG_NET_ISA is not set | ||
653 | CONFIG_NE2000=m | ||
654 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
655 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
656 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
657 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
658 | # CONFIG_NET_PCI is not set | ||
659 | # CONFIG_B44 is not set | ||
660 | # CONFIG_NET_POCKET is not set | ||
661 | # CONFIG_NETDEV_1000 is not set | ||
662 | # CONFIG_NETDEV_10000 is not set | ||
663 | # CONFIG_TR is not set | ||
664 | |||
665 | # | ||
666 | # Wireless LAN | ||
667 | # | ||
668 | # CONFIG_WLAN_PRE80211 is not set | ||
669 | # CONFIG_WLAN_80211 is not set | ||
670 | # CONFIG_IWLWIFI_LEDS is not set | ||
671 | # CONFIG_WAN is not set | ||
672 | # CONFIG_PLIP is not set | ||
673 | CONFIG_PPP=m | ||
674 | # CONFIG_PPP_MULTILINK is not set | ||
675 | CONFIG_PPP_FILTER=y | ||
676 | CONFIG_PPP_ASYNC=m | ||
677 | CONFIG_PPP_SYNC_TTY=m | ||
678 | CONFIG_PPP_DEFLATE=m | ||
679 | CONFIG_PPP_BSDCOMP=m | ||
680 | CONFIG_PPP_MPPE=m | ||
681 | CONFIG_PPPOE=m | ||
682 | CONFIG_PPPOL2TP=m | ||
683 | CONFIG_SLIP=m | ||
684 | CONFIG_SLIP_COMPRESSED=y | ||
685 | CONFIG_SLHC=m | ||
686 | CONFIG_SLIP_SMART=y | ||
687 | CONFIG_SLIP_MODE_SLIP6=y | ||
688 | CONFIG_NETCONSOLE=m | ||
689 | CONFIG_NETCONSOLE_DYNAMIC=y | ||
690 | CONFIG_NETPOLL=y | ||
691 | # CONFIG_NETPOLL_TRAP is not set | ||
692 | CONFIG_NET_POLL_CONTROLLER=y | ||
693 | # CONFIG_ISDN is not set | ||
694 | # CONFIG_PHONE is not set | ||
695 | |||
696 | # | ||
697 | # Input device support | ||
698 | # | ||
699 | CONFIG_INPUT=y | ||
700 | CONFIG_INPUT_FF_MEMLESS=m | ||
701 | # CONFIG_INPUT_POLLDEV is not set | ||
702 | |||
703 | # | ||
704 | # Userland interfaces | ||
705 | # | ||
706 | CONFIG_INPUT_MOUSEDEV=y | ||
707 | CONFIG_INPUT_MOUSEDEV_PSAUX=y | ||
708 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | ||
709 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | ||
710 | # CONFIG_INPUT_JOYDEV is not set | ||
711 | # CONFIG_INPUT_EVDEV is not set | ||
712 | # CONFIG_INPUT_EVBUG is not set | ||
713 | |||
714 | # | ||
715 | # Input Device Drivers | ||
716 | # | ||
717 | CONFIG_INPUT_KEYBOARD=y | ||
718 | # CONFIG_KEYBOARD_ATKBD is not set | ||
719 | CONFIG_KEYBOARD_SUNKBD=y | ||
720 | # CONFIG_KEYBOARD_LKKBD is not set | ||
721 | # CONFIG_KEYBOARD_XTKBD is not set | ||
722 | # CONFIG_KEYBOARD_NEWTON is not set | ||
723 | # CONFIG_KEYBOARD_STOWAWAY is not set | ||
724 | CONFIG_KEYBOARD_AMIGA=y | ||
725 | CONFIG_ATARI_KBD_CORE=y | ||
726 | CONFIG_KEYBOARD_ATARI=y | ||
727 | CONFIG_KEYBOARD_HIL_OLD=y | ||
728 | CONFIG_KEYBOARD_HIL=y | ||
729 | CONFIG_INPUT_MOUSE=y | ||
730 | CONFIG_MOUSE_PS2=y | ||
731 | CONFIG_MOUSE_PS2_ALPS=y | ||
732 | CONFIG_MOUSE_PS2_LOGIPS2PP=y | ||
733 | CONFIG_MOUSE_PS2_SYNAPTICS=y | ||
734 | CONFIG_MOUSE_PS2_LIFEBOOK=y | ||
735 | CONFIG_MOUSE_PS2_TRACKPOINT=y | ||
736 | # CONFIG_MOUSE_PS2_TOUCHKIT is not set | ||
737 | CONFIG_MOUSE_SERIAL=m | ||
738 | # CONFIG_MOUSE_INPORT is not set | ||
739 | # CONFIG_MOUSE_LOGIBM is not set | ||
740 | # CONFIG_MOUSE_PC110PAD is not set | ||
741 | CONFIG_MOUSE_AMIGA=m | ||
742 | CONFIG_MOUSE_ATARI=m | ||
743 | # CONFIG_MOUSE_VSXXXAA is not set | ||
744 | CONFIG_MOUSE_HIL=m | ||
745 | CONFIG_INPUT_JOYSTICK=y | ||
746 | # CONFIG_JOYSTICK_ANALOG is not set | ||
747 | # CONFIG_JOYSTICK_A3D is not set | ||
748 | # CONFIG_JOYSTICK_ADI is not set | ||
749 | # CONFIG_JOYSTICK_COBRA is not set | ||
750 | # CONFIG_JOYSTICK_GF2K is not set | ||
751 | # CONFIG_JOYSTICK_GRIP is not set | ||
752 | # CONFIG_JOYSTICK_GRIP_MP is not set | ||
753 | # CONFIG_JOYSTICK_GUILLEMOT is not set | ||
754 | # CONFIG_JOYSTICK_INTERACT is not set | ||
755 | # CONFIG_JOYSTICK_SIDEWINDER is not set | ||
756 | # CONFIG_JOYSTICK_TMDC is not set | ||
757 | # CONFIG_JOYSTICK_IFORCE is not set | ||
758 | # CONFIG_JOYSTICK_WARRIOR is not set | ||
759 | # CONFIG_JOYSTICK_MAGELLAN is not set | ||
760 | # CONFIG_JOYSTICK_SPACEORB is not set | ||
761 | # CONFIG_JOYSTICK_SPACEBALL is not set | ||
762 | # CONFIG_JOYSTICK_STINGER is not set | ||
763 | # CONFIG_JOYSTICK_TWIDJOY is not set | ||
764 | # CONFIG_JOYSTICK_ZHENHUA is not set | ||
765 | # CONFIG_JOYSTICK_DB9 is not set | ||
766 | # CONFIG_JOYSTICK_GAMECON is not set | ||
767 | # CONFIG_JOYSTICK_TURBOGRAFX is not set | ||
768 | CONFIG_JOYSTICK_AMIGA=m | ||
769 | # CONFIG_JOYSTICK_JOYDUMP is not set | ||
770 | # CONFIG_INPUT_TABLET is not set | ||
771 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
772 | CONFIG_INPUT_MISC=y | ||
773 | CONFIG_INPUT_M68K_BEEP=m | ||
774 | # CONFIG_INPUT_UINPUT is not set | ||
775 | CONFIG_HP_SDC_RTC=m | ||
776 | |||
777 | # | ||
778 | # Hardware I/O ports | ||
779 | # | ||
780 | CONFIG_SERIO=y | ||
781 | # CONFIG_SERIO_SERPORT is not set | ||
782 | CONFIG_SERIO_Q40KBD=m | ||
783 | # CONFIG_SERIO_PARKBD is not set | ||
784 | CONFIG_HP_SDC=y | ||
785 | CONFIG_HIL_MLC=y | ||
786 | CONFIG_SERIO_LIBPS2=y | ||
787 | # CONFIG_SERIO_RAW is not set | ||
788 | # CONFIG_GAMEPORT is not set | ||
789 | |||
790 | # | ||
791 | # Character devices | ||
792 | # | ||
793 | CONFIG_VT=y | ||
794 | CONFIG_VT_CONSOLE=y | ||
795 | CONFIG_HW_CONSOLE=y | ||
796 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
797 | # CONFIG_DEVKMEM is not set | ||
798 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
799 | CONFIG_A2232=m | ||
800 | |||
801 | # | ||
802 | # Serial drivers | ||
803 | # | ||
804 | # CONFIG_SERIAL_8250 is not set | ||
805 | |||
806 | # | ||
807 | # Non-8250 serial port support | ||
808 | # | ||
809 | CONFIG_UNIX98_PTYS=y | ||
810 | CONFIG_LEGACY_PTYS=y | ||
811 | CONFIG_LEGACY_PTY_COUNT=256 | ||
812 | CONFIG_PRINTER=m | ||
813 | # CONFIG_LP_CONSOLE is not set | ||
814 | # CONFIG_PPDEV is not set | ||
815 | # CONFIG_IPMI_HANDLER is not set | ||
816 | # CONFIG_HW_RANDOM is not set | ||
817 | CONFIG_NVRAM=y | ||
818 | CONFIG_GEN_RTC=m | ||
819 | CONFIG_GEN_RTC_X=y | ||
820 | # CONFIG_DTLK is not set | ||
821 | # CONFIG_R3964 is not set | ||
822 | # CONFIG_RAW_DRIVER is not set | ||
823 | # CONFIG_TCG_TPM is not set | ||
824 | # CONFIG_I2C is not set | ||
825 | # CONFIG_SPI is not set | ||
826 | # CONFIG_W1 is not set | ||
827 | # CONFIG_POWER_SUPPLY is not set | ||
828 | # CONFIG_HWMON is not set | ||
829 | # CONFIG_THERMAL is not set | ||
830 | # CONFIG_WATCHDOG is not set | ||
831 | |||
832 | # | ||
833 | # Sonics Silicon Backplane | ||
834 | # | ||
835 | CONFIG_SSB_POSSIBLE=y | ||
836 | # CONFIG_SSB is not set | ||
837 | |||
838 | # | ||
839 | # Multifunction device drivers | ||
840 | # | ||
841 | # CONFIG_MFD_SM501 is not set | ||
842 | # CONFIG_HTC_PASIC3 is not set | ||
843 | |||
844 | # | ||
845 | # Multimedia devices | ||
846 | # | ||
847 | |||
848 | # | ||
849 | # Multimedia core support | ||
850 | # | ||
851 | # CONFIG_VIDEO_DEV is not set | ||
852 | # CONFIG_DVB_CORE is not set | ||
853 | # CONFIG_VIDEO_MEDIA is not set | ||
854 | |||
855 | # | ||
856 | # Multimedia drivers | ||
857 | # | ||
858 | # CONFIG_DAB is not set | ||
859 | |||
860 | # | ||
861 | # Graphics support | ||
862 | # | ||
863 | # CONFIG_VGASTATE is not set | ||
864 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
865 | CONFIG_FB=y | ||
866 | # CONFIG_FIRMWARE_EDID is not set | ||
867 | # CONFIG_FB_DDC is not set | ||
868 | CONFIG_FB_CFB_FILLRECT=y | ||
869 | CONFIG_FB_CFB_COPYAREA=y | ||
870 | CONFIG_FB_CFB_IMAGEBLIT=y | ||
871 | # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set | ||
872 | # CONFIG_FB_SYS_FILLRECT is not set | ||
873 | # CONFIG_FB_SYS_COPYAREA is not set | ||
874 | # CONFIG_FB_SYS_IMAGEBLIT is not set | ||
875 | # CONFIG_FB_FOREIGN_ENDIAN is not set | ||
876 | # CONFIG_FB_SYS_FOPS is not set | ||
877 | # CONFIG_FB_SVGALIB is not set | ||
878 | CONFIG_FB_MACMODES=y | ||
879 | # CONFIG_FB_BACKLIGHT is not set | ||
880 | # CONFIG_FB_MODE_HELPERS is not set | ||
881 | # CONFIG_FB_TILEBLITTING is not set | ||
882 | |||
883 | # | ||
884 | # Frame buffer hardware drivers | ||
885 | # | ||
886 | CONFIG_FB_CIRRUS=y | ||
887 | CONFIG_FB_APOLLO=y | ||
888 | CONFIG_FB_Q40=y | ||
889 | CONFIG_FB_AMIGA=y | ||
890 | CONFIG_FB_AMIGA_OCS=y | ||
891 | CONFIG_FB_AMIGA_ECS=y | ||
892 | CONFIG_FB_AMIGA_AGA=y | ||
893 | CONFIG_FB_FM2=y | ||
894 | CONFIG_FB_ATARI=y | ||
895 | CONFIG_FB_VALKYRIE=y | ||
896 | CONFIG_FB_MAC=y | ||
897 | CONFIG_FB_HP300=y | ||
898 | # CONFIG_FB_UVESA is not set | ||
899 | # CONFIG_FB_S1D13XXX is not set | ||
900 | # CONFIG_FB_ATY is not set | ||
901 | # CONFIG_FB_VIRTUAL is not set | ||
902 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
903 | |||
904 | # | ||
905 | # Display device support | ||
906 | # | ||
907 | # CONFIG_DISPLAY_SUPPORT is not set | ||
908 | |||
909 | # | ||
910 | # Console display driver support | ||
911 | # | ||
912 | CONFIG_DUMMY_CONSOLE=y | ||
913 | CONFIG_FRAMEBUFFER_CONSOLE=y | ||
914 | # CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set | ||
915 | # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set | ||
916 | # CONFIG_FONTS is not set | ||
917 | CONFIG_FONT_8x8=y | ||
918 | CONFIG_FONT_8x16=y | ||
919 | CONFIG_FONT_6x11=y | ||
920 | CONFIG_FONT_PEARL_8x8=y | ||
921 | CONFIG_LOGO=y | ||
922 | CONFIG_LOGO_LINUX_MONO=y | ||
923 | CONFIG_LOGO_LINUX_VGA16=y | ||
924 | CONFIG_LOGO_LINUX_CLUT224=y | ||
925 | CONFIG_LOGO_MAC_CLUT224=y | ||
926 | |||
927 | # | ||
928 | # Sound | ||
929 | # | ||
930 | CONFIG_SOUND=m | ||
931 | CONFIG_DMASOUND_ATARI=m | ||
932 | CONFIG_DMASOUND_PAULA=m | ||
933 | CONFIG_DMASOUND_Q40=m | ||
934 | CONFIG_DMASOUND=m | ||
935 | CONFIG_HID_SUPPORT=y | ||
936 | CONFIG_HID=m | ||
937 | # CONFIG_HID_DEBUG is not set | ||
938 | CONFIG_HIDRAW=y | ||
939 | # CONFIG_USB_SUPPORT is not set | ||
940 | # CONFIG_MMC is not set | ||
941 | # CONFIG_MEMSTICK is not set | ||
942 | # CONFIG_NEW_LEDS is not set | ||
943 | # CONFIG_ACCESSIBILITY is not set | ||
944 | # CONFIG_RTC_CLASS is not set | ||
945 | # CONFIG_AUXDISPLAY is not set | ||
946 | # CONFIG_UIO is not set | ||
947 | |||
948 | # | ||
949 | # Character devices | ||
950 | # | ||
951 | CONFIG_ATARI_MFPSER=m | ||
952 | CONFIG_ATARI_SCC=y | ||
953 | CONFIG_ATARI_SCC_DMA=y | ||
954 | CONFIG_ATARI_MIDI=m | ||
955 | CONFIG_ATARI_DSP56K=m | ||
956 | CONFIG_AMIGA_BUILTIN_SERIAL=y | ||
957 | CONFIG_MULTIFACE_III_TTY=m | ||
958 | CONFIG_MAC_SCC=y | ||
959 | CONFIG_MAC_HID=y | ||
960 | CONFIG_MVME147_SCC=y | ||
961 | CONFIG_SERIAL167=y | ||
962 | CONFIG_MVME162_SCC=y | ||
963 | CONFIG_BVME6000_SCC=y | ||
964 | CONFIG_DN_SERIAL=y | ||
965 | CONFIG_SERIAL_CONSOLE=y | ||
966 | |||
967 | # | ||
968 | # File systems | ||
969 | # | ||
970 | CONFIG_EXT2_FS=y | ||
971 | # CONFIG_EXT2_FS_XATTR is not set | ||
972 | # CONFIG_EXT2_FS_XIP is not set | ||
973 | CONFIG_EXT3_FS=y | ||
974 | # CONFIG_EXT3_FS_XATTR is not set | ||
975 | # CONFIG_EXT4DEV_FS is not set | ||
976 | CONFIG_JBD=y | ||
977 | CONFIG_REISERFS_FS=m | ||
978 | # CONFIG_REISERFS_CHECK is not set | ||
979 | # CONFIG_REISERFS_PROC_INFO is not set | ||
980 | # CONFIG_REISERFS_FS_XATTR is not set | ||
981 | CONFIG_JFS_FS=m | ||
982 | # CONFIG_JFS_POSIX_ACL is not set | ||
983 | # CONFIG_JFS_SECURITY is not set | ||
984 | # CONFIG_JFS_DEBUG is not set | ||
985 | # CONFIG_JFS_STATISTICS is not set | ||
986 | # CONFIG_FS_POSIX_ACL is not set | ||
987 | CONFIG_XFS_FS=m | ||
988 | # CONFIG_XFS_QUOTA is not set | ||
989 | # CONFIG_XFS_POSIX_ACL is not set | ||
990 | # CONFIG_XFS_RT is not set | ||
991 | # CONFIG_XFS_DEBUG is not set | ||
992 | CONFIG_OCFS2_FS=m | ||
993 | CONFIG_OCFS2_FS_O2CB=m | ||
994 | CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m | ||
995 | # CONFIG_OCFS2_DEBUG_MASKLOG is not set | ||
996 | # CONFIG_OCFS2_DEBUG_FS is not set | ||
997 | CONFIG_DNOTIFY=y | ||
998 | CONFIG_INOTIFY=y | ||
999 | CONFIG_INOTIFY_USER=y | ||
1000 | CONFIG_QUOTA=y | ||
1001 | CONFIG_QUOTA_NETLINK_INTERFACE=y | ||
1002 | # CONFIG_PRINT_QUOTA_WARNING is not set | ||
1003 | # CONFIG_QFMT_V1 is not set | ||
1004 | # CONFIG_QFMT_V2 is not set | ||
1005 | CONFIG_QUOTACTL=y | ||
1006 | CONFIG_AUTOFS_FS=m | ||
1007 | CONFIG_AUTOFS4_FS=m | ||
1008 | CONFIG_FUSE_FS=m | ||
1009 | |||
1010 | # | ||
1011 | # CD-ROM/DVD Filesystems | ||
1012 | # | ||
1013 | CONFIG_ISO9660_FS=y | ||
1014 | CONFIG_JOLIET=y | ||
1015 | CONFIG_ZISOFS=y | ||
1016 | CONFIG_UDF_FS=m | ||
1017 | CONFIG_UDF_NLS=y | ||
1018 | |||
1019 | # | ||
1020 | # DOS/FAT/NT Filesystems | ||
1021 | # | ||
1022 | CONFIG_FAT_FS=y | ||
1023 | CONFIG_MSDOS_FS=y | ||
1024 | CONFIG_VFAT_FS=m | ||
1025 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
1026 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
1027 | # CONFIG_NTFS_FS is not set | ||
1028 | |||
1029 | # | ||
1030 | # Pseudo filesystems | ||
1031 | # | ||
1032 | CONFIG_PROC_FS=y | ||
1033 | CONFIG_PROC_KCORE=y | ||
1034 | CONFIG_PROC_SYSCTL=y | ||
1035 | CONFIG_SYSFS=y | ||
1036 | CONFIG_TMPFS=y | ||
1037 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
1038 | # CONFIG_HUGETLB_PAGE is not set | ||
1039 | CONFIG_CONFIGFS_FS=m | ||
1040 | |||
1041 | # | ||
1042 | # Miscellaneous filesystems | ||
1043 | # | ||
1044 | # CONFIG_ADFS_FS is not set | ||
1045 | CONFIG_AFFS_FS=m | ||
1046 | CONFIG_HFS_FS=y | ||
1047 | CONFIG_HFSPLUS_FS=y | ||
1048 | # CONFIG_BEFS_FS is not set | ||
1049 | # CONFIG_BFS_FS is not set | ||
1050 | # CONFIG_EFS_FS is not set | ||
1051 | CONFIG_CRAMFS=m | ||
1052 | # CONFIG_VXFS_FS is not set | ||
1053 | CONFIG_MINIX_FS=y | ||
1054 | CONFIG_HPFS_FS=m | ||
1055 | # CONFIG_QNX4FS_FS is not set | ||
1056 | # CONFIG_ROMFS_FS is not set | ||
1057 | CONFIG_SYSV_FS=m | ||
1058 | CONFIG_UFS_FS=m | ||
1059 | # CONFIG_UFS_FS_WRITE is not set | ||
1060 | # CONFIG_UFS_DEBUG is not set | ||
1061 | CONFIG_NETWORK_FILESYSTEMS=y | ||
1062 | CONFIG_NFS_FS=y | ||
1063 | CONFIG_NFS_V3=y | ||
1064 | # CONFIG_NFS_V3_ACL is not set | ||
1065 | CONFIG_NFS_V4=y | ||
1066 | CONFIG_NFSD=m | ||
1067 | CONFIG_NFSD_V3=y | ||
1068 | # CONFIG_NFSD_V3_ACL is not set | ||
1069 | # CONFIG_NFSD_V4 is not set | ||
1070 | CONFIG_ROOT_NFS=y | ||
1071 | CONFIG_LOCKD=y | ||
1072 | CONFIG_LOCKD_V4=y | ||
1073 | CONFIG_EXPORTFS=m | ||
1074 | CONFIG_NFS_COMMON=y | ||
1075 | CONFIG_SUNRPC=y | ||
1076 | CONFIG_SUNRPC_GSS=y | ||
1077 | CONFIG_SUNRPC_BIND34=y | ||
1078 | CONFIG_RPCSEC_GSS_KRB5=y | ||
1079 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
1080 | CONFIG_SMB_FS=m | ||
1081 | CONFIG_SMB_NLS_DEFAULT=y | ||
1082 | CONFIG_SMB_NLS_REMOTE="cp437" | ||
1083 | # CONFIG_CIFS is not set | ||
1084 | # CONFIG_NCP_FS is not set | ||
1085 | CONFIG_CODA_FS=m | ||
1086 | # CONFIG_CODA_FS_OLD_API is not set | ||
1087 | # CONFIG_AFS_FS is not set | ||
1088 | |||
1089 | # | ||
1090 | # Partition Types | ||
1091 | # | ||
1092 | # CONFIG_PARTITION_ADVANCED is not set | ||
1093 | CONFIG_AMIGA_PARTITION=y | ||
1094 | CONFIG_ATARI_PARTITION=y | ||
1095 | CONFIG_MAC_PARTITION=y | ||
1096 | CONFIG_MSDOS_PARTITION=y | ||
1097 | CONFIG_SUN_PARTITION=y | ||
1098 | CONFIG_SYSV68_PARTITION=y | ||
1099 | CONFIG_NLS=y | ||
1100 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
1101 | CONFIG_NLS_CODEPAGE_437=y | ||
1102 | CONFIG_NLS_CODEPAGE_737=m | ||
1103 | CONFIG_NLS_CODEPAGE_775=m | ||
1104 | CONFIG_NLS_CODEPAGE_850=m | ||
1105 | CONFIG_NLS_CODEPAGE_852=m | ||
1106 | CONFIG_NLS_CODEPAGE_855=m | ||
1107 | CONFIG_NLS_CODEPAGE_857=m | ||
1108 | CONFIG_NLS_CODEPAGE_860=m | ||
1109 | CONFIG_NLS_CODEPAGE_861=m | ||
1110 | CONFIG_NLS_CODEPAGE_862=m | ||
1111 | CONFIG_NLS_CODEPAGE_863=m | ||
1112 | CONFIG_NLS_CODEPAGE_864=m | ||
1113 | CONFIG_NLS_CODEPAGE_865=m | ||
1114 | CONFIG_NLS_CODEPAGE_866=m | ||
1115 | CONFIG_NLS_CODEPAGE_869=m | ||
1116 | CONFIG_NLS_CODEPAGE_936=m | ||
1117 | CONFIG_NLS_CODEPAGE_950=m | ||
1118 | CONFIG_NLS_CODEPAGE_932=m | ||
1119 | CONFIG_NLS_CODEPAGE_949=m | ||
1120 | CONFIG_NLS_CODEPAGE_874=m | ||
1121 | CONFIG_NLS_ISO8859_8=m | ||
1122 | CONFIG_NLS_CODEPAGE_1250=m | ||
1123 | CONFIG_NLS_CODEPAGE_1251=m | ||
1124 | CONFIG_NLS_ASCII=m | ||
1125 | CONFIG_NLS_ISO8859_1=y | ||
1126 | CONFIG_NLS_ISO8859_2=m | ||
1127 | CONFIG_NLS_ISO8859_3=m | ||
1128 | CONFIG_NLS_ISO8859_4=m | ||
1129 | CONFIG_NLS_ISO8859_5=m | ||
1130 | CONFIG_NLS_ISO8859_6=m | ||
1131 | CONFIG_NLS_ISO8859_7=m | ||
1132 | CONFIG_NLS_ISO8859_9=m | ||
1133 | CONFIG_NLS_ISO8859_13=m | ||
1134 | CONFIG_NLS_ISO8859_14=m | ||
1135 | CONFIG_NLS_ISO8859_15=m | ||
1136 | CONFIG_NLS_KOI8_R=m | ||
1137 | CONFIG_NLS_KOI8_U=m | ||
1138 | CONFIG_NLS_UTF8=y | ||
1139 | CONFIG_DLM=m | ||
1140 | # CONFIG_DLM_DEBUG is not set | ||
1141 | |||
1142 | # | ||
1143 | # Kernel hacking | ||
1144 | # | ||
1145 | # CONFIG_PRINTK_TIME is not set | ||
1146 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
1147 | CONFIG_ENABLE_MUST_CHECK=y | ||
1148 | CONFIG_FRAME_WARN=1024 | ||
1149 | CONFIG_MAGIC_SYSRQ=y | ||
1150 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1151 | # CONFIG_DEBUG_FS is not set | ||
1152 | # CONFIG_HEADERS_CHECK is not set | ||
1153 | # CONFIG_DEBUG_KERNEL is not set | ||
1154 | CONFIG_DEBUG_BUGVERBOSE=y | ||
1155 | # CONFIG_SAMPLES is not set | ||
1156 | |||
1157 | # | ||
1158 | # Security options | ||
1159 | # | ||
1160 | # CONFIG_KEYS is not set | ||
1161 | # CONFIG_SECURITY is not set | ||
1162 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | ||
1163 | CONFIG_XOR_BLOCKS=m | ||
1164 | CONFIG_ASYNC_CORE=m | ||
1165 | CONFIG_ASYNC_MEMCPY=m | ||
1166 | CONFIG_ASYNC_XOR=m | ||
1167 | CONFIG_CRYPTO=y | ||
1168 | |||
1169 | # | ||
1170 | # Crypto core or helper | ||
1171 | # | ||
1172 | CONFIG_CRYPTO_ALGAPI=y | ||
1173 | CONFIG_CRYPTO_AEAD=m | ||
1174 | CONFIG_CRYPTO_BLKCIPHER=y | ||
1175 | CONFIG_CRYPTO_HASH=y | ||
1176 | CONFIG_CRYPTO_MANAGER=y | ||
1177 | CONFIG_CRYPTO_GF128MUL=m | ||
1178 | CONFIG_CRYPTO_NULL=m | ||
1179 | CONFIG_CRYPTO_CRYPTD=m | ||
1180 | CONFIG_CRYPTO_AUTHENC=m | ||
1181 | CONFIG_CRYPTO_TEST=m | ||
1182 | |||
1183 | # | ||
1184 | # Authenticated Encryption with Associated Data | ||
1185 | # | ||
1186 | CONFIG_CRYPTO_CCM=m | ||
1187 | CONFIG_CRYPTO_GCM=m | ||
1188 | CONFIG_CRYPTO_SEQIV=m | ||
1189 | |||
1190 | # | ||
1191 | # Block modes | ||
1192 | # | ||
1193 | CONFIG_CRYPTO_CBC=y | ||
1194 | CONFIG_CRYPTO_CTR=m | ||
1195 | CONFIG_CRYPTO_CTS=m | ||
1196 | CONFIG_CRYPTO_ECB=m | ||
1197 | CONFIG_CRYPTO_LRW=m | ||
1198 | CONFIG_CRYPTO_PCBC=m | ||
1199 | CONFIG_CRYPTO_XTS=m | ||
1200 | |||
1201 | # | ||
1202 | # Hash modes | ||
1203 | # | ||
1204 | CONFIG_CRYPTO_HMAC=y | ||
1205 | CONFIG_CRYPTO_XCBC=m | ||
1206 | |||
1207 | # | ||
1208 | # Digest | ||
1209 | # | ||
1210 | CONFIG_CRYPTO_CRC32C=m | ||
1211 | CONFIG_CRYPTO_MD4=m | ||
1212 | CONFIG_CRYPTO_MD5=y | ||
1213 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
1214 | CONFIG_CRYPTO_SHA1=m | ||
1215 | CONFIG_CRYPTO_SHA256=m | ||
1216 | CONFIG_CRYPTO_SHA512=m | ||
1217 | CONFIG_CRYPTO_TGR192=m | ||
1218 | CONFIG_CRYPTO_WP512=m | ||
1219 | |||
1220 | # | ||
1221 | # Ciphers | ||
1222 | # | ||
1223 | CONFIG_CRYPTO_AES=m | ||
1224 | CONFIG_CRYPTO_ANUBIS=m | ||
1225 | CONFIG_CRYPTO_ARC4=m | ||
1226 | CONFIG_CRYPTO_BLOWFISH=m | ||
1227 | CONFIG_CRYPTO_CAMELLIA=m | ||
1228 | CONFIG_CRYPTO_CAST5=m | ||
1229 | CONFIG_CRYPTO_CAST6=m | ||
1230 | CONFIG_CRYPTO_DES=y | ||
1231 | CONFIG_CRYPTO_FCRYPT=m | ||
1232 | CONFIG_CRYPTO_KHAZAD=m | ||
1233 | CONFIG_CRYPTO_SALSA20=m | ||
1234 | CONFIG_CRYPTO_SEED=m | ||
1235 | CONFIG_CRYPTO_SERPENT=m | ||
1236 | CONFIG_CRYPTO_TEA=m | ||
1237 | CONFIG_CRYPTO_TWOFISH=m | ||
1238 | CONFIG_CRYPTO_TWOFISH_COMMON=m | ||
1239 | |||
1240 | # | ||
1241 | # Compression | ||
1242 | # | ||
1243 | CONFIG_CRYPTO_DEFLATE=m | ||
1244 | CONFIG_CRYPTO_LZO=m | ||
1245 | # CONFIG_CRYPTO_HW is not set | ||
1246 | |||
1247 | # | ||
1248 | # Library routines | ||
1249 | # | ||
1250 | CONFIG_BITREVERSE=y | ||
1251 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
1252 | # CONFIG_GENERIC_FIND_NEXT_BIT is not set | ||
1253 | CONFIG_CRC_CCITT=m | ||
1254 | CONFIG_CRC16=y | ||
1255 | CONFIG_CRC_ITU_T=m | ||
1256 | CONFIG_CRC32=y | ||
1257 | # CONFIG_CRC7 is not set | ||
1258 | CONFIG_LIBCRC32C=m | ||
1259 | CONFIG_ZLIB_INFLATE=y | ||
1260 | CONFIG_ZLIB_DEFLATE=m | ||
1261 | CONFIG_LZO_COMPRESS=m | ||
1262 | CONFIG_LZO_DECOMPRESS=m | ||
1263 | CONFIG_TEXTSEARCH=y | ||
1264 | CONFIG_TEXTSEARCH_KMP=m | ||
1265 | CONFIG_TEXTSEARCH_BM=m | ||
1266 | CONFIG_TEXTSEARCH_FSM=m | ||
1267 | CONFIG_PLIST=y | ||
1268 | CONFIG_HAS_IOMEM=y | ||
1269 | CONFIG_HAS_DMA=y | ||
diff --git a/arch/m68k/configs/mvme147_defconfig b/arch/m68k/configs/mvme147_defconfig index f40b1724254b..188847fed824 100644 --- a/arch/m68k/configs/mvme147_defconfig +++ b/arch/m68k/configs/mvme147_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.25-rc8 | 3 | # Linux kernel version: 2.6.26-rc2 |
4 | # Wed Apr 2 20:46:17 2008 | 4 | # Sun May 18 14:44:49 2008 |
5 | # | 5 | # |
6 | CONFIG_M68K=y | 6 | CONFIG_M68K=y |
7 | CONFIG_MMU=y | 7 | CONFIG_MMU=y |
@@ -52,6 +52,7 @@ CONFIG_SYSCTL=y | |||
52 | # CONFIG_EMBEDDED is not set | 52 | # CONFIG_EMBEDDED is not set |
53 | CONFIG_UID16=y | 53 | CONFIG_UID16=y |
54 | CONFIG_SYSCTL_SYSCALL=y | 54 | CONFIG_SYSCTL_SYSCALL=y |
55 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
55 | CONFIG_KALLSYMS=y | 56 | CONFIG_KALLSYMS=y |
56 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 57 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
57 | CONFIG_HOTPLUG=y | 58 | CONFIG_HOTPLUG=y |
@@ -76,12 +77,14 @@ CONFIG_SLAB=y | |||
76 | # CONFIG_HAVE_OPROFILE is not set | 77 | # CONFIG_HAVE_OPROFILE is not set |
77 | # CONFIG_HAVE_KPROBES is not set | 78 | # CONFIG_HAVE_KPROBES is not set |
78 | # CONFIG_HAVE_KRETPROBES is not set | 79 | # CONFIG_HAVE_KRETPROBES is not set |
80 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
79 | CONFIG_PROC_PAGE_MONITOR=y | 81 | CONFIG_PROC_PAGE_MONITOR=y |
80 | CONFIG_SLABINFO=y | 82 | CONFIG_SLABINFO=y |
81 | CONFIG_RT_MUTEXES=y | 83 | CONFIG_RT_MUTEXES=y |
82 | # CONFIG_TINY_SHMEM is not set | 84 | # CONFIG_TINY_SHMEM is not set |
83 | CONFIG_BASE_SMALL=0 | 85 | CONFIG_BASE_SMALL=0 |
84 | CONFIG_MODULES=y | 86 | CONFIG_MODULES=y |
87 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
85 | CONFIG_MODULE_UNLOAD=y | 88 | CONFIG_MODULE_UNLOAD=y |
86 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 89 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
87 | # CONFIG_MODVERSIONS is not set | 90 | # CONFIG_MODVERSIONS is not set |
@@ -144,6 +147,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y | |||
144 | CONFIG_NEED_MULTIPLE_NODES=y | 147 | CONFIG_NEED_MULTIPLE_NODES=y |
145 | # CONFIG_SPARSEMEM_STATIC is not set | 148 | # CONFIG_SPARSEMEM_STATIC is not set |
146 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | 149 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set |
150 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
147 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 151 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
148 | # CONFIG_RESOURCES_64BIT is not set | 152 | # CONFIG_RESOURCES_64BIT is not set |
149 | CONFIG_ZONE_DMA_FLAG=1 | 153 | CONFIG_ZONE_DMA_FLAG=1 |
@@ -222,8 +226,10 @@ CONFIG_INET6_XFRM_MODE_TUNNEL=m | |||
222 | CONFIG_INET6_XFRM_MODE_BEET=m | 226 | CONFIG_INET6_XFRM_MODE_BEET=m |
223 | CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m | 227 | CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m |
224 | CONFIG_IPV6_SIT=m | 228 | CONFIG_IPV6_SIT=m |
229 | CONFIG_IPV6_NDISC_NODETYPE=y | ||
225 | CONFIG_IPV6_TUNNEL=m | 230 | CONFIG_IPV6_TUNNEL=m |
226 | # CONFIG_IPV6_MULTIPLE_TABLES is not set | 231 | # CONFIG_IPV6_MULTIPLE_TABLES is not set |
232 | # CONFIG_IPV6_MROUTE is not set | ||
227 | # CONFIG_NETWORK_SECMARK is not set | 233 | # CONFIG_NETWORK_SECMARK is not set |
228 | CONFIG_NETFILTER=y | 234 | CONFIG_NETFILTER=y |
229 | # CONFIG_NETFILTER_DEBUG is not set | 235 | # CONFIG_NETFILTER_DEBUG is not set |
@@ -239,6 +245,7 @@ CONFIG_NF_CONNTRACK=m | |||
239 | CONFIG_NF_CT_ACCT=y | 245 | CONFIG_NF_CT_ACCT=y |
240 | CONFIG_NF_CONNTRACK_MARK=y | 246 | CONFIG_NF_CONNTRACK_MARK=y |
241 | # CONFIG_NF_CONNTRACK_EVENTS is not set | 247 | # CONFIG_NF_CONNTRACK_EVENTS is not set |
248 | # CONFIG_NF_CT_PROTO_DCCP is not set | ||
242 | CONFIG_NF_CT_PROTO_GRE=m | 249 | CONFIG_NF_CT_PROTO_GRE=m |
243 | CONFIG_NF_CT_PROTO_SCTP=m | 250 | CONFIG_NF_CT_PROTO_SCTP=m |
244 | CONFIG_NF_CT_PROTO_UDPLITE=m | 251 | CONFIG_NF_CT_PROTO_UDPLITE=m |
@@ -317,6 +324,8 @@ CONFIG_IP_NF_TARGET_REDIRECT=m | |||
317 | CONFIG_IP_NF_TARGET_NETMAP=m | 324 | CONFIG_IP_NF_TARGET_NETMAP=m |
318 | CONFIG_NF_NAT_SNMP_BASIC=m | 325 | CONFIG_NF_NAT_SNMP_BASIC=m |
319 | CONFIG_NF_NAT_PROTO_GRE=m | 326 | CONFIG_NF_NAT_PROTO_GRE=m |
327 | CONFIG_NF_NAT_PROTO_UDPLITE=m | ||
328 | CONFIG_NF_NAT_PROTO_SCTP=m | ||
320 | CONFIG_NF_NAT_FTP=m | 329 | CONFIG_NF_NAT_FTP=m |
321 | CONFIG_NF_NAT_IRC=m | 330 | CONFIG_NF_NAT_IRC=m |
322 | CONFIG_NF_NAT_TFTP=m | 331 | CONFIG_NF_NAT_TFTP=m |
@@ -410,8 +419,6 @@ CONFIG_IEEE80211=m | |||
410 | CONFIG_IEEE80211_CRYPT_WEP=m | 419 | CONFIG_IEEE80211_CRYPT_WEP=m |
411 | CONFIG_IEEE80211_CRYPT_CCMP=m | 420 | CONFIG_IEEE80211_CRYPT_CCMP=m |
412 | CONFIG_IEEE80211_CRYPT_TKIP=m | 421 | CONFIG_IEEE80211_CRYPT_TKIP=m |
413 | CONFIG_IEEE80211_SOFTMAC=m | ||
414 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
415 | # CONFIG_RFKILL is not set | 422 | # CONFIG_RFKILL is not set |
416 | # CONFIG_NET_9P is not set | 423 | # CONFIG_NET_9P is not set |
417 | 424 | ||
@@ -542,6 +549,7 @@ CONFIG_MVME147_NET=y | |||
542 | # | 549 | # |
543 | # CONFIG_WLAN_PRE80211 is not set | 550 | # CONFIG_WLAN_PRE80211 is not set |
544 | # CONFIG_WLAN_80211 is not set | 551 | # CONFIG_WLAN_80211 is not set |
552 | # CONFIG_IWLWIFI_LEDS is not set | ||
545 | # CONFIG_WAN is not set | 553 | # CONFIG_WAN is not set |
546 | CONFIG_PPP=m | 554 | CONFIG_PPP=m |
547 | # CONFIG_PPP_MULTILINK is not set | 555 | # CONFIG_PPP_MULTILINK is not set |
@@ -625,6 +633,7 @@ CONFIG_VT=y | |||
625 | CONFIG_VT_CONSOLE=y | 633 | CONFIG_VT_CONSOLE=y |
626 | CONFIG_HW_CONSOLE=y | 634 | CONFIG_HW_CONSOLE=y |
627 | CONFIG_VT_HW_CONSOLE_BINDING=y | 635 | CONFIG_VT_HW_CONSOLE_BINDING=y |
636 | # CONFIG_DEVKMEM is not set | ||
628 | # CONFIG_SERIAL_NONSTANDARD is not set | 637 | # CONFIG_SERIAL_NONSTANDARD is not set |
629 | 638 | ||
630 | # | 639 | # |
@@ -646,12 +655,7 @@ CONFIG_GEN_RTC_X=y | |||
646 | # CONFIG_RAW_DRIVER is not set | 655 | # CONFIG_RAW_DRIVER is not set |
647 | # CONFIG_TCG_TPM is not set | 656 | # CONFIG_TCG_TPM is not set |
648 | # CONFIG_I2C is not set | 657 | # CONFIG_I2C is not set |
649 | |||
650 | # | ||
651 | # SPI support | ||
652 | # | ||
653 | # CONFIG_SPI is not set | 658 | # CONFIG_SPI is not set |
654 | # CONFIG_SPI_MASTER is not set | ||
655 | # CONFIG_W1 is not set | 659 | # CONFIG_W1 is not set |
656 | # CONFIG_POWER_SUPPLY is not set | 660 | # CONFIG_POWER_SUPPLY is not set |
657 | # CONFIG_HWMON is not set | 661 | # CONFIG_HWMON is not set |
@@ -668,12 +672,22 @@ CONFIG_SSB_POSSIBLE=y | |||
668 | # Multifunction device drivers | 672 | # Multifunction device drivers |
669 | # | 673 | # |
670 | # CONFIG_MFD_SM501 is not set | 674 | # CONFIG_MFD_SM501 is not set |
675 | # CONFIG_HTC_PASIC3 is not set | ||
671 | 676 | ||
672 | # | 677 | # |
673 | # Multimedia devices | 678 | # Multimedia devices |
674 | # | 679 | # |
680 | |||
681 | # | ||
682 | # Multimedia core support | ||
683 | # | ||
675 | # CONFIG_VIDEO_DEV is not set | 684 | # CONFIG_VIDEO_DEV is not set |
676 | # CONFIG_DVB_CORE is not set | 685 | # CONFIG_DVB_CORE is not set |
686 | # CONFIG_VIDEO_MEDIA is not set | ||
687 | |||
688 | # | ||
689 | # Multimedia drivers | ||
690 | # | ||
677 | # CONFIG_DAB is not set | 691 | # CONFIG_DAB is not set |
678 | 692 | ||
679 | # | 693 | # |
@@ -706,11 +720,8 @@ CONFIG_HIDRAW=y | |||
706 | # CONFIG_MMC is not set | 720 | # CONFIG_MMC is not set |
707 | # CONFIG_MEMSTICK is not set | 721 | # CONFIG_MEMSTICK is not set |
708 | # CONFIG_NEW_LEDS is not set | 722 | # CONFIG_NEW_LEDS is not set |
723 | # CONFIG_ACCESSIBILITY is not set | ||
709 | # CONFIG_RTC_CLASS is not set | 724 | # CONFIG_RTC_CLASS is not set |
710 | |||
711 | # | ||
712 | # Userspace I/O | ||
713 | # | ||
714 | # CONFIG_UIO is not set | 725 | # CONFIG_UIO is not set |
715 | 726 | ||
716 | # | 727 | # |
@@ -738,16 +749,15 @@ CONFIG_JFS_FS=m | |||
738 | # CONFIG_JFS_SECURITY is not set | 749 | # CONFIG_JFS_SECURITY is not set |
739 | # CONFIG_JFS_DEBUG is not set | 750 | # CONFIG_JFS_DEBUG is not set |
740 | # CONFIG_JFS_STATISTICS is not set | 751 | # CONFIG_JFS_STATISTICS is not set |
741 | CONFIG_FS_POSIX_ACL=y | 752 | # CONFIG_FS_POSIX_ACL is not set |
742 | CONFIG_XFS_FS=m | 753 | CONFIG_XFS_FS=m |
743 | # CONFIG_XFS_QUOTA is not set | 754 | # CONFIG_XFS_QUOTA is not set |
744 | # CONFIG_XFS_SECURITY is not set | ||
745 | # CONFIG_XFS_POSIX_ACL is not set | 755 | # CONFIG_XFS_POSIX_ACL is not set |
746 | # CONFIG_XFS_RT is not set | 756 | # CONFIG_XFS_RT is not set |
747 | CONFIG_GFS2_FS=m | 757 | # CONFIG_XFS_DEBUG is not set |
748 | CONFIG_GFS2_FS_LOCKING_NOLOCK=m | ||
749 | CONFIG_GFS2_FS_LOCKING_DLM=m | ||
750 | CONFIG_OCFS2_FS=m | 758 | CONFIG_OCFS2_FS=m |
759 | CONFIG_OCFS2_FS_O2CB=m | ||
760 | CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m | ||
751 | # CONFIG_OCFS2_DEBUG_MASKLOG is not set | 761 | # CONFIG_OCFS2_DEBUG_MASKLOG is not set |
752 | # CONFIG_OCFS2_DEBUG_FS is not set | 762 | # CONFIG_OCFS2_DEBUG_FS is not set |
753 | CONFIG_DNOTIFY=y | 763 | CONFIG_DNOTIFY=y |
@@ -819,12 +829,10 @@ CONFIG_NFS_FS=y | |||
819 | CONFIG_NFS_V3=y | 829 | CONFIG_NFS_V3=y |
820 | # CONFIG_NFS_V3_ACL is not set | 830 | # CONFIG_NFS_V3_ACL is not set |
821 | CONFIG_NFS_V4=y | 831 | CONFIG_NFS_V4=y |
822 | # CONFIG_NFS_DIRECTIO is not set | ||
823 | CONFIG_NFSD=m | 832 | CONFIG_NFSD=m |
824 | CONFIG_NFSD_V3=y | 833 | CONFIG_NFSD_V3=y |
825 | # CONFIG_NFSD_V3_ACL is not set | 834 | # CONFIG_NFSD_V3_ACL is not set |
826 | # CONFIG_NFSD_V4 is not set | 835 | # CONFIG_NFSD_V4 is not set |
827 | CONFIG_NFSD_TCP=y | ||
828 | CONFIG_ROOT_NFS=y | 836 | CONFIG_ROOT_NFS=y |
829 | CONFIG_LOCKD=y | 837 | CONFIG_LOCKD=y |
830 | CONFIG_LOCKD_V4=y | 838 | CONFIG_LOCKD_V4=y |
@@ -899,6 +907,7 @@ CONFIG_DLM=m | |||
899 | # CONFIG_PRINTK_TIME is not set | 907 | # CONFIG_PRINTK_TIME is not set |
900 | CONFIG_ENABLE_WARN_DEPRECATED=y | 908 | CONFIG_ENABLE_WARN_DEPRECATED=y |
901 | CONFIG_ENABLE_MUST_CHECK=y | 909 | CONFIG_ENABLE_MUST_CHECK=y |
910 | CONFIG_FRAME_WARN=1024 | ||
902 | CONFIG_MAGIC_SYSRQ=y | 911 | CONFIG_MAGIC_SYSRQ=y |
903 | # CONFIG_UNUSED_SYMBOLS is not set | 912 | # CONFIG_UNUSED_SYMBOLS is not set |
904 | # CONFIG_DEBUG_FS is not set | 913 | # CONFIG_DEBUG_FS is not set |
@@ -918,53 +927,82 @@ CONFIG_ASYNC_CORE=m | |||
918 | CONFIG_ASYNC_MEMCPY=m | 927 | CONFIG_ASYNC_MEMCPY=m |
919 | CONFIG_ASYNC_XOR=m | 928 | CONFIG_ASYNC_XOR=m |
920 | CONFIG_CRYPTO=y | 929 | CONFIG_CRYPTO=y |
930 | |||
931 | # | ||
932 | # Crypto core or helper | ||
933 | # | ||
921 | CONFIG_CRYPTO_ALGAPI=y | 934 | CONFIG_CRYPTO_ALGAPI=y |
922 | CONFIG_CRYPTO_AEAD=m | 935 | CONFIG_CRYPTO_AEAD=m |
923 | CONFIG_CRYPTO_BLKCIPHER=y | 936 | CONFIG_CRYPTO_BLKCIPHER=y |
924 | CONFIG_CRYPTO_SEQIV=m | ||
925 | CONFIG_CRYPTO_HASH=y | 937 | CONFIG_CRYPTO_HASH=y |
926 | CONFIG_CRYPTO_MANAGER=y | 938 | CONFIG_CRYPTO_MANAGER=y |
939 | CONFIG_CRYPTO_GF128MUL=m | ||
940 | CONFIG_CRYPTO_NULL=m | ||
941 | CONFIG_CRYPTO_CRYPTD=m | ||
942 | CONFIG_CRYPTO_AUTHENC=m | ||
943 | CONFIG_CRYPTO_TEST=m | ||
944 | |||
945 | # | ||
946 | # Authenticated Encryption with Associated Data | ||
947 | # | ||
948 | CONFIG_CRYPTO_CCM=m | ||
949 | CONFIG_CRYPTO_GCM=m | ||
950 | CONFIG_CRYPTO_SEQIV=m | ||
951 | |||
952 | # | ||
953 | # Block modes | ||
954 | # | ||
955 | CONFIG_CRYPTO_CBC=y | ||
956 | CONFIG_CRYPTO_CTR=m | ||
957 | CONFIG_CRYPTO_CTS=m | ||
958 | CONFIG_CRYPTO_ECB=m | ||
959 | CONFIG_CRYPTO_LRW=m | ||
960 | CONFIG_CRYPTO_PCBC=m | ||
961 | CONFIG_CRYPTO_XTS=m | ||
962 | |||
963 | # | ||
964 | # Hash modes | ||
965 | # | ||
927 | CONFIG_CRYPTO_HMAC=y | 966 | CONFIG_CRYPTO_HMAC=y |
928 | CONFIG_CRYPTO_XCBC=m | 967 | CONFIG_CRYPTO_XCBC=m |
929 | CONFIG_CRYPTO_NULL=m | 968 | |
969 | # | ||
970 | # Digest | ||
971 | # | ||
972 | CONFIG_CRYPTO_CRC32C=m | ||
930 | CONFIG_CRYPTO_MD4=m | 973 | CONFIG_CRYPTO_MD4=m |
931 | CONFIG_CRYPTO_MD5=y | 974 | CONFIG_CRYPTO_MD5=y |
975 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
932 | CONFIG_CRYPTO_SHA1=m | 976 | CONFIG_CRYPTO_SHA1=m |
933 | CONFIG_CRYPTO_SHA256=m | 977 | CONFIG_CRYPTO_SHA256=m |
934 | CONFIG_CRYPTO_SHA512=m | 978 | CONFIG_CRYPTO_SHA512=m |
935 | CONFIG_CRYPTO_WP512=m | ||
936 | CONFIG_CRYPTO_TGR192=m | 979 | CONFIG_CRYPTO_TGR192=m |
937 | CONFIG_CRYPTO_GF128MUL=m | 980 | CONFIG_CRYPTO_WP512=m |
938 | CONFIG_CRYPTO_ECB=m | 981 | |
939 | CONFIG_CRYPTO_CBC=y | 982 | # |
940 | CONFIG_CRYPTO_PCBC=m | 983 | # Ciphers |
941 | CONFIG_CRYPTO_LRW=m | 984 | # |
942 | CONFIG_CRYPTO_XTS=m | ||
943 | CONFIG_CRYPTO_CTR=m | ||
944 | CONFIG_CRYPTO_GCM=m | ||
945 | CONFIG_CRYPTO_CCM=m | ||
946 | CONFIG_CRYPTO_CRYPTD=m | ||
947 | CONFIG_CRYPTO_DES=y | ||
948 | CONFIG_CRYPTO_FCRYPT=m | ||
949 | CONFIG_CRYPTO_BLOWFISH=m | ||
950 | CONFIG_CRYPTO_TWOFISH=m | ||
951 | CONFIG_CRYPTO_TWOFISH_COMMON=m | ||
952 | CONFIG_CRYPTO_SERPENT=m | ||
953 | CONFIG_CRYPTO_AES=m | 985 | CONFIG_CRYPTO_AES=m |
986 | CONFIG_CRYPTO_ANUBIS=m | ||
987 | CONFIG_CRYPTO_ARC4=m | ||
988 | CONFIG_CRYPTO_BLOWFISH=m | ||
989 | CONFIG_CRYPTO_CAMELLIA=m | ||
954 | CONFIG_CRYPTO_CAST5=m | 990 | CONFIG_CRYPTO_CAST5=m |
955 | CONFIG_CRYPTO_CAST6=m | 991 | CONFIG_CRYPTO_CAST6=m |
956 | CONFIG_CRYPTO_TEA=m | 992 | CONFIG_CRYPTO_DES=y |
957 | CONFIG_CRYPTO_ARC4=m | 993 | CONFIG_CRYPTO_FCRYPT=m |
958 | CONFIG_CRYPTO_KHAZAD=m | 994 | CONFIG_CRYPTO_KHAZAD=m |
959 | CONFIG_CRYPTO_ANUBIS=m | ||
960 | CONFIG_CRYPTO_SEED=m | ||
961 | CONFIG_CRYPTO_SALSA20=m | 995 | CONFIG_CRYPTO_SALSA20=m |
996 | CONFIG_CRYPTO_SEED=m | ||
997 | CONFIG_CRYPTO_SERPENT=m | ||
998 | CONFIG_CRYPTO_TEA=m | ||
999 | CONFIG_CRYPTO_TWOFISH=m | ||
1000 | CONFIG_CRYPTO_TWOFISH_COMMON=m | ||
1001 | |||
1002 | # | ||
1003 | # Compression | ||
1004 | # | ||
962 | CONFIG_CRYPTO_DEFLATE=m | 1005 | CONFIG_CRYPTO_DEFLATE=m |
963 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
964 | CONFIG_CRYPTO_CRC32C=m | ||
965 | CONFIG_CRYPTO_CAMELLIA=m | ||
966 | CONFIG_CRYPTO_TEST=m | ||
967 | CONFIG_CRYPTO_AUTHENC=m | ||
968 | CONFIG_CRYPTO_LZO=m | 1006 | CONFIG_CRYPTO_LZO=m |
969 | # CONFIG_CRYPTO_HW is not set | 1007 | # CONFIG_CRYPTO_HW is not set |
970 | 1008 | ||
@@ -972,9 +1010,11 @@ CONFIG_CRYPTO_LZO=m | |||
972 | # Library routines | 1010 | # Library routines |
973 | # | 1011 | # |
974 | CONFIG_BITREVERSE=y | 1012 | CONFIG_BITREVERSE=y |
1013 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
1014 | # CONFIG_GENERIC_FIND_NEXT_BIT is not set | ||
975 | CONFIG_CRC_CCITT=m | 1015 | CONFIG_CRC_CCITT=m |
976 | CONFIG_CRC16=m | 1016 | CONFIG_CRC16=m |
977 | # CONFIG_CRC_ITU_T is not set | 1017 | CONFIG_CRC_ITU_T=m |
978 | CONFIG_CRC32=y | 1018 | CONFIG_CRC32=y |
979 | # CONFIG_CRC7 is not set | 1019 | # CONFIG_CRC7 is not set |
980 | CONFIG_LIBCRC32C=m | 1020 | CONFIG_LIBCRC32C=m |
diff --git a/arch/m68k/configs/mvme16x_defconfig b/arch/m68k/configs/mvme16x_defconfig index e9ccc774334e..983e53d990c8 100644 --- a/arch/m68k/configs/mvme16x_defconfig +++ b/arch/m68k/configs/mvme16x_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.25-rc8 | 3 | # Linux kernel version: 2.6.26-rc2 |
4 | # Wed Apr 2 20:46:19 2008 | 4 | # Sun May 18 14:44:50 2008 |
5 | # | 5 | # |
6 | CONFIG_M68K=y | 6 | CONFIG_M68K=y |
7 | CONFIG_MMU=y | 7 | CONFIG_MMU=y |
@@ -52,6 +52,7 @@ CONFIG_SYSCTL=y | |||
52 | # CONFIG_EMBEDDED is not set | 52 | # CONFIG_EMBEDDED is not set |
53 | CONFIG_UID16=y | 53 | CONFIG_UID16=y |
54 | CONFIG_SYSCTL_SYSCALL=y | 54 | CONFIG_SYSCTL_SYSCALL=y |
55 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
55 | CONFIG_KALLSYMS=y | 56 | CONFIG_KALLSYMS=y |
56 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 57 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
57 | CONFIG_HOTPLUG=y | 58 | CONFIG_HOTPLUG=y |
@@ -76,12 +77,14 @@ CONFIG_SLAB=y | |||
76 | # CONFIG_HAVE_OPROFILE is not set | 77 | # CONFIG_HAVE_OPROFILE is not set |
77 | # CONFIG_HAVE_KPROBES is not set | 78 | # CONFIG_HAVE_KPROBES is not set |
78 | # CONFIG_HAVE_KRETPROBES is not set | 79 | # CONFIG_HAVE_KRETPROBES is not set |
80 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
79 | CONFIG_PROC_PAGE_MONITOR=y | 81 | CONFIG_PROC_PAGE_MONITOR=y |
80 | CONFIG_SLABINFO=y | 82 | CONFIG_SLABINFO=y |
81 | CONFIG_RT_MUTEXES=y | 83 | CONFIG_RT_MUTEXES=y |
82 | # CONFIG_TINY_SHMEM is not set | 84 | # CONFIG_TINY_SHMEM is not set |
83 | CONFIG_BASE_SMALL=0 | 85 | CONFIG_BASE_SMALL=0 |
84 | CONFIG_MODULES=y | 86 | CONFIG_MODULES=y |
87 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
85 | CONFIG_MODULE_UNLOAD=y | 88 | CONFIG_MODULE_UNLOAD=y |
86 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 89 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
87 | # CONFIG_MODVERSIONS is not set | 90 | # CONFIG_MODVERSIONS is not set |
@@ -144,6 +147,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y | |||
144 | CONFIG_NEED_MULTIPLE_NODES=y | 147 | CONFIG_NEED_MULTIPLE_NODES=y |
145 | # CONFIG_SPARSEMEM_STATIC is not set | 148 | # CONFIG_SPARSEMEM_STATIC is not set |
146 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | 149 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set |
150 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
147 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 151 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
148 | # CONFIG_RESOURCES_64BIT is not set | 152 | # CONFIG_RESOURCES_64BIT is not set |
149 | CONFIG_ZONE_DMA_FLAG=1 | 153 | CONFIG_ZONE_DMA_FLAG=1 |
@@ -222,8 +226,10 @@ CONFIG_INET6_XFRM_MODE_TUNNEL=m | |||
222 | CONFIG_INET6_XFRM_MODE_BEET=m | 226 | CONFIG_INET6_XFRM_MODE_BEET=m |
223 | CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m | 227 | CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m |
224 | CONFIG_IPV6_SIT=m | 228 | CONFIG_IPV6_SIT=m |
229 | CONFIG_IPV6_NDISC_NODETYPE=y | ||
225 | CONFIG_IPV6_TUNNEL=m | 230 | CONFIG_IPV6_TUNNEL=m |
226 | # CONFIG_IPV6_MULTIPLE_TABLES is not set | 231 | # CONFIG_IPV6_MULTIPLE_TABLES is not set |
232 | # CONFIG_IPV6_MROUTE is not set | ||
227 | # CONFIG_NETWORK_SECMARK is not set | 233 | # CONFIG_NETWORK_SECMARK is not set |
228 | CONFIG_NETFILTER=y | 234 | CONFIG_NETFILTER=y |
229 | # CONFIG_NETFILTER_DEBUG is not set | 235 | # CONFIG_NETFILTER_DEBUG is not set |
@@ -239,6 +245,7 @@ CONFIG_NF_CONNTRACK=m | |||
239 | CONFIG_NF_CT_ACCT=y | 245 | CONFIG_NF_CT_ACCT=y |
240 | CONFIG_NF_CONNTRACK_MARK=y | 246 | CONFIG_NF_CONNTRACK_MARK=y |
241 | # CONFIG_NF_CONNTRACK_EVENTS is not set | 247 | # CONFIG_NF_CONNTRACK_EVENTS is not set |
248 | # CONFIG_NF_CT_PROTO_DCCP is not set | ||
242 | CONFIG_NF_CT_PROTO_GRE=m | 249 | CONFIG_NF_CT_PROTO_GRE=m |
243 | CONFIG_NF_CT_PROTO_SCTP=m | 250 | CONFIG_NF_CT_PROTO_SCTP=m |
244 | CONFIG_NF_CT_PROTO_UDPLITE=m | 251 | CONFIG_NF_CT_PROTO_UDPLITE=m |
@@ -317,6 +324,8 @@ CONFIG_IP_NF_TARGET_REDIRECT=m | |||
317 | CONFIG_IP_NF_TARGET_NETMAP=m | 324 | CONFIG_IP_NF_TARGET_NETMAP=m |
318 | CONFIG_NF_NAT_SNMP_BASIC=m | 325 | CONFIG_NF_NAT_SNMP_BASIC=m |
319 | CONFIG_NF_NAT_PROTO_GRE=m | 326 | CONFIG_NF_NAT_PROTO_GRE=m |
327 | CONFIG_NF_NAT_PROTO_UDPLITE=m | ||
328 | CONFIG_NF_NAT_PROTO_SCTP=m | ||
320 | CONFIG_NF_NAT_FTP=m | 329 | CONFIG_NF_NAT_FTP=m |
321 | CONFIG_NF_NAT_IRC=m | 330 | CONFIG_NF_NAT_IRC=m |
322 | CONFIG_NF_NAT_TFTP=m | 331 | CONFIG_NF_NAT_TFTP=m |
@@ -410,8 +419,6 @@ CONFIG_IEEE80211=m | |||
410 | CONFIG_IEEE80211_CRYPT_WEP=m | 419 | CONFIG_IEEE80211_CRYPT_WEP=m |
411 | CONFIG_IEEE80211_CRYPT_CCMP=m | 420 | CONFIG_IEEE80211_CRYPT_CCMP=m |
412 | CONFIG_IEEE80211_CRYPT_TKIP=m | 421 | CONFIG_IEEE80211_CRYPT_TKIP=m |
413 | CONFIG_IEEE80211_SOFTMAC=m | ||
414 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
415 | # CONFIG_RFKILL is not set | 422 | # CONFIG_RFKILL is not set |
416 | # CONFIG_NET_9P is not set | 423 | # CONFIG_NET_9P is not set |
417 | 424 | ||
@@ -543,6 +550,7 @@ CONFIG_MVME16x_NET=y | |||
543 | # | 550 | # |
544 | # CONFIG_WLAN_PRE80211 is not set | 551 | # CONFIG_WLAN_PRE80211 is not set |
545 | # CONFIG_WLAN_80211 is not set | 552 | # CONFIG_WLAN_80211 is not set |
553 | # CONFIG_IWLWIFI_LEDS is not set | ||
546 | # CONFIG_WAN is not set | 554 | # CONFIG_WAN is not set |
547 | CONFIG_PPP=m | 555 | CONFIG_PPP=m |
548 | # CONFIG_PPP_MULTILINK is not set | 556 | # CONFIG_PPP_MULTILINK is not set |
@@ -626,6 +634,7 @@ CONFIG_VT=y | |||
626 | CONFIG_VT_CONSOLE=y | 634 | CONFIG_VT_CONSOLE=y |
627 | CONFIG_HW_CONSOLE=y | 635 | CONFIG_HW_CONSOLE=y |
628 | CONFIG_VT_HW_CONSOLE_BINDING=y | 636 | CONFIG_VT_HW_CONSOLE_BINDING=y |
637 | # CONFIG_DEVKMEM is not set | ||
629 | # CONFIG_SERIAL_NONSTANDARD is not set | 638 | # CONFIG_SERIAL_NONSTANDARD is not set |
630 | 639 | ||
631 | # | 640 | # |
@@ -647,12 +656,7 @@ CONFIG_GEN_RTC_X=y | |||
647 | # CONFIG_RAW_DRIVER is not set | 656 | # CONFIG_RAW_DRIVER is not set |
648 | # CONFIG_TCG_TPM is not set | 657 | # CONFIG_TCG_TPM is not set |
649 | # CONFIG_I2C is not set | 658 | # CONFIG_I2C is not set |
650 | |||
651 | # | ||
652 | # SPI support | ||
653 | # | ||
654 | # CONFIG_SPI is not set | 659 | # CONFIG_SPI is not set |
655 | # CONFIG_SPI_MASTER is not set | ||
656 | # CONFIG_W1 is not set | 660 | # CONFIG_W1 is not set |
657 | # CONFIG_POWER_SUPPLY is not set | 661 | # CONFIG_POWER_SUPPLY is not set |
658 | # CONFIG_HWMON is not set | 662 | # CONFIG_HWMON is not set |
@@ -669,12 +673,22 @@ CONFIG_SSB_POSSIBLE=y | |||
669 | # Multifunction device drivers | 673 | # Multifunction device drivers |
670 | # | 674 | # |
671 | # CONFIG_MFD_SM501 is not set | 675 | # CONFIG_MFD_SM501 is not set |
676 | # CONFIG_HTC_PASIC3 is not set | ||
672 | 677 | ||
673 | # | 678 | # |
674 | # Multimedia devices | 679 | # Multimedia devices |
675 | # | 680 | # |
681 | |||
682 | # | ||
683 | # Multimedia core support | ||
684 | # | ||
676 | # CONFIG_VIDEO_DEV is not set | 685 | # CONFIG_VIDEO_DEV is not set |
677 | # CONFIG_DVB_CORE is not set | 686 | # CONFIG_DVB_CORE is not set |
687 | # CONFIG_VIDEO_MEDIA is not set | ||
688 | |||
689 | # | ||
690 | # Multimedia drivers | ||
691 | # | ||
678 | # CONFIG_DAB is not set | 692 | # CONFIG_DAB is not set |
679 | 693 | ||
680 | # | 694 | # |
@@ -707,11 +721,8 @@ CONFIG_HIDRAW=y | |||
707 | # CONFIG_MMC is not set | 721 | # CONFIG_MMC is not set |
708 | # CONFIG_MEMSTICK is not set | 722 | # CONFIG_MEMSTICK is not set |
709 | # CONFIG_NEW_LEDS is not set | 723 | # CONFIG_NEW_LEDS is not set |
724 | # CONFIG_ACCESSIBILITY is not set | ||
710 | # CONFIG_RTC_CLASS is not set | 725 | # CONFIG_RTC_CLASS is not set |
711 | |||
712 | # | ||
713 | # Userspace I/O | ||
714 | # | ||
715 | # CONFIG_UIO is not set | 726 | # CONFIG_UIO is not set |
716 | 727 | ||
717 | # | 728 | # |
@@ -740,16 +751,15 @@ CONFIG_JFS_FS=m | |||
740 | # CONFIG_JFS_SECURITY is not set | 751 | # CONFIG_JFS_SECURITY is not set |
741 | # CONFIG_JFS_DEBUG is not set | 752 | # CONFIG_JFS_DEBUG is not set |
742 | # CONFIG_JFS_STATISTICS is not set | 753 | # CONFIG_JFS_STATISTICS is not set |
743 | CONFIG_FS_POSIX_ACL=y | 754 | # CONFIG_FS_POSIX_ACL is not set |
744 | CONFIG_XFS_FS=m | 755 | CONFIG_XFS_FS=m |
745 | # CONFIG_XFS_QUOTA is not set | 756 | # CONFIG_XFS_QUOTA is not set |
746 | # CONFIG_XFS_SECURITY is not set | ||
747 | # CONFIG_XFS_POSIX_ACL is not set | 757 | # CONFIG_XFS_POSIX_ACL is not set |
748 | # CONFIG_XFS_RT is not set | 758 | # CONFIG_XFS_RT is not set |
749 | CONFIG_GFS2_FS=m | 759 | # CONFIG_XFS_DEBUG is not set |
750 | CONFIG_GFS2_FS_LOCKING_NOLOCK=m | ||
751 | CONFIG_GFS2_FS_LOCKING_DLM=m | ||
752 | CONFIG_OCFS2_FS=m | 760 | CONFIG_OCFS2_FS=m |
761 | CONFIG_OCFS2_FS_O2CB=m | ||
762 | CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m | ||
753 | # CONFIG_OCFS2_DEBUG_MASKLOG is not set | 763 | # CONFIG_OCFS2_DEBUG_MASKLOG is not set |
754 | # CONFIG_OCFS2_DEBUG_FS is not set | 764 | # CONFIG_OCFS2_DEBUG_FS is not set |
755 | CONFIG_DNOTIFY=y | 765 | CONFIG_DNOTIFY=y |
@@ -821,12 +831,10 @@ CONFIG_NFS_FS=y | |||
821 | CONFIG_NFS_V3=y | 831 | CONFIG_NFS_V3=y |
822 | # CONFIG_NFS_V3_ACL is not set | 832 | # CONFIG_NFS_V3_ACL is not set |
823 | CONFIG_NFS_V4=y | 833 | CONFIG_NFS_V4=y |
824 | # CONFIG_NFS_DIRECTIO is not set | ||
825 | CONFIG_NFSD=m | 834 | CONFIG_NFSD=m |
826 | CONFIG_NFSD_V3=y | 835 | CONFIG_NFSD_V3=y |
827 | # CONFIG_NFSD_V3_ACL is not set | 836 | # CONFIG_NFSD_V3_ACL is not set |
828 | # CONFIG_NFSD_V4 is not set | 837 | # CONFIG_NFSD_V4 is not set |
829 | CONFIG_NFSD_TCP=y | ||
830 | CONFIG_ROOT_NFS=y | 838 | CONFIG_ROOT_NFS=y |
831 | CONFIG_LOCKD=y | 839 | CONFIG_LOCKD=y |
832 | CONFIG_LOCKD_V4=y | 840 | CONFIG_LOCKD_V4=y |
@@ -901,6 +909,7 @@ CONFIG_DLM=m | |||
901 | # CONFIG_PRINTK_TIME is not set | 909 | # CONFIG_PRINTK_TIME is not set |
902 | CONFIG_ENABLE_WARN_DEPRECATED=y | 910 | CONFIG_ENABLE_WARN_DEPRECATED=y |
903 | CONFIG_ENABLE_MUST_CHECK=y | 911 | CONFIG_ENABLE_MUST_CHECK=y |
912 | CONFIG_FRAME_WARN=1024 | ||
904 | CONFIG_MAGIC_SYSRQ=y | 913 | CONFIG_MAGIC_SYSRQ=y |
905 | # CONFIG_UNUSED_SYMBOLS is not set | 914 | # CONFIG_UNUSED_SYMBOLS is not set |
906 | # CONFIG_DEBUG_FS is not set | 915 | # CONFIG_DEBUG_FS is not set |
@@ -920,53 +929,82 @@ CONFIG_ASYNC_CORE=m | |||
920 | CONFIG_ASYNC_MEMCPY=m | 929 | CONFIG_ASYNC_MEMCPY=m |
921 | CONFIG_ASYNC_XOR=m | 930 | CONFIG_ASYNC_XOR=m |
922 | CONFIG_CRYPTO=y | 931 | CONFIG_CRYPTO=y |
932 | |||
933 | # | ||
934 | # Crypto core or helper | ||
935 | # | ||
923 | CONFIG_CRYPTO_ALGAPI=y | 936 | CONFIG_CRYPTO_ALGAPI=y |
924 | CONFIG_CRYPTO_AEAD=m | 937 | CONFIG_CRYPTO_AEAD=m |
925 | CONFIG_CRYPTO_BLKCIPHER=y | 938 | CONFIG_CRYPTO_BLKCIPHER=y |
926 | CONFIG_CRYPTO_SEQIV=m | ||
927 | CONFIG_CRYPTO_HASH=y | 939 | CONFIG_CRYPTO_HASH=y |
928 | CONFIG_CRYPTO_MANAGER=y | 940 | CONFIG_CRYPTO_MANAGER=y |
941 | CONFIG_CRYPTO_GF128MUL=m | ||
942 | CONFIG_CRYPTO_NULL=m | ||
943 | CONFIG_CRYPTO_CRYPTD=m | ||
944 | CONFIG_CRYPTO_AUTHENC=m | ||
945 | CONFIG_CRYPTO_TEST=m | ||
946 | |||
947 | # | ||
948 | # Authenticated Encryption with Associated Data | ||
949 | # | ||
950 | CONFIG_CRYPTO_CCM=m | ||
951 | CONFIG_CRYPTO_GCM=m | ||
952 | CONFIG_CRYPTO_SEQIV=m | ||
953 | |||
954 | # | ||
955 | # Block modes | ||
956 | # | ||
957 | CONFIG_CRYPTO_CBC=y | ||
958 | CONFIG_CRYPTO_CTR=m | ||
959 | CONFIG_CRYPTO_CTS=m | ||
960 | CONFIG_CRYPTO_ECB=m | ||
961 | CONFIG_CRYPTO_LRW=m | ||
962 | CONFIG_CRYPTO_PCBC=m | ||
963 | CONFIG_CRYPTO_XTS=m | ||
964 | |||
965 | # | ||
966 | # Hash modes | ||
967 | # | ||
929 | CONFIG_CRYPTO_HMAC=y | 968 | CONFIG_CRYPTO_HMAC=y |
930 | CONFIG_CRYPTO_XCBC=m | 969 | CONFIG_CRYPTO_XCBC=m |
931 | CONFIG_CRYPTO_NULL=m | 970 | |
971 | # | ||
972 | # Digest | ||
973 | # | ||
974 | CONFIG_CRYPTO_CRC32C=m | ||
932 | CONFIG_CRYPTO_MD4=m | 975 | CONFIG_CRYPTO_MD4=m |
933 | CONFIG_CRYPTO_MD5=y | 976 | CONFIG_CRYPTO_MD5=y |
977 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
934 | CONFIG_CRYPTO_SHA1=m | 978 | CONFIG_CRYPTO_SHA1=m |
935 | CONFIG_CRYPTO_SHA256=m | 979 | CONFIG_CRYPTO_SHA256=m |
936 | CONFIG_CRYPTO_SHA512=m | 980 | CONFIG_CRYPTO_SHA512=m |
937 | CONFIG_CRYPTO_WP512=m | ||
938 | CONFIG_CRYPTO_TGR192=m | 981 | CONFIG_CRYPTO_TGR192=m |
939 | CONFIG_CRYPTO_GF128MUL=m | 982 | CONFIG_CRYPTO_WP512=m |
940 | CONFIG_CRYPTO_ECB=m | 983 | |
941 | CONFIG_CRYPTO_CBC=y | 984 | # |
942 | CONFIG_CRYPTO_PCBC=m | 985 | # Ciphers |
943 | CONFIG_CRYPTO_LRW=m | 986 | # |
944 | CONFIG_CRYPTO_XTS=m | ||
945 | CONFIG_CRYPTO_CTR=m | ||
946 | CONFIG_CRYPTO_GCM=m | ||
947 | CONFIG_CRYPTO_CCM=m | ||
948 | CONFIG_CRYPTO_CRYPTD=m | ||
949 | CONFIG_CRYPTO_DES=y | ||
950 | CONFIG_CRYPTO_FCRYPT=m | ||
951 | CONFIG_CRYPTO_BLOWFISH=m | ||
952 | CONFIG_CRYPTO_TWOFISH=m | ||
953 | CONFIG_CRYPTO_TWOFISH_COMMON=m | ||
954 | CONFIG_CRYPTO_SERPENT=m | ||
955 | CONFIG_CRYPTO_AES=m | 987 | CONFIG_CRYPTO_AES=m |
988 | CONFIG_CRYPTO_ANUBIS=m | ||
989 | CONFIG_CRYPTO_ARC4=m | ||
990 | CONFIG_CRYPTO_BLOWFISH=m | ||
991 | CONFIG_CRYPTO_CAMELLIA=m | ||
956 | CONFIG_CRYPTO_CAST5=m | 992 | CONFIG_CRYPTO_CAST5=m |
957 | CONFIG_CRYPTO_CAST6=m | 993 | CONFIG_CRYPTO_CAST6=m |
958 | CONFIG_CRYPTO_TEA=m | 994 | CONFIG_CRYPTO_DES=y |
959 | CONFIG_CRYPTO_ARC4=m | 995 | CONFIG_CRYPTO_FCRYPT=m |
960 | CONFIG_CRYPTO_KHAZAD=m | 996 | CONFIG_CRYPTO_KHAZAD=m |
961 | CONFIG_CRYPTO_ANUBIS=m | ||
962 | CONFIG_CRYPTO_SEED=m | ||
963 | CONFIG_CRYPTO_SALSA20=m | 997 | CONFIG_CRYPTO_SALSA20=m |
998 | CONFIG_CRYPTO_SEED=m | ||
999 | CONFIG_CRYPTO_SERPENT=m | ||
1000 | CONFIG_CRYPTO_TEA=m | ||
1001 | CONFIG_CRYPTO_TWOFISH=m | ||
1002 | CONFIG_CRYPTO_TWOFISH_COMMON=m | ||
1003 | |||
1004 | # | ||
1005 | # Compression | ||
1006 | # | ||
964 | CONFIG_CRYPTO_DEFLATE=m | 1007 | CONFIG_CRYPTO_DEFLATE=m |
965 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
966 | CONFIG_CRYPTO_CRC32C=m | ||
967 | CONFIG_CRYPTO_CAMELLIA=m | ||
968 | CONFIG_CRYPTO_TEST=m | ||
969 | CONFIG_CRYPTO_AUTHENC=m | ||
970 | CONFIG_CRYPTO_LZO=m | 1008 | CONFIG_CRYPTO_LZO=m |
971 | # CONFIG_CRYPTO_HW is not set | 1009 | # CONFIG_CRYPTO_HW is not set |
972 | 1010 | ||
@@ -974,9 +1012,11 @@ CONFIG_CRYPTO_LZO=m | |||
974 | # Library routines | 1012 | # Library routines |
975 | # | 1013 | # |
976 | CONFIG_BITREVERSE=y | 1014 | CONFIG_BITREVERSE=y |
1015 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
1016 | # CONFIG_GENERIC_FIND_NEXT_BIT is not set | ||
977 | CONFIG_CRC_CCITT=m | 1017 | CONFIG_CRC_CCITT=m |
978 | CONFIG_CRC16=m | 1018 | CONFIG_CRC16=m |
979 | # CONFIG_CRC_ITU_T is not set | 1019 | CONFIG_CRC_ITU_T=m |
980 | CONFIG_CRC32=y | 1020 | CONFIG_CRC32=y |
981 | # CONFIG_CRC7 is not set | 1021 | # CONFIG_CRC7 is not set |
982 | CONFIG_LIBCRC32C=m | 1022 | CONFIG_LIBCRC32C=m |
diff --git a/arch/m68k/configs/q40_defconfig b/arch/m68k/configs/q40_defconfig index 165658fe73eb..7707f3fb0a70 100644 --- a/arch/m68k/configs/q40_defconfig +++ b/arch/m68k/configs/q40_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.25-rc8 | 3 | # Linux kernel version: 2.6.26-rc2 |
4 | # Wed Apr 2 20:46:20 2008 | 4 | # Sun May 18 14:44:51 2008 |
5 | # | 5 | # |
6 | CONFIG_M68K=y | 6 | CONFIG_M68K=y |
7 | CONFIG_MMU=y | 7 | CONFIG_MMU=y |
@@ -12,7 +12,6 @@ CONFIG_GENERIC_HWEIGHT=y | |||
12 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 12 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
13 | CONFIG_TIME_LOW_RES=y | 13 | CONFIG_TIME_LOW_RES=y |
14 | CONFIG_GENERIC_IOMAP=y | 14 | CONFIG_GENERIC_IOMAP=y |
15 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | ||
16 | CONFIG_NO_IOPORT=y | 15 | CONFIG_NO_IOPORT=y |
17 | # CONFIG_NO_DMA is not set | 16 | # CONFIG_NO_DMA is not set |
18 | CONFIG_ARCH_SUPPORTS_AOUT=y | 17 | CONFIG_ARCH_SUPPORTS_AOUT=y |
@@ -53,6 +52,7 @@ CONFIG_SYSCTL=y | |||
53 | # CONFIG_EMBEDDED is not set | 52 | # CONFIG_EMBEDDED is not set |
54 | CONFIG_UID16=y | 53 | CONFIG_UID16=y |
55 | CONFIG_SYSCTL_SYSCALL=y | 54 | CONFIG_SYSCTL_SYSCALL=y |
55 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
56 | CONFIG_KALLSYMS=y | 56 | CONFIG_KALLSYMS=y |
57 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 57 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
58 | CONFIG_HOTPLUG=y | 58 | CONFIG_HOTPLUG=y |
@@ -77,12 +77,14 @@ CONFIG_SLAB=y | |||
77 | # CONFIG_HAVE_OPROFILE is not set | 77 | # CONFIG_HAVE_OPROFILE is not set |
78 | # CONFIG_HAVE_KPROBES is not set | 78 | # CONFIG_HAVE_KPROBES is not set |
79 | # CONFIG_HAVE_KRETPROBES is not set | 79 | # CONFIG_HAVE_KRETPROBES is not set |
80 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
80 | CONFIG_PROC_PAGE_MONITOR=y | 81 | CONFIG_PROC_PAGE_MONITOR=y |
81 | CONFIG_SLABINFO=y | 82 | CONFIG_SLABINFO=y |
82 | CONFIG_RT_MUTEXES=y | 83 | CONFIG_RT_MUTEXES=y |
83 | # CONFIG_TINY_SHMEM is not set | 84 | # CONFIG_TINY_SHMEM is not set |
84 | CONFIG_BASE_SMALL=0 | 85 | CONFIG_BASE_SMALL=0 |
85 | CONFIG_MODULES=y | 86 | CONFIG_MODULES=y |
87 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
86 | CONFIG_MODULE_UNLOAD=y | 88 | CONFIG_MODULE_UNLOAD=y |
87 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 89 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
88 | # CONFIG_MODVERSIONS is not set | 90 | # CONFIG_MODVERSIONS is not set |
@@ -142,6 +144,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y | |||
142 | CONFIG_NEED_MULTIPLE_NODES=y | 144 | CONFIG_NEED_MULTIPLE_NODES=y |
143 | # CONFIG_SPARSEMEM_STATIC is not set | 145 | # CONFIG_SPARSEMEM_STATIC is not set |
144 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | 146 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set |
147 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
145 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 148 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
146 | # CONFIG_RESOURCES_64BIT is not set | 149 | # CONFIG_RESOURCES_64BIT is not set |
147 | CONFIG_ZONE_DMA_FLAG=1 | 150 | CONFIG_ZONE_DMA_FLAG=1 |
@@ -220,8 +223,10 @@ CONFIG_INET6_XFRM_MODE_TUNNEL=m | |||
220 | CONFIG_INET6_XFRM_MODE_BEET=m | 223 | CONFIG_INET6_XFRM_MODE_BEET=m |
221 | CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m | 224 | CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m |
222 | CONFIG_IPV6_SIT=m | 225 | CONFIG_IPV6_SIT=m |
226 | CONFIG_IPV6_NDISC_NODETYPE=y | ||
223 | CONFIG_IPV6_TUNNEL=m | 227 | CONFIG_IPV6_TUNNEL=m |
224 | # CONFIG_IPV6_MULTIPLE_TABLES is not set | 228 | # CONFIG_IPV6_MULTIPLE_TABLES is not set |
229 | # CONFIG_IPV6_MROUTE is not set | ||
225 | # CONFIG_NETWORK_SECMARK is not set | 230 | # CONFIG_NETWORK_SECMARK is not set |
226 | CONFIG_NETFILTER=y | 231 | CONFIG_NETFILTER=y |
227 | # CONFIG_NETFILTER_DEBUG is not set | 232 | # CONFIG_NETFILTER_DEBUG is not set |
@@ -237,6 +242,7 @@ CONFIG_NF_CONNTRACK=m | |||
237 | CONFIG_NF_CT_ACCT=y | 242 | CONFIG_NF_CT_ACCT=y |
238 | CONFIG_NF_CONNTRACK_MARK=y | 243 | CONFIG_NF_CONNTRACK_MARK=y |
239 | # CONFIG_NF_CONNTRACK_EVENTS is not set | 244 | # CONFIG_NF_CONNTRACK_EVENTS is not set |
245 | # CONFIG_NF_CT_PROTO_DCCP is not set | ||
240 | CONFIG_NF_CT_PROTO_GRE=m | 246 | CONFIG_NF_CT_PROTO_GRE=m |
241 | CONFIG_NF_CT_PROTO_SCTP=m | 247 | CONFIG_NF_CT_PROTO_SCTP=m |
242 | CONFIG_NF_CT_PROTO_UDPLITE=m | 248 | CONFIG_NF_CT_PROTO_UDPLITE=m |
@@ -315,6 +321,8 @@ CONFIG_IP_NF_TARGET_REDIRECT=m | |||
315 | CONFIG_IP_NF_TARGET_NETMAP=m | 321 | CONFIG_IP_NF_TARGET_NETMAP=m |
316 | CONFIG_NF_NAT_SNMP_BASIC=m | 322 | CONFIG_NF_NAT_SNMP_BASIC=m |
317 | CONFIG_NF_NAT_PROTO_GRE=m | 323 | CONFIG_NF_NAT_PROTO_GRE=m |
324 | CONFIG_NF_NAT_PROTO_UDPLITE=m | ||
325 | CONFIG_NF_NAT_PROTO_SCTP=m | ||
318 | CONFIG_NF_NAT_FTP=m | 326 | CONFIG_NF_NAT_FTP=m |
319 | CONFIG_NF_NAT_IRC=m | 327 | CONFIG_NF_NAT_IRC=m |
320 | CONFIG_NF_NAT_TFTP=m | 328 | CONFIG_NF_NAT_TFTP=m |
@@ -408,8 +416,6 @@ CONFIG_IEEE80211=m | |||
408 | CONFIG_IEEE80211_CRYPT_WEP=m | 416 | CONFIG_IEEE80211_CRYPT_WEP=m |
409 | CONFIG_IEEE80211_CRYPT_CCMP=m | 417 | CONFIG_IEEE80211_CRYPT_CCMP=m |
410 | CONFIG_IEEE80211_CRYPT_TKIP=m | 418 | CONFIG_IEEE80211_CRYPT_TKIP=m |
411 | CONFIG_IEEE80211_SOFTMAC=m | ||
412 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
413 | # CONFIG_RFKILL is not set | 419 | # CONFIG_RFKILL is not set |
414 | # CONFIG_NET_9P is not set | 420 | # CONFIG_NET_9P is not set |
415 | 421 | ||
@@ -430,7 +436,6 @@ CONFIG_CONNECTOR=m | |||
430 | # CONFIG_PARPORT is not set | 436 | # CONFIG_PARPORT is not set |
431 | # CONFIG_PNP is not set | 437 | # CONFIG_PNP is not set |
432 | CONFIG_BLK_DEV=y | 438 | CONFIG_BLK_DEV=y |
433 | # CONFIG_BLK_DEV_FD is not set | ||
434 | # CONFIG_BLK_DEV_COW_COMMON is not set | 439 | # CONFIG_BLK_DEV_COW_COMMON is not set |
435 | CONFIG_BLK_DEV_LOOP=y | 440 | CONFIG_BLK_DEV_LOOP=y |
436 | CONFIG_BLK_DEV_CRYPTOLOOP=m | 441 | CONFIG_BLK_DEV_CRYPTOLOOP=m |
@@ -467,25 +472,10 @@ CONFIG_IDE_PROC_FS=y | |||
467 | # | 472 | # |
468 | # IDE chipset support/bugfixes | 473 | # IDE chipset support/bugfixes |
469 | # | 474 | # |
470 | # CONFIG_IDE_GENERIC is not set | ||
471 | # CONFIG_BLK_DEV_PLATFORM is not set | 475 | # CONFIG_BLK_DEV_PLATFORM is not set |
472 | CONFIG_BLK_DEV_Q40IDE=y | 476 | CONFIG_BLK_DEV_Q40IDE=y |
473 | |||
474 | # | ||
475 | # Other IDE chipsets support | ||
476 | # | ||
477 | |||
478 | # | ||
479 | # Note: most of these also require special kernel boot parameters | ||
480 | # | ||
481 | # CONFIG_BLK_DEV_4DRIVES is not set | ||
482 | # CONFIG_BLK_DEV_ALI14XX is not set | ||
483 | # CONFIG_BLK_DEV_DTC2278 is not set | ||
484 | # CONFIG_BLK_DEV_HT6560B is not set | ||
485 | # CONFIG_BLK_DEV_QD65XX is not set | ||
486 | # CONFIG_BLK_DEV_UMC8672 is not set | ||
487 | # CONFIG_BLK_DEV_IDEDMA is not set | 477 | # CONFIG_BLK_DEV_IDEDMA is not set |
488 | # CONFIG_IDE_ARCH_OBSOLETE_INIT is not set | 478 | # CONFIG_BLK_DEV_HD_ONLY is not set |
489 | # CONFIG_BLK_DEV_HD is not set | 479 | # CONFIG_BLK_DEV_HD is not set |
490 | 480 | ||
491 | # | 481 | # |
@@ -603,6 +593,7 @@ CONFIG_NE2000=m | |||
603 | # | 593 | # |
604 | # CONFIG_WLAN_PRE80211 is not set | 594 | # CONFIG_WLAN_PRE80211 is not set |
605 | # CONFIG_WLAN_80211 is not set | 595 | # CONFIG_WLAN_80211 is not set |
596 | # CONFIG_IWLWIFI_LEDS is not set | ||
606 | # CONFIG_WAN is not set | 597 | # CONFIG_WAN is not set |
607 | CONFIG_PPP=m | 598 | CONFIG_PPP=m |
608 | # CONFIG_PPP_MULTILINK is not set | 599 | # CONFIG_PPP_MULTILINK is not set |
@@ -692,6 +683,7 @@ CONFIG_VT=y | |||
692 | CONFIG_VT_CONSOLE=y | 683 | CONFIG_VT_CONSOLE=y |
693 | CONFIG_HW_CONSOLE=y | 684 | CONFIG_HW_CONSOLE=y |
694 | CONFIG_VT_HW_CONSOLE_BINDING=y | 685 | CONFIG_VT_HW_CONSOLE_BINDING=y |
686 | # CONFIG_DEVKMEM is not set | ||
695 | # CONFIG_SERIAL_NONSTANDARD is not set | 687 | # CONFIG_SERIAL_NONSTANDARD is not set |
696 | 688 | ||
697 | # | 689 | # |
@@ -714,12 +706,7 @@ CONFIG_GEN_RTC_X=y | |||
714 | # CONFIG_RAW_DRIVER is not set | 706 | # CONFIG_RAW_DRIVER is not set |
715 | # CONFIG_TCG_TPM is not set | 707 | # CONFIG_TCG_TPM is not set |
716 | # CONFIG_I2C is not set | 708 | # CONFIG_I2C is not set |
717 | |||
718 | # | ||
719 | # SPI support | ||
720 | # | ||
721 | # CONFIG_SPI is not set | 709 | # CONFIG_SPI is not set |
722 | # CONFIG_SPI_MASTER is not set | ||
723 | # CONFIG_W1 is not set | 710 | # CONFIG_W1 is not set |
724 | # CONFIG_POWER_SUPPLY is not set | 711 | # CONFIG_POWER_SUPPLY is not set |
725 | # CONFIG_HWMON is not set | 712 | # CONFIG_HWMON is not set |
@@ -736,12 +723,22 @@ CONFIG_SSB_POSSIBLE=y | |||
736 | # Multifunction device drivers | 723 | # Multifunction device drivers |
737 | # | 724 | # |
738 | # CONFIG_MFD_SM501 is not set | 725 | # CONFIG_MFD_SM501 is not set |
726 | # CONFIG_HTC_PASIC3 is not set | ||
739 | 727 | ||
740 | # | 728 | # |
741 | # Multimedia devices | 729 | # Multimedia devices |
742 | # | 730 | # |
731 | |||
732 | # | ||
733 | # Multimedia core support | ||
734 | # | ||
743 | # CONFIG_VIDEO_DEV is not set | 735 | # CONFIG_VIDEO_DEV is not set |
744 | # CONFIG_DVB_CORE is not set | 736 | # CONFIG_DVB_CORE is not set |
737 | # CONFIG_VIDEO_MEDIA is not set | ||
738 | |||
739 | # | ||
740 | # Multimedia drivers | ||
741 | # | ||
745 | # CONFIG_DAB is not set | 742 | # CONFIG_DAB is not set |
746 | 743 | ||
747 | # | 744 | # |
@@ -759,8 +756,8 @@ CONFIG_FB_CFB_IMAGEBLIT=y | |||
759 | # CONFIG_FB_SYS_FILLRECT is not set | 756 | # CONFIG_FB_SYS_FILLRECT is not set |
760 | # CONFIG_FB_SYS_COPYAREA is not set | 757 | # CONFIG_FB_SYS_COPYAREA is not set |
761 | # CONFIG_FB_SYS_IMAGEBLIT is not set | 758 | # CONFIG_FB_SYS_IMAGEBLIT is not set |
759 | # CONFIG_FB_FOREIGN_ENDIAN is not set | ||
762 | # CONFIG_FB_SYS_FOPS is not set | 760 | # CONFIG_FB_SYS_FOPS is not set |
763 | CONFIG_FB_DEFERRED_IO=y | ||
764 | # CONFIG_FB_SVGALIB is not set | 761 | # CONFIG_FB_SVGALIB is not set |
765 | # CONFIG_FB_MACMODES is not set | 762 | # CONFIG_FB_MACMODES is not set |
766 | # CONFIG_FB_BACKLIGHT is not set | 763 | # CONFIG_FB_BACKLIGHT is not set |
@@ -810,11 +807,8 @@ CONFIG_HIDRAW=y | |||
810 | # CONFIG_MMC is not set | 807 | # CONFIG_MMC is not set |
811 | # CONFIG_MEMSTICK is not set | 808 | # CONFIG_MEMSTICK is not set |
812 | # CONFIG_NEW_LEDS is not set | 809 | # CONFIG_NEW_LEDS is not set |
810 | # CONFIG_ACCESSIBILITY is not set | ||
813 | # CONFIG_RTC_CLASS is not set | 811 | # CONFIG_RTC_CLASS is not set |
814 | |||
815 | # | ||
816 | # Userspace I/O | ||
817 | # | ||
818 | # CONFIG_UIO is not set | 812 | # CONFIG_UIO is not set |
819 | 813 | ||
820 | # | 814 | # |
@@ -840,16 +834,15 @@ CONFIG_JFS_FS=m | |||
840 | # CONFIG_JFS_SECURITY is not set | 834 | # CONFIG_JFS_SECURITY is not set |
841 | # CONFIG_JFS_DEBUG is not set | 835 | # CONFIG_JFS_DEBUG is not set |
842 | # CONFIG_JFS_STATISTICS is not set | 836 | # CONFIG_JFS_STATISTICS is not set |
843 | CONFIG_FS_POSIX_ACL=y | 837 | # CONFIG_FS_POSIX_ACL is not set |
844 | CONFIG_XFS_FS=m | 838 | CONFIG_XFS_FS=m |
845 | # CONFIG_XFS_QUOTA is not set | 839 | # CONFIG_XFS_QUOTA is not set |
846 | # CONFIG_XFS_SECURITY is not set | ||
847 | # CONFIG_XFS_POSIX_ACL is not set | 840 | # CONFIG_XFS_POSIX_ACL is not set |
848 | # CONFIG_XFS_RT is not set | 841 | # CONFIG_XFS_RT is not set |
849 | CONFIG_GFS2_FS=m | 842 | # CONFIG_XFS_DEBUG is not set |
850 | CONFIG_GFS2_FS_LOCKING_NOLOCK=m | ||
851 | CONFIG_GFS2_FS_LOCKING_DLM=m | ||
852 | CONFIG_OCFS2_FS=m | 843 | CONFIG_OCFS2_FS=m |
844 | CONFIG_OCFS2_FS_O2CB=m | ||
845 | CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m | ||
853 | # CONFIG_OCFS2_DEBUG_MASKLOG is not set | 846 | # CONFIG_OCFS2_DEBUG_MASKLOG is not set |
854 | # CONFIG_OCFS2_DEBUG_FS is not set | 847 | # CONFIG_OCFS2_DEBUG_FS is not set |
855 | CONFIG_DNOTIFY=y | 848 | CONFIG_DNOTIFY=y |
@@ -921,12 +914,10 @@ CONFIG_NFS_FS=y | |||
921 | CONFIG_NFS_V3=y | 914 | CONFIG_NFS_V3=y |
922 | # CONFIG_NFS_V3_ACL is not set | 915 | # CONFIG_NFS_V3_ACL is not set |
923 | CONFIG_NFS_V4=y | 916 | CONFIG_NFS_V4=y |
924 | # CONFIG_NFS_DIRECTIO is not set | ||
925 | CONFIG_NFSD=m | 917 | CONFIG_NFSD=m |
926 | CONFIG_NFSD_V3=y | 918 | CONFIG_NFSD_V3=y |
927 | # CONFIG_NFSD_V3_ACL is not set | 919 | # CONFIG_NFSD_V3_ACL is not set |
928 | # CONFIG_NFSD_V4 is not set | 920 | # CONFIG_NFSD_V4 is not set |
929 | CONFIG_NFSD_TCP=y | ||
930 | CONFIG_LOCKD=y | 921 | CONFIG_LOCKD=y |
931 | CONFIG_LOCKD_V4=y | 922 | CONFIG_LOCKD_V4=y |
932 | CONFIG_EXPORTFS=m | 923 | CONFIG_EXPORTFS=m |
@@ -999,6 +990,7 @@ CONFIG_DLM=m | |||
999 | # CONFIG_PRINTK_TIME is not set | 990 | # CONFIG_PRINTK_TIME is not set |
1000 | CONFIG_ENABLE_WARN_DEPRECATED=y | 991 | CONFIG_ENABLE_WARN_DEPRECATED=y |
1001 | CONFIG_ENABLE_MUST_CHECK=y | 992 | CONFIG_ENABLE_MUST_CHECK=y |
993 | CONFIG_FRAME_WARN=1024 | ||
1002 | CONFIG_MAGIC_SYSRQ=y | 994 | CONFIG_MAGIC_SYSRQ=y |
1003 | # CONFIG_UNUSED_SYMBOLS is not set | 995 | # CONFIG_UNUSED_SYMBOLS is not set |
1004 | # CONFIG_DEBUG_FS is not set | 996 | # CONFIG_DEBUG_FS is not set |
@@ -1018,53 +1010,82 @@ CONFIG_ASYNC_CORE=m | |||
1018 | CONFIG_ASYNC_MEMCPY=m | 1010 | CONFIG_ASYNC_MEMCPY=m |
1019 | CONFIG_ASYNC_XOR=m | 1011 | CONFIG_ASYNC_XOR=m |
1020 | CONFIG_CRYPTO=y | 1012 | CONFIG_CRYPTO=y |
1013 | |||
1014 | # | ||
1015 | # Crypto core or helper | ||
1016 | # | ||
1021 | CONFIG_CRYPTO_ALGAPI=y | 1017 | CONFIG_CRYPTO_ALGAPI=y |
1022 | CONFIG_CRYPTO_AEAD=m | 1018 | CONFIG_CRYPTO_AEAD=m |
1023 | CONFIG_CRYPTO_BLKCIPHER=y | 1019 | CONFIG_CRYPTO_BLKCIPHER=y |
1024 | CONFIG_CRYPTO_SEQIV=m | ||
1025 | CONFIG_CRYPTO_HASH=y | 1020 | CONFIG_CRYPTO_HASH=y |
1026 | CONFIG_CRYPTO_MANAGER=y | 1021 | CONFIG_CRYPTO_MANAGER=y |
1022 | CONFIG_CRYPTO_GF128MUL=m | ||
1023 | CONFIG_CRYPTO_NULL=m | ||
1024 | CONFIG_CRYPTO_CRYPTD=m | ||
1025 | CONFIG_CRYPTO_AUTHENC=m | ||
1026 | CONFIG_CRYPTO_TEST=m | ||
1027 | |||
1028 | # | ||
1029 | # Authenticated Encryption with Associated Data | ||
1030 | # | ||
1031 | CONFIG_CRYPTO_CCM=m | ||
1032 | CONFIG_CRYPTO_GCM=m | ||
1033 | CONFIG_CRYPTO_SEQIV=m | ||
1034 | |||
1035 | # | ||
1036 | # Block modes | ||
1037 | # | ||
1038 | CONFIG_CRYPTO_CBC=y | ||
1039 | CONFIG_CRYPTO_CTR=m | ||
1040 | CONFIG_CRYPTO_CTS=m | ||
1041 | CONFIG_CRYPTO_ECB=m | ||
1042 | CONFIG_CRYPTO_LRW=m | ||
1043 | CONFIG_CRYPTO_PCBC=m | ||
1044 | CONFIG_CRYPTO_XTS=m | ||
1045 | |||
1046 | # | ||
1047 | # Hash modes | ||
1048 | # | ||
1027 | CONFIG_CRYPTO_HMAC=y | 1049 | CONFIG_CRYPTO_HMAC=y |
1028 | CONFIG_CRYPTO_XCBC=m | 1050 | CONFIG_CRYPTO_XCBC=m |
1029 | CONFIG_CRYPTO_NULL=m | 1051 | |
1052 | # | ||
1053 | # Digest | ||
1054 | # | ||
1055 | CONFIG_CRYPTO_CRC32C=m | ||
1030 | CONFIG_CRYPTO_MD4=m | 1056 | CONFIG_CRYPTO_MD4=m |
1031 | CONFIG_CRYPTO_MD5=y | 1057 | CONFIG_CRYPTO_MD5=y |
1058 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
1032 | CONFIG_CRYPTO_SHA1=m | 1059 | CONFIG_CRYPTO_SHA1=m |
1033 | CONFIG_CRYPTO_SHA256=m | 1060 | CONFIG_CRYPTO_SHA256=m |
1034 | CONFIG_CRYPTO_SHA512=m | 1061 | CONFIG_CRYPTO_SHA512=m |
1035 | CONFIG_CRYPTO_WP512=m | ||
1036 | CONFIG_CRYPTO_TGR192=m | 1062 | CONFIG_CRYPTO_TGR192=m |
1037 | CONFIG_CRYPTO_GF128MUL=m | 1063 | CONFIG_CRYPTO_WP512=m |
1038 | CONFIG_CRYPTO_ECB=m | 1064 | |
1039 | CONFIG_CRYPTO_CBC=y | 1065 | # |
1040 | CONFIG_CRYPTO_PCBC=m | 1066 | # Ciphers |
1041 | CONFIG_CRYPTO_LRW=m | 1067 | # |
1042 | CONFIG_CRYPTO_XTS=m | ||
1043 | CONFIG_CRYPTO_CTR=m | ||
1044 | CONFIG_CRYPTO_GCM=m | ||
1045 | CONFIG_CRYPTO_CCM=m | ||
1046 | CONFIG_CRYPTO_CRYPTD=m | ||
1047 | CONFIG_CRYPTO_DES=y | ||
1048 | CONFIG_CRYPTO_FCRYPT=m | ||
1049 | CONFIG_CRYPTO_BLOWFISH=m | ||
1050 | CONFIG_CRYPTO_TWOFISH=m | ||
1051 | CONFIG_CRYPTO_TWOFISH_COMMON=m | ||
1052 | CONFIG_CRYPTO_SERPENT=m | ||
1053 | CONFIG_CRYPTO_AES=m | 1068 | CONFIG_CRYPTO_AES=m |
1069 | CONFIG_CRYPTO_ANUBIS=m | ||
1070 | CONFIG_CRYPTO_ARC4=m | ||
1071 | CONFIG_CRYPTO_BLOWFISH=m | ||
1072 | CONFIG_CRYPTO_CAMELLIA=m | ||
1054 | CONFIG_CRYPTO_CAST5=m | 1073 | CONFIG_CRYPTO_CAST5=m |
1055 | CONFIG_CRYPTO_CAST6=m | 1074 | CONFIG_CRYPTO_CAST6=m |
1056 | CONFIG_CRYPTO_TEA=m | 1075 | CONFIG_CRYPTO_DES=y |
1057 | CONFIG_CRYPTO_ARC4=m | 1076 | CONFIG_CRYPTO_FCRYPT=m |
1058 | CONFIG_CRYPTO_KHAZAD=m | 1077 | CONFIG_CRYPTO_KHAZAD=m |
1059 | CONFIG_CRYPTO_ANUBIS=m | ||
1060 | CONFIG_CRYPTO_SEED=m | ||
1061 | CONFIG_CRYPTO_SALSA20=m | 1078 | CONFIG_CRYPTO_SALSA20=m |
1079 | CONFIG_CRYPTO_SEED=m | ||
1080 | CONFIG_CRYPTO_SERPENT=m | ||
1081 | CONFIG_CRYPTO_TEA=m | ||
1082 | CONFIG_CRYPTO_TWOFISH=m | ||
1083 | CONFIG_CRYPTO_TWOFISH_COMMON=m | ||
1084 | |||
1085 | # | ||
1086 | # Compression | ||
1087 | # | ||
1062 | CONFIG_CRYPTO_DEFLATE=m | 1088 | CONFIG_CRYPTO_DEFLATE=m |
1063 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
1064 | CONFIG_CRYPTO_CRC32C=m | ||
1065 | CONFIG_CRYPTO_CAMELLIA=m | ||
1066 | CONFIG_CRYPTO_TEST=m | ||
1067 | CONFIG_CRYPTO_AUTHENC=m | ||
1068 | CONFIG_CRYPTO_LZO=m | 1089 | CONFIG_CRYPTO_LZO=m |
1069 | # CONFIG_CRYPTO_HW is not set | 1090 | # CONFIG_CRYPTO_HW is not set |
1070 | 1091 | ||
@@ -1072,9 +1093,11 @@ CONFIG_CRYPTO_LZO=m | |||
1072 | # Library routines | 1093 | # Library routines |
1073 | # | 1094 | # |
1074 | CONFIG_BITREVERSE=y | 1095 | CONFIG_BITREVERSE=y |
1096 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
1097 | # CONFIG_GENERIC_FIND_NEXT_BIT is not set | ||
1075 | CONFIG_CRC_CCITT=m | 1098 | CONFIG_CRC_CCITT=m |
1076 | CONFIG_CRC16=m | 1099 | CONFIG_CRC16=m |
1077 | # CONFIG_CRC_ITU_T is not set | 1100 | CONFIG_CRC_ITU_T=m |
1078 | CONFIG_CRC32=y | 1101 | CONFIG_CRC32=y |
1079 | # CONFIG_CRC7 is not set | 1102 | # CONFIG_CRC7 is not set |
1080 | CONFIG_LIBCRC32C=m | 1103 | CONFIG_LIBCRC32C=m |
diff --git a/arch/m68k/configs/sun3_defconfig b/arch/m68k/configs/sun3_defconfig index bd2b9c4927c4..a765f6f15d2c 100644 --- a/arch/m68k/configs/sun3_defconfig +++ b/arch/m68k/configs/sun3_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.25-rc8 | 3 | # Linux kernel version: 2.6.26-rc2 |
4 | # Wed Apr 2 20:46:22 2008 | 4 | # Sun May 18 14:44:53 2008 |
5 | # | 5 | # |
6 | CONFIG_M68K=y | 6 | CONFIG_M68K=y |
7 | CONFIG_MMU=y | 7 | CONFIG_MMU=y |
@@ -52,6 +52,7 @@ CONFIG_SYSCTL=y | |||
52 | # CONFIG_EMBEDDED is not set | 52 | # CONFIG_EMBEDDED is not set |
53 | CONFIG_UID16=y | 53 | CONFIG_UID16=y |
54 | CONFIG_SYSCTL_SYSCALL=y | 54 | CONFIG_SYSCTL_SYSCALL=y |
55 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
55 | CONFIG_KALLSYMS=y | 56 | CONFIG_KALLSYMS=y |
56 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 57 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
57 | CONFIG_HOTPLUG=y | 58 | CONFIG_HOTPLUG=y |
@@ -76,12 +77,14 @@ CONFIG_SLAB=y | |||
76 | # CONFIG_HAVE_OPROFILE is not set | 77 | # CONFIG_HAVE_OPROFILE is not set |
77 | # CONFIG_HAVE_KPROBES is not set | 78 | # CONFIG_HAVE_KPROBES is not set |
78 | # CONFIG_HAVE_KRETPROBES is not set | 79 | # CONFIG_HAVE_KRETPROBES is not set |
80 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
79 | CONFIG_PROC_PAGE_MONITOR=y | 81 | CONFIG_PROC_PAGE_MONITOR=y |
80 | CONFIG_SLABINFO=y | 82 | CONFIG_SLABINFO=y |
81 | CONFIG_RT_MUTEXES=y | 83 | CONFIG_RT_MUTEXES=y |
82 | # CONFIG_TINY_SHMEM is not set | 84 | # CONFIG_TINY_SHMEM is not set |
83 | CONFIG_BASE_SMALL=0 | 85 | CONFIG_BASE_SMALL=0 |
84 | CONFIG_MODULES=y | 86 | CONFIG_MODULES=y |
87 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
85 | CONFIG_MODULE_UNLOAD=y | 88 | CONFIG_MODULE_UNLOAD=y |
86 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 89 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
87 | # CONFIG_MODVERSIONS is not set | 90 | # CONFIG_MODVERSIONS is not set |
@@ -130,6 +133,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y | |||
130 | CONFIG_NEED_MULTIPLE_NODES=y | 133 | CONFIG_NEED_MULTIPLE_NODES=y |
131 | # CONFIG_SPARSEMEM_STATIC is not set | 134 | # CONFIG_SPARSEMEM_STATIC is not set |
132 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | 135 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set |
136 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
133 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 137 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
134 | # CONFIG_RESOURCES_64BIT is not set | 138 | # CONFIG_RESOURCES_64BIT is not set |
135 | CONFIG_ZONE_DMA_FLAG=1 | 139 | CONFIG_ZONE_DMA_FLAG=1 |
@@ -208,8 +212,10 @@ CONFIG_INET6_XFRM_MODE_TUNNEL=m | |||
208 | CONFIG_INET6_XFRM_MODE_BEET=m | 212 | CONFIG_INET6_XFRM_MODE_BEET=m |
209 | CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m | 213 | CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m |
210 | CONFIG_IPV6_SIT=m | 214 | CONFIG_IPV6_SIT=m |
215 | CONFIG_IPV6_NDISC_NODETYPE=y | ||
211 | CONFIG_IPV6_TUNNEL=m | 216 | CONFIG_IPV6_TUNNEL=m |
212 | # CONFIG_IPV6_MULTIPLE_TABLES is not set | 217 | # CONFIG_IPV6_MULTIPLE_TABLES is not set |
218 | # CONFIG_IPV6_MROUTE is not set | ||
213 | # CONFIG_NETWORK_SECMARK is not set | 219 | # CONFIG_NETWORK_SECMARK is not set |
214 | CONFIG_NETFILTER=y | 220 | CONFIG_NETFILTER=y |
215 | # CONFIG_NETFILTER_DEBUG is not set | 221 | # CONFIG_NETFILTER_DEBUG is not set |
@@ -225,6 +231,7 @@ CONFIG_NF_CONNTRACK=m | |||
225 | CONFIG_NF_CT_ACCT=y | 231 | CONFIG_NF_CT_ACCT=y |
226 | CONFIG_NF_CONNTRACK_MARK=y | 232 | CONFIG_NF_CONNTRACK_MARK=y |
227 | # CONFIG_NF_CONNTRACK_EVENTS is not set | 233 | # CONFIG_NF_CONNTRACK_EVENTS is not set |
234 | # CONFIG_NF_CT_PROTO_DCCP is not set | ||
228 | CONFIG_NF_CT_PROTO_GRE=m | 235 | CONFIG_NF_CT_PROTO_GRE=m |
229 | CONFIG_NF_CT_PROTO_SCTP=m | 236 | CONFIG_NF_CT_PROTO_SCTP=m |
230 | CONFIG_NF_CT_PROTO_UDPLITE=m | 237 | CONFIG_NF_CT_PROTO_UDPLITE=m |
@@ -303,6 +310,8 @@ CONFIG_IP_NF_TARGET_REDIRECT=m | |||
303 | CONFIG_IP_NF_TARGET_NETMAP=m | 310 | CONFIG_IP_NF_TARGET_NETMAP=m |
304 | CONFIG_NF_NAT_SNMP_BASIC=m | 311 | CONFIG_NF_NAT_SNMP_BASIC=m |
305 | CONFIG_NF_NAT_PROTO_GRE=m | 312 | CONFIG_NF_NAT_PROTO_GRE=m |
313 | CONFIG_NF_NAT_PROTO_UDPLITE=m | ||
314 | CONFIG_NF_NAT_PROTO_SCTP=m | ||
306 | CONFIG_NF_NAT_FTP=m | 315 | CONFIG_NF_NAT_FTP=m |
307 | CONFIG_NF_NAT_IRC=m | 316 | CONFIG_NF_NAT_IRC=m |
308 | CONFIG_NF_NAT_TFTP=m | 317 | CONFIG_NF_NAT_TFTP=m |
@@ -396,8 +405,6 @@ CONFIG_IEEE80211=m | |||
396 | CONFIG_IEEE80211_CRYPT_WEP=m | 405 | CONFIG_IEEE80211_CRYPT_WEP=m |
397 | CONFIG_IEEE80211_CRYPT_CCMP=m | 406 | CONFIG_IEEE80211_CRYPT_CCMP=m |
398 | CONFIG_IEEE80211_CRYPT_TKIP=m | 407 | CONFIG_IEEE80211_CRYPT_TKIP=m |
399 | CONFIG_IEEE80211_SOFTMAC=m | ||
400 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
401 | # CONFIG_RFKILL is not set | 408 | # CONFIG_RFKILL is not set |
402 | # CONFIG_NET_9P is not set | 409 | # CONFIG_NET_9P is not set |
403 | 410 | ||
@@ -529,6 +536,7 @@ CONFIG_SUN3_82586=y | |||
529 | # | 536 | # |
530 | # CONFIG_WLAN_PRE80211 is not set | 537 | # CONFIG_WLAN_PRE80211 is not set |
531 | # CONFIG_WLAN_80211 is not set | 538 | # CONFIG_WLAN_80211 is not set |
539 | # CONFIG_IWLWIFI_LEDS is not set | ||
532 | # CONFIG_WAN is not set | 540 | # CONFIG_WAN is not set |
533 | CONFIG_PPP=m | 541 | CONFIG_PPP=m |
534 | # CONFIG_PPP_MULTILINK is not set | 542 | # CONFIG_PPP_MULTILINK is not set |
@@ -612,6 +620,7 @@ CONFIG_VT=y | |||
612 | CONFIG_VT_CONSOLE=y | 620 | CONFIG_VT_CONSOLE=y |
613 | CONFIG_HW_CONSOLE=y | 621 | CONFIG_HW_CONSOLE=y |
614 | CONFIG_VT_HW_CONSOLE_BINDING=y | 622 | CONFIG_VT_HW_CONSOLE_BINDING=y |
623 | # CONFIG_DEVKMEM is not set | ||
615 | # CONFIG_SERIAL_NONSTANDARD is not set | 624 | # CONFIG_SERIAL_NONSTANDARD is not set |
616 | 625 | ||
617 | # | 626 | # |
@@ -633,12 +642,7 @@ CONFIG_GEN_RTC_X=y | |||
633 | # CONFIG_RAW_DRIVER is not set | 642 | # CONFIG_RAW_DRIVER is not set |
634 | # CONFIG_TCG_TPM is not set | 643 | # CONFIG_TCG_TPM is not set |
635 | # CONFIG_I2C is not set | 644 | # CONFIG_I2C is not set |
636 | |||
637 | # | ||
638 | # SPI support | ||
639 | # | ||
640 | # CONFIG_SPI is not set | 645 | # CONFIG_SPI is not set |
641 | # CONFIG_SPI_MASTER is not set | ||
642 | # CONFIG_W1 is not set | 646 | # CONFIG_W1 is not set |
643 | # CONFIG_POWER_SUPPLY is not set | 647 | # CONFIG_POWER_SUPPLY is not set |
644 | # CONFIG_HWMON is not set | 648 | # CONFIG_HWMON is not set |
@@ -655,12 +659,22 @@ CONFIG_SSB_POSSIBLE=y | |||
655 | # Multifunction device drivers | 659 | # Multifunction device drivers |
656 | # | 660 | # |
657 | # CONFIG_MFD_SM501 is not set | 661 | # CONFIG_MFD_SM501 is not set |
662 | # CONFIG_HTC_PASIC3 is not set | ||
658 | 663 | ||
659 | # | 664 | # |
660 | # Multimedia devices | 665 | # Multimedia devices |
661 | # | 666 | # |
667 | |||
668 | # | ||
669 | # Multimedia core support | ||
670 | # | ||
662 | # CONFIG_VIDEO_DEV is not set | 671 | # CONFIG_VIDEO_DEV is not set |
663 | # CONFIG_DVB_CORE is not set | 672 | # CONFIG_DVB_CORE is not set |
673 | # CONFIG_VIDEO_MEDIA is not set | ||
674 | |||
675 | # | ||
676 | # Multimedia drivers | ||
677 | # | ||
664 | # CONFIG_DAB is not set | 678 | # CONFIG_DAB is not set |
665 | 679 | ||
666 | # | 680 | # |
@@ -678,8 +692,8 @@ CONFIG_FB=y | |||
678 | # CONFIG_FB_SYS_FILLRECT is not set | 692 | # CONFIG_FB_SYS_FILLRECT is not set |
679 | # CONFIG_FB_SYS_COPYAREA is not set | 693 | # CONFIG_FB_SYS_COPYAREA is not set |
680 | # CONFIG_FB_SYS_IMAGEBLIT is not set | 694 | # CONFIG_FB_SYS_IMAGEBLIT is not set |
695 | # CONFIG_FB_FOREIGN_ENDIAN is not set | ||
681 | # CONFIG_FB_SYS_FOPS is not set | 696 | # CONFIG_FB_SYS_FOPS is not set |
682 | CONFIG_FB_DEFERRED_IO=y | ||
683 | # CONFIG_FB_SVGALIB is not set | 697 | # CONFIG_FB_SVGALIB is not set |
684 | # CONFIG_FB_MACMODES is not set | 698 | # CONFIG_FB_MACMODES is not set |
685 | # CONFIG_FB_BACKLIGHT is not set | 699 | # CONFIG_FB_BACKLIGHT is not set |
@@ -726,11 +740,8 @@ CONFIG_HIDRAW=y | |||
726 | # CONFIG_MMC is not set | 740 | # CONFIG_MMC is not set |
727 | # CONFIG_MEMSTICK is not set | 741 | # CONFIG_MEMSTICK is not set |
728 | # CONFIG_NEW_LEDS is not set | 742 | # CONFIG_NEW_LEDS is not set |
743 | # CONFIG_ACCESSIBILITY is not set | ||
729 | # CONFIG_RTC_CLASS is not set | 744 | # CONFIG_RTC_CLASS is not set |
730 | |||
731 | # | ||
732 | # Userspace I/O | ||
733 | # | ||
734 | # CONFIG_UIO is not set | 745 | # CONFIG_UIO is not set |
735 | 746 | ||
736 | # | 747 | # |
@@ -756,16 +767,15 @@ CONFIG_JFS_FS=m | |||
756 | # CONFIG_JFS_SECURITY is not set | 767 | # CONFIG_JFS_SECURITY is not set |
757 | # CONFIG_JFS_DEBUG is not set | 768 | # CONFIG_JFS_DEBUG is not set |
758 | # CONFIG_JFS_STATISTICS is not set | 769 | # CONFIG_JFS_STATISTICS is not set |
759 | CONFIG_FS_POSIX_ACL=y | 770 | # CONFIG_FS_POSIX_ACL is not set |
760 | CONFIG_XFS_FS=m | 771 | CONFIG_XFS_FS=m |
761 | # CONFIG_XFS_QUOTA is not set | 772 | # CONFIG_XFS_QUOTA is not set |
762 | # CONFIG_XFS_SECURITY is not set | ||
763 | # CONFIG_XFS_POSIX_ACL is not set | 773 | # CONFIG_XFS_POSIX_ACL is not set |
764 | # CONFIG_XFS_RT is not set | 774 | # CONFIG_XFS_RT is not set |
765 | CONFIG_GFS2_FS=m | 775 | # CONFIG_XFS_DEBUG is not set |
766 | CONFIG_GFS2_FS_LOCKING_NOLOCK=m | ||
767 | CONFIG_GFS2_FS_LOCKING_DLM=m | ||
768 | CONFIG_OCFS2_FS=m | 776 | CONFIG_OCFS2_FS=m |
777 | CONFIG_OCFS2_FS_O2CB=m | ||
778 | CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m | ||
769 | # CONFIG_OCFS2_DEBUG_MASKLOG is not set | 779 | # CONFIG_OCFS2_DEBUG_MASKLOG is not set |
770 | # CONFIG_OCFS2_DEBUG_FS is not set | 780 | # CONFIG_OCFS2_DEBUG_FS is not set |
771 | CONFIG_DNOTIFY=y | 781 | CONFIG_DNOTIFY=y |
@@ -837,12 +847,10 @@ CONFIG_NFS_FS=y | |||
837 | CONFIG_NFS_V3=y | 847 | CONFIG_NFS_V3=y |
838 | # CONFIG_NFS_V3_ACL is not set | 848 | # CONFIG_NFS_V3_ACL is not set |
839 | CONFIG_NFS_V4=y | 849 | CONFIG_NFS_V4=y |
840 | # CONFIG_NFS_DIRECTIO is not set | ||
841 | CONFIG_NFSD=m | 850 | CONFIG_NFSD=m |
842 | CONFIG_NFSD_V3=y | 851 | CONFIG_NFSD_V3=y |
843 | # CONFIG_NFSD_V3_ACL is not set | 852 | # CONFIG_NFSD_V3_ACL is not set |
844 | # CONFIG_NFSD_V4 is not set | 853 | # CONFIG_NFSD_V4 is not set |
845 | CONFIG_NFSD_TCP=y | ||
846 | CONFIG_ROOT_NFS=y | 854 | CONFIG_ROOT_NFS=y |
847 | CONFIG_LOCKD=y | 855 | CONFIG_LOCKD=y |
848 | CONFIG_LOCKD_V4=y | 856 | CONFIG_LOCKD_V4=y |
@@ -917,6 +925,7 @@ CONFIG_DLM=m | |||
917 | # CONFIG_PRINTK_TIME is not set | 925 | # CONFIG_PRINTK_TIME is not set |
918 | CONFIG_ENABLE_WARN_DEPRECATED=y | 926 | CONFIG_ENABLE_WARN_DEPRECATED=y |
919 | CONFIG_ENABLE_MUST_CHECK=y | 927 | CONFIG_ENABLE_MUST_CHECK=y |
928 | CONFIG_FRAME_WARN=1024 | ||
920 | CONFIG_MAGIC_SYSRQ=y | 929 | CONFIG_MAGIC_SYSRQ=y |
921 | # CONFIG_UNUSED_SYMBOLS is not set | 930 | # CONFIG_UNUSED_SYMBOLS is not set |
922 | # CONFIG_DEBUG_FS is not set | 931 | # CONFIG_DEBUG_FS is not set |
@@ -936,53 +945,82 @@ CONFIG_ASYNC_CORE=m | |||
936 | CONFIG_ASYNC_MEMCPY=m | 945 | CONFIG_ASYNC_MEMCPY=m |
937 | CONFIG_ASYNC_XOR=m | 946 | CONFIG_ASYNC_XOR=m |
938 | CONFIG_CRYPTO=y | 947 | CONFIG_CRYPTO=y |
948 | |||
949 | # | ||
950 | # Crypto core or helper | ||
951 | # | ||
939 | CONFIG_CRYPTO_ALGAPI=y | 952 | CONFIG_CRYPTO_ALGAPI=y |
940 | CONFIG_CRYPTO_AEAD=m | 953 | CONFIG_CRYPTO_AEAD=m |
941 | CONFIG_CRYPTO_BLKCIPHER=y | 954 | CONFIG_CRYPTO_BLKCIPHER=y |
942 | CONFIG_CRYPTO_SEQIV=m | ||
943 | CONFIG_CRYPTO_HASH=y | 955 | CONFIG_CRYPTO_HASH=y |
944 | CONFIG_CRYPTO_MANAGER=y | 956 | CONFIG_CRYPTO_MANAGER=y |
957 | CONFIG_CRYPTO_GF128MUL=m | ||
958 | CONFIG_CRYPTO_NULL=m | ||
959 | CONFIG_CRYPTO_CRYPTD=m | ||
960 | CONFIG_CRYPTO_AUTHENC=m | ||
961 | CONFIG_CRYPTO_TEST=m | ||
962 | |||
963 | # | ||
964 | # Authenticated Encryption with Associated Data | ||
965 | # | ||
966 | CONFIG_CRYPTO_CCM=m | ||
967 | CONFIG_CRYPTO_GCM=m | ||
968 | CONFIG_CRYPTO_SEQIV=m | ||
969 | |||
970 | # | ||
971 | # Block modes | ||
972 | # | ||
973 | CONFIG_CRYPTO_CBC=y | ||
974 | CONFIG_CRYPTO_CTR=m | ||
975 | CONFIG_CRYPTO_CTS=m | ||
976 | CONFIG_CRYPTO_ECB=m | ||
977 | CONFIG_CRYPTO_LRW=m | ||
978 | CONFIG_CRYPTO_PCBC=m | ||
979 | CONFIG_CRYPTO_XTS=m | ||
980 | |||
981 | # | ||
982 | # Hash modes | ||
983 | # | ||
945 | CONFIG_CRYPTO_HMAC=y | 984 | CONFIG_CRYPTO_HMAC=y |
946 | CONFIG_CRYPTO_XCBC=m | 985 | CONFIG_CRYPTO_XCBC=m |
947 | CONFIG_CRYPTO_NULL=m | 986 | |
987 | # | ||
988 | # Digest | ||
989 | # | ||
990 | CONFIG_CRYPTO_CRC32C=m | ||
948 | CONFIG_CRYPTO_MD4=m | 991 | CONFIG_CRYPTO_MD4=m |
949 | CONFIG_CRYPTO_MD5=y | 992 | CONFIG_CRYPTO_MD5=y |
993 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
950 | CONFIG_CRYPTO_SHA1=m | 994 | CONFIG_CRYPTO_SHA1=m |
951 | CONFIG_CRYPTO_SHA256=m | 995 | CONFIG_CRYPTO_SHA256=m |
952 | CONFIG_CRYPTO_SHA512=m | 996 | CONFIG_CRYPTO_SHA512=m |
953 | CONFIG_CRYPTO_WP512=m | ||
954 | CONFIG_CRYPTO_TGR192=m | 997 | CONFIG_CRYPTO_TGR192=m |
955 | CONFIG_CRYPTO_GF128MUL=m | 998 | CONFIG_CRYPTO_WP512=m |
956 | CONFIG_CRYPTO_ECB=m | 999 | |
957 | CONFIG_CRYPTO_CBC=y | 1000 | # |
958 | CONFIG_CRYPTO_PCBC=m | 1001 | # Ciphers |
959 | CONFIG_CRYPTO_LRW=m | 1002 | # |
960 | CONFIG_CRYPTO_XTS=m | ||
961 | CONFIG_CRYPTO_CTR=m | ||
962 | CONFIG_CRYPTO_GCM=m | ||
963 | CONFIG_CRYPTO_CCM=m | ||
964 | CONFIG_CRYPTO_CRYPTD=m | ||
965 | CONFIG_CRYPTO_DES=y | ||
966 | CONFIG_CRYPTO_FCRYPT=m | ||
967 | CONFIG_CRYPTO_BLOWFISH=m | ||
968 | CONFIG_CRYPTO_TWOFISH=m | ||
969 | CONFIG_CRYPTO_TWOFISH_COMMON=m | ||
970 | CONFIG_CRYPTO_SERPENT=m | ||
971 | CONFIG_CRYPTO_AES=m | 1003 | CONFIG_CRYPTO_AES=m |
1004 | CONFIG_CRYPTO_ANUBIS=m | ||
1005 | CONFIG_CRYPTO_ARC4=m | ||
1006 | CONFIG_CRYPTO_BLOWFISH=m | ||
1007 | CONFIG_CRYPTO_CAMELLIA=m | ||
972 | CONFIG_CRYPTO_CAST5=m | 1008 | CONFIG_CRYPTO_CAST5=m |
973 | CONFIG_CRYPTO_CAST6=m | 1009 | CONFIG_CRYPTO_CAST6=m |
974 | CONFIG_CRYPTO_TEA=m | 1010 | CONFIG_CRYPTO_DES=y |
975 | CONFIG_CRYPTO_ARC4=m | 1011 | CONFIG_CRYPTO_FCRYPT=m |
976 | CONFIG_CRYPTO_KHAZAD=m | 1012 | CONFIG_CRYPTO_KHAZAD=m |
977 | CONFIG_CRYPTO_ANUBIS=m | ||
978 | CONFIG_CRYPTO_SEED=m | ||
979 | CONFIG_CRYPTO_SALSA20=m | 1013 | CONFIG_CRYPTO_SALSA20=m |
1014 | CONFIG_CRYPTO_SEED=m | ||
1015 | CONFIG_CRYPTO_SERPENT=m | ||
1016 | CONFIG_CRYPTO_TEA=m | ||
1017 | CONFIG_CRYPTO_TWOFISH=m | ||
1018 | CONFIG_CRYPTO_TWOFISH_COMMON=m | ||
1019 | |||
1020 | # | ||
1021 | # Compression | ||
1022 | # | ||
980 | CONFIG_CRYPTO_DEFLATE=m | 1023 | CONFIG_CRYPTO_DEFLATE=m |
981 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
982 | CONFIG_CRYPTO_CRC32C=m | ||
983 | CONFIG_CRYPTO_CAMELLIA=m | ||
984 | CONFIG_CRYPTO_TEST=m | ||
985 | CONFIG_CRYPTO_AUTHENC=m | ||
986 | CONFIG_CRYPTO_LZO=m | 1024 | CONFIG_CRYPTO_LZO=m |
987 | # CONFIG_CRYPTO_HW is not set | 1025 | # CONFIG_CRYPTO_HW is not set |
988 | 1026 | ||
@@ -990,9 +1028,11 @@ CONFIG_CRYPTO_LZO=m | |||
990 | # Library routines | 1028 | # Library routines |
991 | # | 1029 | # |
992 | CONFIG_BITREVERSE=y | 1030 | CONFIG_BITREVERSE=y |
1031 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
1032 | # CONFIG_GENERIC_FIND_NEXT_BIT is not set | ||
993 | CONFIG_CRC_CCITT=m | 1033 | CONFIG_CRC_CCITT=m |
994 | CONFIG_CRC16=m | 1034 | CONFIG_CRC16=m |
995 | # CONFIG_CRC_ITU_T is not set | 1035 | CONFIG_CRC_ITU_T=m |
996 | CONFIG_CRC32=y | 1036 | CONFIG_CRC32=y |
997 | # CONFIG_CRC7 is not set | 1037 | # CONFIG_CRC7 is not set |
998 | CONFIG_LIBCRC32C=m | 1038 | CONFIG_LIBCRC32C=m |
diff --git a/arch/m68k/configs/sun3x_defconfig b/arch/m68k/configs/sun3x_defconfig index f18154f1ef1f..431513937498 100644 --- a/arch/m68k/configs/sun3x_defconfig +++ b/arch/m68k/configs/sun3x_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.25-rc8 | 3 | # Linux kernel version: 2.6.26-rc2 |
4 | # Wed Apr 2 20:46:23 2008 | 4 | # Sun May 18 14:44:54 2008 |
5 | # | 5 | # |
6 | CONFIG_M68K=y | 6 | CONFIG_M68K=y |
7 | CONFIG_MMU=y | 7 | CONFIG_MMU=y |
@@ -52,6 +52,7 @@ CONFIG_SYSCTL=y | |||
52 | # CONFIG_EMBEDDED is not set | 52 | # CONFIG_EMBEDDED is not set |
53 | CONFIG_UID16=y | 53 | CONFIG_UID16=y |
54 | CONFIG_SYSCTL_SYSCALL=y | 54 | CONFIG_SYSCTL_SYSCALL=y |
55 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
55 | CONFIG_KALLSYMS=y | 56 | CONFIG_KALLSYMS=y |
56 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 57 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
57 | CONFIG_HOTPLUG=y | 58 | CONFIG_HOTPLUG=y |
@@ -76,12 +77,14 @@ CONFIG_SLAB=y | |||
76 | # CONFIG_HAVE_OPROFILE is not set | 77 | # CONFIG_HAVE_OPROFILE is not set |
77 | # CONFIG_HAVE_KPROBES is not set | 78 | # CONFIG_HAVE_KPROBES is not set |
78 | # CONFIG_HAVE_KRETPROBES is not set | 79 | # CONFIG_HAVE_KRETPROBES is not set |
80 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
79 | CONFIG_PROC_PAGE_MONITOR=y | 81 | CONFIG_PROC_PAGE_MONITOR=y |
80 | CONFIG_SLABINFO=y | 82 | CONFIG_SLABINFO=y |
81 | CONFIG_RT_MUTEXES=y | 83 | CONFIG_RT_MUTEXES=y |
82 | # CONFIG_TINY_SHMEM is not set | 84 | # CONFIG_TINY_SHMEM is not set |
83 | CONFIG_BASE_SMALL=0 | 85 | CONFIG_BASE_SMALL=0 |
84 | CONFIG_MODULES=y | 86 | CONFIG_MODULES=y |
87 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
85 | CONFIG_MODULE_UNLOAD=y | 88 | CONFIG_MODULE_UNLOAD=y |
86 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 89 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
87 | # CONFIG_MODVERSIONS is not set | 90 | # CONFIG_MODVERSIONS is not set |
@@ -141,6 +144,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y | |||
141 | CONFIG_NEED_MULTIPLE_NODES=y | 144 | CONFIG_NEED_MULTIPLE_NODES=y |
142 | # CONFIG_SPARSEMEM_STATIC is not set | 145 | # CONFIG_SPARSEMEM_STATIC is not set |
143 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | 146 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set |
147 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
144 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 148 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
145 | # CONFIG_RESOURCES_64BIT is not set | 149 | # CONFIG_RESOURCES_64BIT is not set |
146 | CONFIG_ZONE_DMA_FLAG=1 | 150 | CONFIG_ZONE_DMA_FLAG=1 |
@@ -219,8 +223,10 @@ CONFIG_INET6_XFRM_MODE_TUNNEL=m | |||
219 | CONFIG_INET6_XFRM_MODE_BEET=m | 223 | CONFIG_INET6_XFRM_MODE_BEET=m |
220 | CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m | 224 | CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m |
221 | CONFIG_IPV6_SIT=m | 225 | CONFIG_IPV6_SIT=m |
226 | CONFIG_IPV6_NDISC_NODETYPE=y | ||
222 | CONFIG_IPV6_TUNNEL=m | 227 | CONFIG_IPV6_TUNNEL=m |
223 | # CONFIG_IPV6_MULTIPLE_TABLES is not set | 228 | # CONFIG_IPV6_MULTIPLE_TABLES is not set |
229 | # CONFIG_IPV6_MROUTE is not set | ||
224 | # CONFIG_NETWORK_SECMARK is not set | 230 | # CONFIG_NETWORK_SECMARK is not set |
225 | CONFIG_NETFILTER=y | 231 | CONFIG_NETFILTER=y |
226 | # CONFIG_NETFILTER_DEBUG is not set | 232 | # CONFIG_NETFILTER_DEBUG is not set |
@@ -236,6 +242,7 @@ CONFIG_NF_CONNTRACK=m | |||
236 | CONFIG_NF_CT_ACCT=y | 242 | CONFIG_NF_CT_ACCT=y |
237 | CONFIG_NF_CONNTRACK_MARK=y | 243 | CONFIG_NF_CONNTRACK_MARK=y |
238 | # CONFIG_NF_CONNTRACK_EVENTS is not set | 244 | # CONFIG_NF_CONNTRACK_EVENTS is not set |
245 | # CONFIG_NF_CT_PROTO_DCCP is not set | ||
239 | CONFIG_NF_CT_PROTO_GRE=m | 246 | CONFIG_NF_CT_PROTO_GRE=m |
240 | CONFIG_NF_CT_PROTO_SCTP=m | 247 | CONFIG_NF_CT_PROTO_SCTP=m |
241 | CONFIG_NF_CT_PROTO_UDPLITE=m | 248 | CONFIG_NF_CT_PROTO_UDPLITE=m |
@@ -314,6 +321,8 @@ CONFIG_IP_NF_TARGET_REDIRECT=m | |||
314 | CONFIG_IP_NF_TARGET_NETMAP=m | 321 | CONFIG_IP_NF_TARGET_NETMAP=m |
315 | CONFIG_NF_NAT_SNMP_BASIC=m | 322 | CONFIG_NF_NAT_SNMP_BASIC=m |
316 | CONFIG_NF_NAT_PROTO_GRE=m | 323 | CONFIG_NF_NAT_PROTO_GRE=m |
324 | CONFIG_NF_NAT_PROTO_UDPLITE=m | ||
325 | CONFIG_NF_NAT_PROTO_SCTP=m | ||
317 | CONFIG_NF_NAT_FTP=m | 326 | CONFIG_NF_NAT_FTP=m |
318 | CONFIG_NF_NAT_IRC=m | 327 | CONFIG_NF_NAT_IRC=m |
319 | CONFIG_NF_NAT_TFTP=m | 328 | CONFIG_NF_NAT_TFTP=m |
@@ -407,8 +416,6 @@ CONFIG_IEEE80211=m | |||
407 | CONFIG_IEEE80211_CRYPT_WEP=m | 416 | CONFIG_IEEE80211_CRYPT_WEP=m |
408 | CONFIG_IEEE80211_CRYPT_CCMP=m | 417 | CONFIG_IEEE80211_CRYPT_CCMP=m |
409 | CONFIG_IEEE80211_CRYPT_TKIP=m | 418 | CONFIG_IEEE80211_CRYPT_TKIP=m |
410 | CONFIG_IEEE80211_SOFTMAC=m | ||
411 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
412 | # CONFIG_RFKILL is not set | 419 | # CONFIG_RFKILL is not set |
413 | # CONFIG_NET_9P is not set | 420 | # CONFIG_NET_9P is not set |
414 | 421 | ||
@@ -539,6 +546,7 @@ CONFIG_SUN3LANCE=y | |||
539 | # | 546 | # |
540 | # CONFIG_WLAN_PRE80211 is not set | 547 | # CONFIG_WLAN_PRE80211 is not set |
541 | # CONFIG_WLAN_80211 is not set | 548 | # CONFIG_WLAN_80211 is not set |
549 | # CONFIG_IWLWIFI_LEDS is not set | ||
542 | # CONFIG_WAN is not set | 550 | # CONFIG_WAN is not set |
543 | CONFIG_PPP=m | 551 | CONFIG_PPP=m |
544 | # CONFIG_PPP_MULTILINK is not set | 552 | # CONFIG_PPP_MULTILINK is not set |
@@ -622,6 +630,7 @@ CONFIG_VT=y | |||
622 | CONFIG_VT_CONSOLE=y | 630 | CONFIG_VT_CONSOLE=y |
623 | CONFIG_HW_CONSOLE=y | 631 | CONFIG_HW_CONSOLE=y |
624 | CONFIG_VT_HW_CONSOLE_BINDING=y | 632 | CONFIG_VT_HW_CONSOLE_BINDING=y |
633 | # CONFIG_DEVKMEM is not set | ||
625 | # CONFIG_SERIAL_NONSTANDARD is not set | 634 | # CONFIG_SERIAL_NONSTANDARD is not set |
626 | 635 | ||
627 | # | 636 | # |
@@ -643,12 +652,7 @@ CONFIG_GEN_RTC_X=y | |||
643 | # CONFIG_RAW_DRIVER is not set | 652 | # CONFIG_RAW_DRIVER is not set |
644 | # CONFIG_TCG_TPM is not set | 653 | # CONFIG_TCG_TPM is not set |
645 | # CONFIG_I2C is not set | 654 | # CONFIG_I2C is not set |
646 | |||
647 | # | ||
648 | # SPI support | ||
649 | # | ||
650 | # CONFIG_SPI is not set | 655 | # CONFIG_SPI is not set |
651 | # CONFIG_SPI_MASTER is not set | ||
652 | # CONFIG_W1 is not set | 656 | # CONFIG_W1 is not set |
653 | # CONFIG_POWER_SUPPLY is not set | 657 | # CONFIG_POWER_SUPPLY is not set |
654 | # CONFIG_HWMON is not set | 658 | # CONFIG_HWMON is not set |
@@ -665,12 +669,22 @@ CONFIG_SSB_POSSIBLE=y | |||
665 | # Multifunction device drivers | 669 | # Multifunction device drivers |
666 | # | 670 | # |
667 | # CONFIG_MFD_SM501 is not set | 671 | # CONFIG_MFD_SM501 is not set |
672 | # CONFIG_HTC_PASIC3 is not set | ||
668 | 673 | ||
669 | # | 674 | # |
670 | # Multimedia devices | 675 | # Multimedia devices |
671 | # | 676 | # |
677 | |||
678 | # | ||
679 | # Multimedia core support | ||
680 | # | ||
672 | # CONFIG_VIDEO_DEV is not set | 681 | # CONFIG_VIDEO_DEV is not set |
673 | # CONFIG_DVB_CORE is not set | 682 | # CONFIG_DVB_CORE is not set |
683 | # CONFIG_VIDEO_MEDIA is not set | ||
684 | |||
685 | # | ||
686 | # Multimedia drivers | ||
687 | # | ||
674 | # CONFIG_DAB is not set | 688 | # CONFIG_DAB is not set |
675 | 689 | ||
676 | # | 690 | # |
@@ -688,8 +702,8 @@ CONFIG_FB=y | |||
688 | # CONFIG_FB_SYS_FILLRECT is not set | 702 | # CONFIG_FB_SYS_FILLRECT is not set |
689 | # CONFIG_FB_SYS_COPYAREA is not set | 703 | # CONFIG_FB_SYS_COPYAREA is not set |
690 | # CONFIG_FB_SYS_IMAGEBLIT is not set | 704 | # CONFIG_FB_SYS_IMAGEBLIT is not set |
705 | # CONFIG_FB_FOREIGN_ENDIAN is not set | ||
691 | # CONFIG_FB_SYS_FOPS is not set | 706 | # CONFIG_FB_SYS_FOPS is not set |
692 | CONFIG_FB_DEFERRED_IO=y | ||
693 | # CONFIG_FB_SVGALIB is not set | 707 | # CONFIG_FB_SVGALIB is not set |
694 | # CONFIG_FB_MACMODES is not set | 708 | # CONFIG_FB_MACMODES is not set |
695 | # CONFIG_FB_BACKLIGHT is not set | 709 | # CONFIG_FB_BACKLIGHT is not set |
@@ -736,11 +750,8 @@ CONFIG_HIDRAW=y | |||
736 | # CONFIG_MMC is not set | 750 | # CONFIG_MMC is not set |
737 | # CONFIG_MEMSTICK is not set | 751 | # CONFIG_MEMSTICK is not set |
738 | # CONFIG_NEW_LEDS is not set | 752 | # CONFIG_NEW_LEDS is not set |
753 | # CONFIG_ACCESSIBILITY is not set | ||
739 | # CONFIG_RTC_CLASS is not set | 754 | # CONFIG_RTC_CLASS is not set |
740 | |||
741 | # | ||
742 | # Userspace I/O | ||
743 | # | ||
744 | # CONFIG_UIO is not set | 755 | # CONFIG_UIO is not set |
745 | 756 | ||
746 | # | 757 | # |
@@ -766,16 +777,15 @@ CONFIG_JFS_FS=m | |||
766 | # CONFIG_JFS_SECURITY is not set | 777 | # CONFIG_JFS_SECURITY is not set |
767 | # CONFIG_JFS_DEBUG is not set | 778 | # CONFIG_JFS_DEBUG is not set |
768 | # CONFIG_JFS_STATISTICS is not set | 779 | # CONFIG_JFS_STATISTICS is not set |
769 | CONFIG_FS_POSIX_ACL=y | 780 | # CONFIG_FS_POSIX_ACL is not set |
770 | CONFIG_XFS_FS=m | 781 | CONFIG_XFS_FS=m |
771 | # CONFIG_XFS_QUOTA is not set | 782 | # CONFIG_XFS_QUOTA is not set |
772 | # CONFIG_XFS_SECURITY is not set | ||
773 | # CONFIG_XFS_POSIX_ACL is not set | 783 | # CONFIG_XFS_POSIX_ACL is not set |
774 | # CONFIG_XFS_RT is not set | 784 | # CONFIG_XFS_RT is not set |
775 | CONFIG_GFS2_FS=m | 785 | # CONFIG_XFS_DEBUG is not set |
776 | CONFIG_GFS2_FS_LOCKING_NOLOCK=m | ||
777 | CONFIG_GFS2_FS_LOCKING_DLM=m | ||
778 | CONFIG_OCFS2_FS=m | 786 | CONFIG_OCFS2_FS=m |
787 | CONFIG_OCFS2_FS_O2CB=m | ||
788 | CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m | ||
779 | # CONFIG_OCFS2_DEBUG_MASKLOG is not set | 789 | # CONFIG_OCFS2_DEBUG_MASKLOG is not set |
780 | # CONFIG_OCFS2_DEBUG_FS is not set | 790 | # CONFIG_OCFS2_DEBUG_FS is not set |
781 | CONFIG_DNOTIFY=y | 791 | CONFIG_DNOTIFY=y |
@@ -847,12 +857,10 @@ CONFIG_NFS_FS=y | |||
847 | CONFIG_NFS_V3=y | 857 | CONFIG_NFS_V3=y |
848 | # CONFIG_NFS_V3_ACL is not set | 858 | # CONFIG_NFS_V3_ACL is not set |
849 | CONFIG_NFS_V4=y | 859 | CONFIG_NFS_V4=y |
850 | # CONFIG_NFS_DIRECTIO is not set | ||
851 | CONFIG_NFSD=m | 860 | CONFIG_NFSD=m |
852 | CONFIG_NFSD_V3=y | 861 | CONFIG_NFSD_V3=y |
853 | # CONFIG_NFSD_V3_ACL is not set | 862 | # CONFIG_NFSD_V3_ACL is not set |
854 | # CONFIG_NFSD_V4 is not set | 863 | # CONFIG_NFSD_V4 is not set |
855 | CONFIG_NFSD_TCP=y | ||
856 | CONFIG_ROOT_NFS=y | 864 | CONFIG_ROOT_NFS=y |
857 | CONFIG_LOCKD=y | 865 | CONFIG_LOCKD=y |
858 | CONFIG_LOCKD_V4=y | 866 | CONFIG_LOCKD_V4=y |
@@ -927,6 +935,7 @@ CONFIG_DLM=m | |||
927 | # CONFIG_PRINTK_TIME is not set | 935 | # CONFIG_PRINTK_TIME is not set |
928 | CONFIG_ENABLE_WARN_DEPRECATED=y | 936 | CONFIG_ENABLE_WARN_DEPRECATED=y |
929 | CONFIG_ENABLE_MUST_CHECK=y | 937 | CONFIG_ENABLE_MUST_CHECK=y |
938 | CONFIG_FRAME_WARN=1024 | ||
930 | CONFIG_MAGIC_SYSRQ=y | 939 | CONFIG_MAGIC_SYSRQ=y |
931 | # CONFIG_UNUSED_SYMBOLS is not set | 940 | # CONFIG_UNUSED_SYMBOLS is not set |
932 | # CONFIG_DEBUG_FS is not set | 941 | # CONFIG_DEBUG_FS is not set |
@@ -946,53 +955,82 @@ CONFIG_ASYNC_CORE=m | |||
946 | CONFIG_ASYNC_MEMCPY=m | 955 | CONFIG_ASYNC_MEMCPY=m |
947 | CONFIG_ASYNC_XOR=m | 956 | CONFIG_ASYNC_XOR=m |
948 | CONFIG_CRYPTO=y | 957 | CONFIG_CRYPTO=y |
958 | |||
959 | # | ||
960 | # Crypto core or helper | ||
961 | # | ||
949 | CONFIG_CRYPTO_ALGAPI=y | 962 | CONFIG_CRYPTO_ALGAPI=y |
950 | CONFIG_CRYPTO_AEAD=m | 963 | CONFIG_CRYPTO_AEAD=m |
951 | CONFIG_CRYPTO_BLKCIPHER=y | 964 | CONFIG_CRYPTO_BLKCIPHER=y |
952 | CONFIG_CRYPTO_SEQIV=m | ||
953 | CONFIG_CRYPTO_HASH=y | 965 | CONFIG_CRYPTO_HASH=y |
954 | CONFIG_CRYPTO_MANAGER=y | 966 | CONFIG_CRYPTO_MANAGER=y |
967 | CONFIG_CRYPTO_GF128MUL=m | ||
968 | CONFIG_CRYPTO_NULL=m | ||
969 | CONFIG_CRYPTO_CRYPTD=m | ||
970 | CONFIG_CRYPTO_AUTHENC=m | ||
971 | CONFIG_CRYPTO_TEST=m | ||
972 | |||
973 | # | ||
974 | # Authenticated Encryption with Associated Data | ||
975 | # | ||
976 | CONFIG_CRYPTO_CCM=m | ||
977 | CONFIG_CRYPTO_GCM=m | ||
978 | CONFIG_CRYPTO_SEQIV=m | ||
979 | |||
980 | # | ||
981 | # Block modes | ||
982 | # | ||
983 | CONFIG_CRYPTO_CBC=y | ||
984 | CONFIG_CRYPTO_CTR=m | ||
985 | CONFIG_CRYPTO_CTS=m | ||
986 | CONFIG_CRYPTO_ECB=m | ||
987 | CONFIG_CRYPTO_LRW=m | ||
988 | CONFIG_CRYPTO_PCBC=m | ||
989 | CONFIG_CRYPTO_XTS=m | ||
990 | |||
991 | # | ||
992 | # Hash modes | ||
993 | # | ||
955 | CONFIG_CRYPTO_HMAC=y | 994 | CONFIG_CRYPTO_HMAC=y |
956 | CONFIG_CRYPTO_XCBC=m | 995 | CONFIG_CRYPTO_XCBC=m |
957 | CONFIG_CRYPTO_NULL=m | 996 | |
997 | # | ||
998 | # Digest | ||
999 | # | ||
1000 | CONFIG_CRYPTO_CRC32C=m | ||
958 | CONFIG_CRYPTO_MD4=m | 1001 | CONFIG_CRYPTO_MD4=m |
959 | CONFIG_CRYPTO_MD5=y | 1002 | CONFIG_CRYPTO_MD5=y |
1003 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
960 | CONFIG_CRYPTO_SHA1=m | 1004 | CONFIG_CRYPTO_SHA1=m |
961 | CONFIG_CRYPTO_SHA256=m | 1005 | CONFIG_CRYPTO_SHA256=m |
962 | CONFIG_CRYPTO_SHA512=m | 1006 | CONFIG_CRYPTO_SHA512=m |
963 | CONFIG_CRYPTO_WP512=m | ||
964 | CONFIG_CRYPTO_TGR192=m | 1007 | CONFIG_CRYPTO_TGR192=m |
965 | CONFIG_CRYPTO_GF128MUL=m | 1008 | CONFIG_CRYPTO_WP512=m |
966 | CONFIG_CRYPTO_ECB=m | 1009 | |
967 | CONFIG_CRYPTO_CBC=y | 1010 | # |
968 | CONFIG_CRYPTO_PCBC=m | 1011 | # Ciphers |
969 | CONFIG_CRYPTO_LRW=m | 1012 | # |
970 | CONFIG_CRYPTO_XTS=m | ||
971 | CONFIG_CRYPTO_CTR=m | ||
972 | CONFIG_CRYPTO_GCM=m | ||
973 | CONFIG_CRYPTO_CCM=m | ||
974 | CONFIG_CRYPTO_CRYPTD=m | ||
975 | CONFIG_CRYPTO_DES=y | ||
976 | CONFIG_CRYPTO_FCRYPT=m | ||
977 | CONFIG_CRYPTO_BLOWFISH=m | ||
978 | CONFIG_CRYPTO_TWOFISH=m | ||
979 | CONFIG_CRYPTO_TWOFISH_COMMON=m | ||
980 | CONFIG_CRYPTO_SERPENT=m | ||
981 | CONFIG_CRYPTO_AES=m | 1013 | CONFIG_CRYPTO_AES=m |
1014 | CONFIG_CRYPTO_ANUBIS=m | ||
1015 | CONFIG_CRYPTO_ARC4=m | ||
1016 | CONFIG_CRYPTO_BLOWFISH=m | ||
1017 | CONFIG_CRYPTO_CAMELLIA=m | ||
982 | CONFIG_CRYPTO_CAST5=m | 1018 | CONFIG_CRYPTO_CAST5=m |
983 | CONFIG_CRYPTO_CAST6=m | 1019 | CONFIG_CRYPTO_CAST6=m |
984 | CONFIG_CRYPTO_TEA=m | 1020 | CONFIG_CRYPTO_DES=y |
985 | CONFIG_CRYPTO_ARC4=m | 1021 | CONFIG_CRYPTO_FCRYPT=m |
986 | CONFIG_CRYPTO_KHAZAD=m | 1022 | CONFIG_CRYPTO_KHAZAD=m |
987 | CONFIG_CRYPTO_ANUBIS=m | ||
988 | CONFIG_CRYPTO_SEED=m | ||
989 | CONFIG_CRYPTO_SALSA20=m | 1023 | CONFIG_CRYPTO_SALSA20=m |
1024 | CONFIG_CRYPTO_SEED=m | ||
1025 | CONFIG_CRYPTO_SERPENT=m | ||
1026 | CONFIG_CRYPTO_TEA=m | ||
1027 | CONFIG_CRYPTO_TWOFISH=m | ||
1028 | CONFIG_CRYPTO_TWOFISH_COMMON=m | ||
1029 | |||
1030 | # | ||
1031 | # Compression | ||
1032 | # | ||
990 | CONFIG_CRYPTO_DEFLATE=m | 1033 | CONFIG_CRYPTO_DEFLATE=m |
991 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
992 | CONFIG_CRYPTO_CRC32C=m | ||
993 | CONFIG_CRYPTO_CAMELLIA=m | ||
994 | CONFIG_CRYPTO_TEST=m | ||
995 | CONFIG_CRYPTO_AUTHENC=m | ||
996 | CONFIG_CRYPTO_LZO=m | 1034 | CONFIG_CRYPTO_LZO=m |
997 | # CONFIG_CRYPTO_HW is not set | 1035 | # CONFIG_CRYPTO_HW is not set |
998 | 1036 | ||
@@ -1000,9 +1038,11 @@ CONFIG_CRYPTO_LZO=m | |||
1000 | # Library routines | 1038 | # Library routines |
1001 | # | 1039 | # |
1002 | CONFIG_BITREVERSE=y | 1040 | CONFIG_BITREVERSE=y |
1041 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
1042 | # CONFIG_GENERIC_FIND_NEXT_BIT is not set | ||
1003 | CONFIG_CRC_CCITT=m | 1043 | CONFIG_CRC_CCITT=m |
1004 | CONFIG_CRC16=m | 1044 | CONFIG_CRC16=m |
1005 | # CONFIG_CRC_ITU_T is not set | 1045 | CONFIG_CRC_ITU_T=m |
1006 | CONFIG_CRC32=y | 1046 | CONFIG_CRC32=y |
1007 | # CONFIG_CRC7 is not set | 1047 | # CONFIG_CRC7 is not set |
1008 | CONFIG_LIBCRC32C=m | 1048 | CONFIG_LIBCRC32C=m |
diff --git a/arch/m68k/kernel/head.S b/arch/m68k/kernel/head.S index faa6764f1d13..f513f530de91 100644 --- a/arch/m68k/kernel/head.S +++ b/arch/m68k/kernel/head.S | |||
@@ -1434,7 +1434,7 @@ L(mmu_fixup_done): | |||
1434 | #endif | 1434 | #endif |
1435 | 1435 | ||
1436 | #ifdef CONFIG_HP300 | 1436 | #ifdef CONFIG_HP300 |
1437 | is_not_hp300(1f) | 1437 | is_not_hp300(2f) |
1438 | /* | 1438 | /* |
1439 | * Fix up the iobase register to point to the new location of the LEDs. | 1439 | * Fix up the iobase register to point to the new location of the LEDs. |
1440 | */ | 1440 | */ |
diff --git a/arch/m68k/kernel/process.c b/arch/m68k/kernel/process.c index 5de4e4ed76ab..7888cdf91f5d 100644 --- a/arch/m68k/kernel/process.c +++ b/arch/m68k/kernel/process.c | |||
@@ -41,7 +41,6 @@ | |||
41 | * setup. | 41 | * setup. |
42 | */ | 42 | */ |
43 | static struct fs_struct init_fs = INIT_FS; | 43 | static struct fs_struct init_fs = INIT_FS; |
44 | static struct files_struct init_files = INIT_FILES; | ||
45 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 44 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
46 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 45 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
47 | struct mm_struct init_mm = INIT_MM(init_mm); | 46 | struct mm_struct init_mm = INIT_MM(init_mm); |
diff --git a/arch/m68k/kernel/setup.c b/arch/m68k/kernel/setup.c index bba650312fd9..a9fb83a8c180 100644 --- a/arch/m68k/kernel/setup.c +++ b/arch/m68k/kernel/setup.c | |||
@@ -41,11 +41,12 @@ | |||
41 | #endif | 41 | #endif |
42 | 42 | ||
43 | unsigned long m68k_machtype; | 43 | unsigned long m68k_machtype; |
44 | unsigned long m68k_cputype; | ||
45 | EXPORT_SYMBOL(m68k_machtype); | 44 | EXPORT_SYMBOL(m68k_machtype); |
45 | unsigned long m68k_cputype; | ||
46 | EXPORT_SYMBOL(m68k_cputype); | 46 | EXPORT_SYMBOL(m68k_cputype); |
47 | unsigned long m68k_fputype; | 47 | unsigned long m68k_fputype; |
48 | unsigned long m68k_mmutype; | 48 | unsigned long m68k_mmutype; |
49 | EXPORT_SYMBOL(m68k_mmutype); | ||
49 | #ifdef CONFIG_VME | 50 | #ifdef CONFIG_VME |
50 | unsigned long vme_brdtype; | 51 | unsigned long vme_brdtype; |
51 | EXPORT_SYMBOL(vme_brdtype); | 52 | EXPORT_SYMBOL(vme_brdtype); |
@@ -345,19 +346,19 @@ void __init setup_arch(char **cmdline_p) | |||
345 | 346 | ||
346 | /* set ISA defs early as possible */ | 347 | /* set ISA defs early as possible */ |
347 | #if defined(CONFIG_ISA) && defined(MULTI_ISA) | 348 | #if defined(CONFIG_ISA) && defined(MULTI_ISA) |
348 | #if defined(CONFIG_Q40) | ||
349 | if (MACH_IS_Q40) { | 349 | if (MACH_IS_Q40) { |
350 | isa_type = Q40_ISA; | 350 | isa_type = ISA_TYPE_Q40; |
351 | isa_sex = 0; | 351 | isa_sex = 0; |
352 | } | 352 | } |
353 | #elif defined(CONFIG_GG2) | 353 | #ifdef CONFIG_GG2 |
354 | if (MACH_IS_AMIGA && AMIGAHW_PRESENT(GG2_ISA)) { | 354 | if (MACH_IS_AMIGA && AMIGAHW_PRESENT(GG2_ISA)) { |
355 | isa_type = GG2_ISA; | 355 | isa_type = ISA_TYPE_GG2; |
356 | isa_sex = 0; | 356 | isa_sex = 0; |
357 | } | 357 | } |
358 | #elif defined(CONFIG_AMIGA_PCMCIA) | 358 | #endif |
359 | #ifdef CONFIG_AMIGA_PCMCIA | ||
359 | if (MACH_IS_AMIGA && AMIGAHW_PRESENT(PCMCIA)) { | 360 | if (MACH_IS_AMIGA && AMIGAHW_PRESENT(PCMCIA)) { |
360 | isa_type = AG_ISA; | 361 | isa_type = ISA_TYPE_AG; |
361 | isa_sex = 1; | 362 | isa_sex = 1; |
362 | } | 363 | } |
363 | #endif | 364 | #endif |
diff --git a/arch/m68knommu/kernel/init_task.c b/arch/m68knommu/kernel/init_task.c index 3897043a126a..344c01aede08 100644 --- a/arch/m68knommu/kernel/init_task.c +++ b/arch/m68knommu/kernel/init_task.c | |||
@@ -13,7 +13,6 @@ | |||
13 | #include <asm/pgtable.h> | 13 | #include <asm/pgtable.h> |
14 | 14 | ||
15 | static struct fs_struct init_fs = INIT_FS; | 15 | static struct fs_struct init_fs = INIT_FS; |
16 | static struct files_struct init_files = INIT_FILES; | ||
17 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 16 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
18 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 17 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
19 | struct mm_struct init_mm = INIT_MM(init_mm); | 18 | struct mm_struct init_mm = INIT_MM(init_mm); |
diff --git a/arch/mips/kernel/init_task.c b/arch/mips/kernel/init_task.c index aeda7f58391b..d72487ad7c15 100644 --- a/arch/mips/kernel/init_task.c +++ b/arch/mips/kernel/init_task.c | |||
@@ -10,7 +10,6 @@ | |||
10 | #include <asm/pgtable.h> | 10 | #include <asm/pgtable.h> |
11 | 11 | ||
12 | static struct fs_struct init_fs = INIT_FS; | 12 | static struct fs_struct init_fs = INIT_FS; |
13 | static struct files_struct init_files = INIT_FILES; | ||
14 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 13 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
15 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 14 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
16 | struct mm_struct init_mm = INIT_MM(init_mm); | 15 | struct mm_struct init_mm = INIT_MM(init_mm); |
diff --git a/arch/mn10300/kernel/init_task.c b/arch/mn10300/kernel/init_task.c index 39fe6882dd1d..af16f6e5c918 100644 --- a/arch/mn10300/kernel/init_task.c +++ b/arch/mn10300/kernel/init_task.c | |||
@@ -19,7 +19,6 @@ | |||
19 | #include <asm/pgtable.h> | 19 | #include <asm/pgtable.h> |
20 | 20 | ||
21 | static struct fs_struct init_fs = INIT_FS; | 21 | static struct fs_struct init_fs = INIT_FS; |
22 | static struct files_struct init_files = INIT_FILES; | ||
23 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 22 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
24 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 23 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
25 | struct mm_struct init_mm = INIT_MM(init_mm); | 24 | struct mm_struct init_mm = INIT_MM(init_mm); |
diff --git a/arch/parisc/kernel/init_task.c b/arch/parisc/kernel/init_task.c index 26198a074d67..f5941c086551 100644 --- a/arch/parisc/kernel/init_task.c +++ b/arch/parisc/kernel/init_task.c | |||
@@ -35,7 +35,6 @@ | |||
35 | #include <asm/pgalloc.h> | 35 | #include <asm/pgalloc.h> |
36 | 36 | ||
37 | static struct fs_struct init_fs = INIT_FS; | 37 | static struct fs_struct init_fs = INIT_FS; |
38 | static struct files_struct init_files = INIT_FILES; | ||
39 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 38 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
40 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 39 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
41 | struct mm_struct init_mm = INIT_MM(init_mm); | 40 | struct mm_struct init_mm = INIT_MM(init_mm); |
diff --git a/arch/powerpc/boot/4xx.c b/arch/powerpc/boot/4xx.c index 758edf1c5815..5c878436f348 100644 --- a/arch/powerpc/boot/4xx.c +++ b/arch/powerpc/boot/4xx.c | |||
@@ -21,6 +21,25 @@ | |||
21 | #include "reg.h" | 21 | #include "reg.h" |
22 | #include "dcr.h" | 22 | #include "dcr.h" |
23 | 23 | ||
24 | static unsigned long chip_11_errata(unsigned long memsize) | ||
25 | { | ||
26 | unsigned long pvr; | ||
27 | |||
28 | pvr = mfpvr(); | ||
29 | |||
30 | switch (pvr & 0xf0000ff0) { | ||
31 | case 0x40000850: | ||
32 | case 0x400008d0: | ||
33 | case 0x200008d0: | ||
34 | memsize -= 4096; | ||
35 | break; | ||
36 | default: | ||
37 | break; | ||
38 | } | ||
39 | |||
40 | return memsize; | ||
41 | } | ||
42 | |||
24 | /* Read the 4xx SDRAM controller to get size of system memory. */ | 43 | /* Read the 4xx SDRAM controller to get size of system memory. */ |
25 | void ibm4xx_sdram_fixup_memsize(void) | 44 | void ibm4xx_sdram_fixup_memsize(void) |
26 | { | 45 | { |
@@ -34,6 +53,7 @@ void ibm4xx_sdram_fixup_memsize(void) | |||
34 | memsize += SDRAM_CONFIG_BANK_SIZE(bank_config); | 53 | memsize += SDRAM_CONFIG_BANK_SIZE(bank_config); |
35 | } | 54 | } |
36 | 55 | ||
56 | memsize = chip_11_errata(memsize); | ||
37 | dt_fixup_memory(0, memsize); | 57 | dt_fixup_memory(0, memsize); |
38 | } | 58 | } |
39 | 59 | ||
@@ -199,6 +219,7 @@ void ibm4xx_denali_fixup_memsize(void) | |||
199 | bank = 4; /* 4 banks */ | 219 | bank = 4; /* 4 banks */ |
200 | 220 | ||
201 | memsize = cs * (1 << (col+row)) * bank * dpath; | 221 | memsize = cs * (1 << (col+row)) * bank * dpath; |
222 | memsize = chip_11_errata(memsize); | ||
202 | dt_fixup_memory(0, memsize); | 223 | dt_fixup_memory(0, memsize); |
203 | } | 224 | } |
204 | 225 | ||
diff --git a/arch/powerpc/kernel/init_task.c b/arch/powerpc/kernel/init_task.c index 941043ae040f..4c85b8d56478 100644 --- a/arch/powerpc/kernel/init_task.c +++ b/arch/powerpc/kernel/init_task.c | |||
@@ -8,7 +8,6 @@ | |||
8 | #include <asm/uaccess.h> | 8 | #include <asm/uaccess.h> |
9 | 9 | ||
10 | static struct fs_struct init_fs = INIT_FS; | 10 | static struct fs_struct init_fs = INIT_FS; |
11 | static struct files_struct init_files = INIT_FILES; | ||
12 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 11 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
13 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 12 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
14 | struct mm_struct init_mm = INIT_MM(init_mm); | 13 | struct mm_struct init_mm = INIT_MM(init_mm); |
diff --git a/arch/powerpc/platforms/pasemi/misc.c b/arch/powerpc/platforms/pasemi/misc.c index ded7d152d00c..e0ab299763c1 100644 --- a/arch/powerpc/platforms/pasemi/misc.c +++ b/arch/powerpc/platforms/pasemi/misc.c | |||
@@ -24,12 +24,11 @@ | |||
24 | */ | 24 | */ |
25 | struct i2c_driver_device { | 25 | struct i2c_driver_device { |
26 | char *of_device; | 26 | char *of_device; |
27 | char *i2c_driver; | ||
28 | char *i2c_type; | 27 | char *i2c_type; |
29 | }; | 28 | }; |
30 | 29 | ||
31 | static struct i2c_driver_device i2c_devices[] __initdata = { | 30 | static struct i2c_driver_device i2c_devices[] __initdata = { |
32 | {"dallas,ds1338", "rtc-ds1307", "ds1338"}, | 31 | {"dallas,ds1338", "ds1338"}, |
33 | }; | 32 | }; |
34 | 33 | ||
35 | static int __init find_i2c_driver(struct device_node *node, | 34 | static int __init find_i2c_driver(struct device_node *node, |
@@ -40,9 +39,7 @@ static int __init find_i2c_driver(struct device_node *node, | |||
40 | for (i = 0; i < ARRAY_SIZE(i2c_devices); i++) { | 39 | for (i = 0; i < ARRAY_SIZE(i2c_devices); i++) { |
41 | if (!of_device_is_compatible(node, i2c_devices[i].of_device)) | 40 | if (!of_device_is_compatible(node, i2c_devices[i].of_device)) |
42 | continue; | 41 | continue; |
43 | if (strlcpy(info->driver_name, i2c_devices[i].i2c_driver, | 42 | if (strlcpy(info->type, i2c_devices[i].i2c_type, |
44 | KOBJ_NAME_LEN) >= KOBJ_NAME_LEN || | ||
45 | strlcpy(info->type, i2c_devices[i].i2c_type, | ||
46 | I2C_NAME_SIZE) >= I2C_NAME_SIZE) | 43 | I2C_NAME_SIZE) >= I2C_NAME_SIZE) |
47 | return -ENOMEM; | 44 | return -ENOMEM; |
48 | return 0; | 45 | return 0; |
diff --git a/arch/s390/kernel/init_task.c b/arch/s390/kernel/init_task.c index d494161b05b4..7ad003969251 100644 --- a/arch/s390/kernel/init_task.c +++ b/arch/s390/kernel/init_task.c | |||
@@ -17,7 +17,6 @@ | |||
17 | #include <asm/pgtable.h> | 17 | #include <asm/pgtable.h> |
18 | 18 | ||
19 | static struct fs_struct init_fs = INIT_FS; | 19 | static struct fs_struct init_fs = INIT_FS; |
20 | static struct files_struct init_files = INIT_FILES; | ||
21 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 20 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
22 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 21 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
23 | struct mm_struct init_mm = INIT_MM(init_mm); | 22 | struct mm_struct init_mm = INIT_MM(init_mm); |
diff --git a/arch/sh/kernel/cpu/sh4a/clock-sh7785.c b/arch/sh/kernel/cpu/sh4a/clock-sh7785.c index 805535aa505e..27fa81bef6a0 100644 --- a/arch/sh/kernel/cpu/sh4a/clock-sh7785.c +++ b/arch/sh/kernel/cpu/sh4a/clock-sh7785.c | |||
@@ -26,7 +26,7 @@ static int pfc_divisors[] = { 1, 1, 1, 1, 1, 1, 1, 18, | |||
26 | 26 | ||
27 | static void master_clk_init(struct clk *clk) | 27 | static void master_clk_init(struct clk *clk) |
28 | { | 28 | { |
29 | clk->rate *= 36; | 29 | clk->rate *= pfc_divisors[ctrl_inl(FRQMR1) & 0x000f]; |
30 | } | 30 | } |
31 | 31 | ||
32 | static struct clk_ops sh7785_master_clk_ops = { | 32 | static struct clk_ops sh7785_master_clk_ops = { |
diff --git a/arch/sh/kernel/entry-common.S b/arch/sh/kernel/entry-common.S index 926b2e7b11c1..718bd2356b34 100644 --- a/arch/sh/kernel/entry-common.S +++ b/arch/sh/kernel/entry-common.S | |||
@@ -1,9 +1,6 @@ | |||
1 | /* $Id: entry.S,v 1.37 2004/06/11 13:02:46 doyu Exp $ | 1 | /* |
2 | * | ||
3 | * linux/arch/sh/entry.S | ||
4 | * | ||
5 | * Copyright (C) 1999, 2000, 2002 Niibe Yutaka | 2 | * Copyright (C) 1999, 2000, 2002 Niibe Yutaka |
6 | * Copyright (C) 2003 Paul Mundt | 3 | * Copyright (C) 2003 - 2008 Paul Mundt |
7 | * | 4 | * |
8 | * This file is subject to the terms and conditions of the GNU General Public | 5 | * This file is subject to the terms and conditions of the GNU General Public |
9 | * License. See the file "COPYING" in the main directory of this archive | 6 | * License. See the file "COPYING" in the main directory of this archive |
@@ -262,6 +259,7 @@ __restore_all: | |||
262 | 259 | ||
263 | .align 2 | 260 | .align 2 |
264 | syscall_badsys: ! Bad syscall number | 261 | syscall_badsys: ! Bad syscall number |
262 | get_current_thread_info r8, r0 | ||
265 | mov #-ENOSYS, r0 | 263 | mov #-ENOSYS, r0 |
266 | bra resume_userspace | 264 | bra resume_userspace |
267 | mov.l r0, @(OFF_R0,r15) ! Return value | 265 | mov.l r0, @(OFF_R0,r15) ! Return value |
@@ -281,7 +279,9 @@ debug_trap: | |||
281 | mov.l 1f, r8 | 279 | mov.l 1f, r8 |
282 | add r0, r8 | 280 | add r0, r8 |
283 | mov.l @r8, r8 | 281 | mov.l @r8, r8 |
284 | jmp @r8 | 282 | jsr @r8 |
283 | nop | ||
284 | bra __restore_all | ||
285 | nop | 285 | nop |
286 | 286 | ||
287 | .align 2 | 287 | .align 2 |
diff --git a/arch/sh/kernel/head_32.S b/arch/sh/kernel/head_32.S index d67d7ed09f22..ae0a382a82eb 100644 --- a/arch/sh/kernel/head_32.S +++ b/arch/sh/kernel/head_32.S | |||
@@ -30,8 +30,8 @@ ENTRY(empty_zero_page) | |||
30 | .long 0 /* RAMDISK_FLAGS */ | 30 | .long 0 /* RAMDISK_FLAGS */ |
31 | .long 0x0200 /* ORIG_ROOT_DEV */ | 31 | .long 0x0200 /* ORIG_ROOT_DEV */ |
32 | .long 1 /* LOADER_TYPE */ | 32 | .long 1 /* LOADER_TYPE */ |
33 | .long 0x00360000 /* INITRD_START */ | 33 | .long 0x00000000 /* INITRD_START */ |
34 | .long 0x000a0000 /* INITRD_SIZE */ | 34 | .long 0x00000000 /* INITRD_SIZE */ |
35 | #ifdef CONFIG_32BIT | 35 | #ifdef CONFIG_32BIT |
36 | .long 0x53453f00 + 32 /* "SE?" = 32 bit */ | 36 | .long 0x53453f00 + 32 /* "SE?" = 32 bit */ |
37 | #else | 37 | #else |
diff --git a/arch/sh/kernel/init_task.c b/arch/sh/kernel/init_task.c index f9bcc606127e..b151a25cb14d 100644 --- a/arch/sh/kernel/init_task.c +++ b/arch/sh/kernel/init_task.c | |||
@@ -8,7 +8,6 @@ | |||
8 | #include <asm/pgtable.h> | 8 | #include <asm/pgtable.h> |
9 | 9 | ||
10 | static struct fs_struct init_fs = INIT_FS; | 10 | static struct fs_struct init_fs = INIT_FS; |
11 | static struct files_struct init_files = INIT_FILES; | ||
12 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 11 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
13 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 12 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
14 | struct pt_regs fake_swapper_regs; | 13 | struct pt_regs fake_swapper_regs; |
diff --git a/arch/sh/kernel/kgdb_stub.c b/arch/sh/kernel/kgdb_stub.c index 832641bbd47d..bf8ac4c71640 100644 --- a/arch/sh/kernel/kgdb_stub.c +++ b/arch/sh/kernel/kgdb_stub.c | |||
@@ -274,8 +274,7 @@ static char *mem_to_hex(const char *mem, char *buf, const int count) | |||
274 | } | 274 | } |
275 | for (i = 0; i < count; i++) { | 275 | for (i = 0; i < count; i++) { |
276 | ch = *mem++; | 276 | ch = *mem++; |
277 | *buf++ = highhex(ch); | 277 | buf = pack_hex_byte(buf, ch); |
278 | *buf++ = lowhex(ch); | ||
279 | } | 278 | } |
280 | *buf = 0; | 279 | *buf = 0; |
281 | return (buf); | 280 | return (buf); |
@@ -427,8 +426,8 @@ static void put_packet(char *buffer) | |||
427 | 426 | ||
428 | /* '#' Separator, put high and low components of checksum */ | 427 | /* '#' Separator, put high and low components of checksum */ |
429 | put_debug_char('#'); | 428 | put_debug_char('#'); |
430 | put_debug_char(highhex(checksum)); | 429 | put_debug_char(hex_asc_hi(checksum)); |
431 | put_debug_char(lowhex(checksum)); | 430 | put_debug_char(hex_asc_lo(checksum)); |
432 | } | 431 | } |
433 | while ((get_debug_char()) != '+'); /* While no ack */ | 432 | while ((get_debug_char()) != '+'); /* While no ack */ |
434 | } | 433 | } |
@@ -650,8 +649,8 @@ static void undo_single_step(void) | |||
650 | static void send_signal_msg(const int signum) | 649 | static void send_signal_msg(const int signum) |
651 | { | 650 | { |
652 | out_buffer[0] = 'S'; | 651 | out_buffer[0] = 'S'; |
653 | out_buffer[1] = highhex(signum); | 652 | out_buffer[1] = hex_asc_hi(signum); |
654 | out_buffer[2] = lowhex(signum); | 653 | out_buffer[2] = hex_asc_lo(signum); |
655 | out_buffer[3] = 0; | 654 | out_buffer[3] = 0; |
656 | put_packet(out_buffer); | 655 | put_packet(out_buffer); |
657 | } | 656 | } |
diff --git a/arch/sh/kernel/setup.c b/arch/sh/kernel/setup.c index 516bde9c50fa..bca2bbc575db 100644 --- a/arch/sh/kernel/setup.c +++ b/arch/sh/kernel/setup.c | |||
@@ -292,6 +292,17 @@ void __init setup_arch(char **cmdline_p) | |||
292 | 292 | ||
293 | ROOT_DEV = old_decode_dev(ORIG_ROOT_DEV); | 293 | ROOT_DEV = old_decode_dev(ORIG_ROOT_DEV); |
294 | 294 | ||
295 | printk(KERN_NOTICE "Boot params:\n" | ||
296 | "... MOUNT_ROOT_RDONLY - %08lx\n" | ||
297 | "... RAMDISK_FLAGS - %08lx\n" | ||
298 | "... ORIG_ROOT_DEV - %08lx\n" | ||
299 | "... LOADER_TYPE - %08lx\n" | ||
300 | "... INITRD_START - %08lx\n" | ||
301 | "... INITRD_SIZE - %08lx\n", | ||
302 | MOUNT_ROOT_RDONLY, RAMDISK_FLAGS, | ||
303 | ORIG_ROOT_DEV, LOADER_TYPE, | ||
304 | INITRD_START, INITRD_SIZE); | ||
305 | |||
295 | #ifdef CONFIG_BLK_DEV_RAM | 306 | #ifdef CONFIG_BLK_DEV_RAM |
296 | rd_image_start = RAMDISK_FLAGS & RAMDISK_IMAGE_START_MASK; | 307 | rd_image_start = RAMDISK_FLAGS & RAMDISK_IMAGE_START_MASK; |
297 | rd_prompt = ((RAMDISK_FLAGS & RAMDISK_PROMPT_FLAG) != 0); | 308 | rd_prompt = ((RAMDISK_FLAGS & RAMDISK_PROMPT_FLAG) != 0); |
diff --git a/arch/sh/kernel/traps.c b/arch/sh/kernel/traps.c index a3bdc68ef02c..438f1ebcc453 100644 --- a/arch/sh/kernel/traps.c +++ b/arch/sh/kernel/traps.c | |||
@@ -4,6 +4,7 @@ | |||
4 | #include <linux/kdebug.h> | 4 | #include <linux/kdebug.h> |
5 | #include <linux/signal.h> | 5 | #include <linux/signal.h> |
6 | #include <linux/sched.h> | 6 | #include <linux/sched.h> |
7 | #include <linux/uaccess.h> | ||
7 | #include <asm/system.h> | 8 | #include <asm/system.h> |
8 | 9 | ||
9 | #ifdef CONFIG_BUG | 10 | #ifdef CONFIG_BUG |
@@ -21,7 +22,14 @@ static void handle_BUG(struct pt_regs *regs) | |||
21 | 22 | ||
22 | int is_valid_bugaddr(unsigned long addr) | 23 | int is_valid_bugaddr(unsigned long addr) |
23 | { | 24 | { |
24 | return addr >= PAGE_OFFSET; | 25 | unsigned short opcode; |
26 | |||
27 | if (addr < PAGE_OFFSET) | ||
28 | return 0; | ||
29 | if (probe_kernel_address((u16 *)addr, opcode)) | ||
30 | return 0; | ||
31 | |||
32 | return opcode == TRAPA_BUG_OPCODE; | ||
25 | } | 33 | } |
26 | #endif | 34 | #endif |
27 | 35 | ||
diff --git a/arch/sh/lib/memcpy-sh4.S b/arch/sh/lib/memcpy-sh4.S index 560bc17eebdd..459fa92a7c53 100644 --- a/arch/sh/lib/memcpy-sh4.S +++ b/arch/sh/lib/memcpy-sh4.S | |||
@@ -126,10 +126,10 @@ | |||
126 | 126 | ||
127 | mov.l r3,@-r0 ! 30 LS | 127 | mov.l r3,@-r0 ! 30 LS |
128 | #else | 128 | #else |
129 | 3: mov r1,r3 ! OPQR | 129 | 3: mov r7,r3 ! OPQR |
130 | shlr8 r3 ! xOPQ | 130 | shlr8 r3 ! xOPQ |
131 | mov.l @(r0,r5),r1 ! KLMN | 131 | mov.l @(r0,r5),r7 ! KLMN |
132 | mov r1,r6 | 132 | mov r7,r6 |
133 | shll16 r6 | 133 | shll16 r6 |
134 | shll8 r6 ! Nxxx | 134 | shll8 r6 ! Nxxx |
135 | or r6,r3 ! NOPQ | 135 | or r6,r3 ! NOPQ |
@@ -733,24 +733,24 @@ ENTRY(memcpy) | |||
733 | movca.l r0,@r1 ! 40 LS (latency=3-7) | 733 | movca.l r0,@r1 ! 40 LS (latency=3-7) |
734 | add #-0x1c, r1 ! 50 EX | 734 | add #-0x1c, r1 ! 50 EX |
735 | 735 | ||
736 | mov.l r3, @(0x1c,r1) ! 33 LS | 736 | mov.l r3, @(0x18,r1) ! 33 LS |
737 | xtrct r11, r10 ! 48 EX | 737 | xtrct r11, r10 ! 48 EX |
738 | 738 | ||
739 | mov.l r6, @(0x18,r1) ! 33 LS | 739 | mov.l r6, @(0x14,r1) ! 33 LS |
740 | xtrct r12, r11 ! 48 EX | 740 | xtrct r12, r11 ! 48 EX |
741 | 741 | ||
742 | mov.l r7, @(0x14,r1) ! 33 LS | 742 | mov.l r7, @(0x10,r1) ! 33 LS |
743 | 743 | ||
744 | mov.l r8, @(0x10,r1) ! 33 LS | 744 | mov.l r8, @(0x0c,r1) ! 33 LS |
745 | add #-0x3e, r5 ! 50 EX | 745 | add #-0x1e, r5 ! 50 EX |
746 | 746 | ||
747 | mov.l r9, @(0x0c,r1) ! 33 LS | 747 | mov.l r9, @(0x08,r1) ! 33 LS |
748 | cmp/eq r2,r1 ! 54 MT | 748 | cmp/eq r2,r1 ! 54 MT |
749 | 749 | ||
750 | mov.l r10, @(0x08,r1) ! 33 LS | 750 | mov.l r10, @(0x04,r1) ! 33 LS |
751 | bf/s 2b ! 109 BR | 751 | bf/s 2b ! 109 BR |
752 | 752 | ||
753 | mov.l r11, @(0x04,r1) ! 33 LS | 753 | mov.l r11, @(0x00,r1) ! 33 LS |
754 | #endif | 754 | #endif |
755 | 755 | ||
756 | mov.l @r15+, r12 | 756 | mov.l @r15+, r12 |
diff --git a/arch/sparc/kernel/init_task.c b/arch/sparc/kernel/init_task.c index d9d4f96360c7..8e64ebc445ef 100644 --- a/arch/sparc/kernel/init_task.c +++ b/arch/sparc/kernel/init_task.c | |||
@@ -9,7 +9,6 @@ | |||
9 | #include <asm/uaccess.h> | 9 | #include <asm/uaccess.h> |
10 | 10 | ||
11 | static struct fs_struct init_fs = INIT_FS; | 11 | static struct fs_struct init_fs = INIT_FS; |
12 | static struct files_struct init_files = INIT_FILES; | ||
13 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 12 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
14 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 13 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
15 | struct mm_struct init_mm = INIT_MM(init_mm); | 14 | struct mm_struct init_mm = INIT_MM(init_mm); |
diff --git a/arch/sparc64/defconfig b/arch/sparc64/defconfig index aff93c9d13f4..76eb832527f2 100644 --- a/arch/sparc64/defconfig +++ b/arch/sparc64/defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.25 | 3 | # Linux kernel version: 2.6.26-rc2 |
4 | # Sat Apr 26 03:11:06 2008 | 4 | # Fri May 16 13:36:07 2008 |
5 | # | 5 | # |
6 | CONFIG_SPARC=y | 6 | CONFIG_SPARC=y |
7 | CONFIG_SPARC64=y | 7 | CONFIG_SPARC64=y |
@@ -74,6 +74,7 @@ CONFIG_SYSCTL=y | |||
74 | # CONFIG_EMBEDDED is not set | 74 | # CONFIG_EMBEDDED is not set |
75 | CONFIG_UID16=y | 75 | CONFIG_UID16=y |
76 | CONFIG_SYSCTL_SYSCALL=y | 76 | CONFIG_SYSCTL_SYSCALL=y |
77 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
77 | CONFIG_KALLSYMS=y | 78 | CONFIG_KALLSYMS=y |
78 | # CONFIG_KALLSYMS_ALL is not set | 79 | # CONFIG_KALLSYMS_ALL is not set |
79 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 80 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
@@ -103,12 +104,14 @@ CONFIG_KPROBES=y | |||
103 | CONFIG_KRETPROBES=y | 104 | CONFIG_KRETPROBES=y |
104 | CONFIG_HAVE_KPROBES=y | 105 | CONFIG_HAVE_KPROBES=y |
105 | CONFIG_HAVE_KRETPROBES=y | 106 | CONFIG_HAVE_KRETPROBES=y |
107 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
106 | CONFIG_PROC_PAGE_MONITOR=y | 108 | CONFIG_PROC_PAGE_MONITOR=y |
107 | CONFIG_SLABINFO=y | 109 | CONFIG_SLABINFO=y |
108 | CONFIG_RT_MUTEXES=y | 110 | CONFIG_RT_MUTEXES=y |
109 | # CONFIG_TINY_SHMEM is not set | 111 | # CONFIG_TINY_SHMEM is not set |
110 | CONFIG_BASE_SMALL=0 | 112 | CONFIG_BASE_SMALL=0 |
111 | CONFIG_MODULES=y | 113 | CONFIG_MODULES=y |
114 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
112 | CONFIG_MODULE_UNLOAD=y | 115 | CONFIG_MODULE_UNLOAD=y |
113 | CONFIG_MODULE_FORCE_UNLOAD=y | 116 | CONFIG_MODULE_FORCE_UNLOAD=y |
114 | CONFIG_MODVERSIONS=y | 117 | CONFIG_MODVERSIONS=y |
@@ -170,6 +173,7 @@ CONFIG_HAVE_MEMORY_PRESENT=y | |||
170 | CONFIG_SPARSEMEM_EXTREME=y | 173 | CONFIG_SPARSEMEM_EXTREME=y |
171 | CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y | 174 | CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y |
172 | CONFIG_SPARSEMEM_VMEMMAP=y | 175 | CONFIG_SPARSEMEM_VMEMMAP=y |
176 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
173 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 177 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
174 | CONFIG_MIGRATION=y | 178 | CONFIG_MIGRATION=y |
175 | CONFIG_RESOURCES_64BIT=y | 179 | CONFIG_RESOURCES_64BIT=y |
@@ -402,7 +406,6 @@ CONFIG_IDEPCI_PCIBUS_ORDER=y | |||
402 | CONFIG_BLK_DEV_IDEDMA_PCI=y | 406 | CONFIG_BLK_DEV_IDEDMA_PCI=y |
403 | # CONFIG_BLK_DEV_AEC62XX is not set | 407 | # CONFIG_BLK_DEV_AEC62XX is not set |
404 | CONFIG_BLK_DEV_ALI15X3=y | 408 | CONFIG_BLK_DEV_ALI15X3=y |
405 | # CONFIG_WDC_ALI15X3 is not set | ||
406 | # CONFIG_BLK_DEV_AMD74XX is not set | 409 | # CONFIG_BLK_DEV_AMD74XX is not set |
407 | # CONFIG_BLK_DEV_CMD64X is not set | 410 | # CONFIG_BLK_DEV_CMD64X is not set |
408 | # CONFIG_BLK_DEV_TRIFLEX is not set | 411 | # CONFIG_BLK_DEV_TRIFLEX is not set |
@@ -609,6 +612,7 @@ CONFIG_NIU=m | |||
609 | # CONFIG_MLX4_CORE is not set | 612 | # CONFIG_MLX4_CORE is not set |
610 | # CONFIG_TEHUTI is not set | 613 | # CONFIG_TEHUTI is not set |
611 | # CONFIG_BNX2X is not set | 614 | # CONFIG_BNX2X is not set |
615 | # CONFIG_SFC is not set | ||
612 | # CONFIG_TR is not set | 616 | # CONFIG_TR is not set |
613 | 617 | ||
614 | # | 618 | # |
@@ -717,6 +721,7 @@ CONFIG_VT=y | |||
717 | CONFIG_VT_CONSOLE=y | 721 | CONFIG_VT_CONSOLE=y |
718 | CONFIG_HW_CONSOLE=y | 722 | CONFIG_HW_CONSOLE=y |
719 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | 723 | # CONFIG_VT_HW_CONSOLE_BINDING is not set |
724 | # CONFIG_DEVKMEM is not set | ||
720 | # CONFIG_SERIAL_NONSTANDARD is not set | 725 | # CONFIG_SERIAL_NONSTANDARD is not set |
721 | # CONFIG_NOZOMI is not set | 726 | # CONFIG_NOZOMI is not set |
722 | 727 | ||
@@ -793,12 +798,7 @@ CONFIG_I2C_ALGOBIT=y | |||
793 | # CONFIG_I2C_DEBUG_ALGO is not set | 798 | # CONFIG_I2C_DEBUG_ALGO is not set |
794 | # CONFIG_I2C_DEBUG_BUS is not set | 799 | # CONFIG_I2C_DEBUG_BUS is not set |
795 | # CONFIG_I2C_DEBUG_CHIP is not set | 800 | # CONFIG_I2C_DEBUG_CHIP is not set |
796 | |||
797 | # | ||
798 | # SPI support | ||
799 | # | ||
800 | # CONFIG_SPI is not set | 801 | # CONFIG_SPI is not set |
801 | # CONFIG_SPI_MASTER is not set | ||
802 | # CONFIG_W1 is not set | 802 | # CONFIG_W1 is not set |
803 | # CONFIG_POWER_SUPPLY is not set | 803 | # CONFIG_POWER_SUPPLY is not set |
804 | CONFIG_HWMON=y | 804 | CONFIG_HWMON=y |
@@ -873,8 +873,17 @@ CONFIG_SSB_POSSIBLE=y | |||
873 | # | 873 | # |
874 | # Multimedia devices | 874 | # Multimedia devices |
875 | # | 875 | # |
876 | |||
877 | # | ||
878 | # Multimedia core support | ||
879 | # | ||
876 | # CONFIG_VIDEO_DEV is not set | 880 | # CONFIG_VIDEO_DEV is not set |
877 | # CONFIG_DVB_CORE is not set | 881 | # CONFIG_DVB_CORE is not set |
882 | # CONFIG_VIDEO_MEDIA is not set | ||
883 | |||
884 | # | ||
885 | # Multimedia drivers | ||
886 | # | ||
878 | # CONFIG_DAB is not set | 887 | # CONFIG_DAB is not set |
879 | 888 | ||
880 | # | 889 | # |
@@ -893,8 +902,8 @@ CONFIG_FB_CFB_IMAGEBLIT=y | |||
893 | # CONFIG_FB_SYS_FILLRECT is not set | 902 | # CONFIG_FB_SYS_FILLRECT is not set |
894 | # CONFIG_FB_SYS_COPYAREA is not set | 903 | # CONFIG_FB_SYS_COPYAREA is not set |
895 | # CONFIG_FB_SYS_IMAGEBLIT is not set | 904 | # CONFIG_FB_SYS_IMAGEBLIT is not set |
905 | # CONFIG_FB_FOREIGN_ENDIAN is not set | ||
896 | # CONFIG_FB_SYS_FOPS is not set | 906 | # CONFIG_FB_SYS_FOPS is not set |
897 | CONFIG_FB_DEFERRED_IO=y | ||
898 | # CONFIG_FB_SVGALIB is not set | 907 | # CONFIG_FB_SVGALIB is not set |
899 | # CONFIG_FB_MACMODES is not set | 908 | # CONFIG_FB_MACMODES is not set |
900 | # CONFIG_FB_BACKLIGHT is not set | 909 | # CONFIG_FB_BACKLIGHT is not set |
@@ -1100,6 +1109,10 @@ CONFIG_SND_SUN_CS4231=m | |||
1100 | # | 1109 | # |
1101 | 1110 | ||
1102 | # | 1111 | # |
1112 | # SoC Audio for the Texas Instruments OMAP | ||
1113 | # | ||
1114 | |||
1115 | # | ||
1103 | # Open Sound System | 1116 | # Open Sound System |
1104 | # | 1117 | # |
1105 | # CONFIG_SOUND_PRIME is not set | 1118 | # CONFIG_SOUND_PRIME is not set |
@@ -1135,10 +1148,12 @@ CONFIG_USB_DEVICEFS=y | |||
1135 | # | 1148 | # |
1136 | # USB Host Controller Drivers | 1149 | # USB Host Controller Drivers |
1137 | # | 1150 | # |
1151 | # CONFIG_USB_C67X00_HCD is not set | ||
1138 | CONFIG_USB_EHCI_HCD=m | 1152 | CONFIG_USB_EHCI_HCD=m |
1139 | # CONFIG_USB_EHCI_ROOT_HUB_TT is not set | 1153 | # CONFIG_USB_EHCI_ROOT_HUB_TT is not set |
1140 | # CONFIG_USB_EHCI_TT_NEWSCHED is not set | 1154 | # CONFIG_USB_EHCI_TT_NEWSCHED is not set |
1141 | # CONFIG_USB_ISP116X_HCD is not set | 1155 | # CONFIG_USB_ISP116X_HCD is not set |
1156 | # CONFIG_USB_ISP1760_HCD is not set | ||
1142 | CONFIG_USB_OHCI_HCD=y | 1157 | CONFIG_USB_OHCI_HCD=y |
1143 | # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set | 1158 | # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set |
1144 | # CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set | 1159 | # CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set |
@@ -1173,6 +1188,7 @@ CONFIG_USB_STORAGE=m | |||
1173 | # CONFIG_USB_STORAGE_ALAUDA is not set | 1188 | # CONFIG_USB_STORAGE_ALAUDA is not set |
1174 | # CONFIG_USB_STORAGE_ONETOUCH is not set | 1189 | # CONFIG_USB_STORAGE_ONETOUCH is not set |
1175 | # CONFIG_USB_STORAGE_KARMA is not set | 1190 | # CONFIG_USB_STORAGE_KARMA is not set |
1191 | # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set | ||
1176 | # CONFIG_USB_LIBUSUAL is not set | 1192 | # CONFIG_USB_LIBUSUAL is not set |
1177 | 1193 | ||
1178 | # | 1194 | # |
@@ -1214,6 +1230,7 @@ CONFIG_USB_STORAGE=m | |||
1214 | # CONFIG_MMC is not set | 1230 | # CONFIG_MMC is not set |
1215 | # CONFIG_MEMSTICK is not set | 1231 | # CONFIG_MEMSTICK is not set |
1216 | # CONFIG_NEW_LEDS is not set | 1232 | # CONFIG_NEW_LEDS is not set |
1233 | # CONFIG_ACCESSIBILITY is not set | ||
1217 | # CONFIG_INFINIBAND is not set | 1234 | # CONFIG_INFINIBAND is not set |
1218 | # CONFIG_RTC_CLASS is not set | 1235 | # CONFIG_RTC_CLASS is not set |
1219 | # CONFIG_UIO is not set | 1236 | # CONFIG_UIO is not set |
@@ -1367,6 +1384,7 @@ CONFIG_TRACE_IRQFLAGS_SUPPORT=y | |||
1367 | CONFIG_PRINTK_TIME=y | 1384 | CONFIG_PRINTK_TIME=y |
1368 | # CONFIG_ENABLE_WARN_DEPRECATED is not set | 1385 | # CONFIG_ENABLE_WARN_DEPRECATED is not set |
1369 | CONFIG_ENABLE_MUST_CHECK=y | 1386 | CONFIG_ENABLE_MUST_CHECK=y |
1387 | CONFIG_FRAME_WARN=2048 | ||
1370 | CONFIG_MAGIC_SYSRQ=y | 1388 | CONFIG_MAGIC_SYSRQ=y |
1371 | # CONFIG_UNUSED_SYMBOLS is not set | 1389 | # CONFIG_UNUSED_SYMBOLS is not set |
1372 | CONFIG_DEBUG_FS=y | 1390 | CONFIG_DEBUG_FS=y |
@@ -1377,6 +1395,7 @@ CONFIG_DETECT_SOFTLOCKUP=y | |||
1377 | # CONFIG_SCHED_DEBUG is not set | 1395 | # CONFIG_SCHED_DEBUG is not set |
1378 | CONFIG_SCHEDSTATS=y | 1396 | CONFIG_SCHEDSTATS=y |
1379 | # CONFIG_TIMER_STATS is not set | 1397 | # CONFIG_TIMER_STATS is not set |
1398 | # CONFIG_DEBUG_OBJECTS is not set | ||
1380 | # CONFIG_SLUB_DEBUG_ON is not set | 1399 | # CONFIG_SLUB_DEBUG_ON is not set |
1381 | # CONFIG_SLUB_STATS is not set | 1400 | # CONFIG_SLUB_STATS is not set |
1382 | # CONFIG_DEBUG_RT_MUTEXES is not set | 1401 | # CONFIG_DEBUG_RT_MUTEXES is not set |
@@ -1402,6 +1421,8 @@ CONFIG_DEBUG_BUGVERBOSE=y | |||
1402 | # CONFIG_LKDTM is not set | 1421 | # CONFIG_LKDTM is not set |
1403 | # CONFIG_FAULT_INJECTION is not set | 1422 | # CONFIG_FAULT_INJECTION is not set |
1404 | # CONFIG_SAMPLES is not set | 1423 | # CONFIG_SAMPLES is not set |
1424 | CONFIG_HAVE_ARCH_KGDB=y | ||
1425 | # CONFIG_KGDB is not set | ||
1405 | # CONFIG_DEBUG_STACK_USAGE is not set | 1426 | # CONFIG_DEBUG_STACK_USAGE is not set |
1406 | # CONFIG_DEBUG_DCFLUSH is not set | 1427 | # CONFIG_DEBUG_DCFLUSH is not set |
1407 | # CONFIG_STACK_DEBUG is not set | 1428 | # CONFIG_STACK_DEBUG is not set |
@@ -1503,6 +1524,7 @@ CONFIG_CRYPTO_HW=y | |||
1503 | # Library routines | 1524 | # Library routines |
1504 | # | 1525 | # |
1505 | CONFIG_BITREVERSE=y | 1526 | CONFIG_BITREVERSE=y |
1527 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
1506 | CONFIG_CRC_CCITT=m | 1528 | CONFIG_CRC_CCITT=m |
1507 | CONFIG_CRC16=m | 1529 | CONFIG_CRC16=m |
1508 | # CONFIG_CRC_ITU_T is not set | 1530 | # CONFIG_CRC_ITU_T is not set |
diff --git a/arch/sparc64/kernel/init_task.c b/arch/sparc64/kernel/init_task.c index 90007cf88bac..d2b312381c19 100644 --- a/arch/sparc64/kernel/init_task.c +++ b/arch/sparc64/kernel/init_task.c | |||
@@ -10,7 +10,6 @@ | |||
10 | #include <asm/processor.h> | 10 | #include <asm/processor.h> |
11 | 11 | ||
12 | static struct fs_struct init_fs = INIT_FS; | 12 | static struct fs_struct init_fs = INIT_FS; |
13 | static struct files_struct init_files = INIT_FILES; | ||
14 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 13 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
15 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 14 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
16 | struct mm_struct init_mm = INIT_MM(init_mm); | 15 | struct mm_struct init_mm = INIT_MM(init_mm); |
diff --git a/arch/sparc64/mm/init.c b/arch/sparc64/mm/init.c index a9828d748e2c..3c7b9471eafb 100644 --- a/arch/sparc64/mm/init.c +++ b/arch/sparc64/mm/init.c | |||
@@ -768,7 +768,7 @@ static void __init find_ramdisk(unsigned long phys_base) | |||
768 | initrd_start = ramdisk_image; | 768 | initrd_start = ramdisk_image; |
769 | initrd_end = ramdisk_image + sparc_ramdisk_size; | 769 | initrd_end = ramdisk_image + sparc_ramdisk_size; |
770 | 770 | ||
771 | lmb_reserve(initrd_start, initrd_end); | 771 | lmb_reserve(initrd_start, sparc_ramdisk_size); |
772 | 772 | ||
773 | initrd_start += PAGE_OFFSET; | 773 | initrd_start += PAGE_OFFSET; |
774 | initrd_end += PAGE_OFFSET; | 774 | initrd_end += PAGE_OFFSET; |
diff --git a/arch/um/kernel/init_task.c b/arch/um/kernel/init_task.c index dcfceca95052..910eda8fca18 100644 --- a/arch/um/kernel/init_task.c +++ b/arch/um/kernel/init_task.c | |||
@@ -12,7 +12,6 @@ | |||
12 | 12 | ||
13 | static struct fs_struct init_fs = INIT_FS; | 13 | static struct fs_struct init_fs = INIT_FS; |
14 | struct mm_struct init_mm = INIT_MM(init_mm); | 14 | struct mm_struct init_mm = INIT_MM(init_mm); |
15 | static struct files_struct init_files = INIT_FILES; | ||
16 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 15 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
17 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 16 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
18 | EXPORT_SYMBOL(init_mm); | 17 | EXPORT_SYMBOL(init_mm); |
diff --git a/arch/v850/kernel/init_task.c b/arch/v850/kernel/init_task.c index ed2f93cf7c66..44b274dff33f 100644 --- a/arch/v850/kernel/init_task.c +++ b/arch/v850/kernel/init_task.c | |||
@@ -21,7 +21,6 @@ | |||
21 | #include <asm/pgtable.h> | 21 | #include <asm/pgtable.h> |
22 | 22 | ||
23 | static struct fs_struct init_fs = INIT_FS; | 23 | static struct fs_struct init_fs = INIT_FS; |
24 | static struct files_struct init_files = INIT_FILES; | ||
25 | static struct signal_struct init_signals = INIT_SIGNALS (init_signals); | 24 | static struct signal_struct init_signals = INIT_SIGNALS (init_signals); |
26 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 25 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
27 | struct mm_struct init_mm = INIT_MM (init_mm); | 26 | struct mm_struct init_mm = INIT_MM (init_mm); |
diff --git a/arch/x86/kernel/init_task.c b/arch/x86/kernel/init_task.c index 3d01e47777db..a4f93b4120c1 100644 --- a/arch/x86/kernel/init_task.c +++ b/arch/x86/kernel/init_task.c | |||
@@ -11,7 +11,6 @@ | |||
11 | #include <asm/desc.h> | 11 | #include <asm/desc.h> |
12 | 12 | ||
13 | static struct fs_struct init_fs = INIT_FS; | 13 | static struct fs_struct init_fs = INIT_FS; |
14 | static struct files_struct init_files = INIT_FILES; | ||
15 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 14 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
16 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 15 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
17 | struct mm_struct init_mm = INIT_MM(init_mm); | 16 | struct mm_struct init_mm = INIT_MM(init_mm); |
diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c index 67e9b4a1e89d..ba370dc8685b 100644 --- a/arch/x86/kernel/process.c +++ b/arch/x86/kernel/process.c | |||
@@ -99,15 +99,6 @@ static void mwait_idle(void) | |||
99 | local_irq_enable(); | 99 | local_irq_enable(); |
100 | } | 100 | } |
101 | 101 | ||
102 | |||
103 | static int __cpuinit mwait_usable(const struct cpuinfo_x86 *c) | ||
104 | { | ||
105 | if (force_mwait) | ||
106 | return 1; | ||
107 | /* Any C1 states supported? */ | ||
108 | return c->cpuid_level >= 5 && ((cpuid_edx(5) >> 4) & 0xf) > 0; | ||
109 | } | ||
110 | |||
111 | /* | 102 | /* |
112 | * On SMP it's slightly faster (but much more power-consuming!) | 103 | * On SMP it's slightly faster (but much more power-consuming!) |
113 | * to poll the ->work.need_resched flag instead of waiting for the | 104 | * to poll the ->work.need_resched flag instead of waiting for the |
@@ -119,6 +110,33 @@ static void poll_idle(void) | |||
119 | cpu_relax(); | 110 | cpu_relax(); |
120 | } | 111 | } |
121 | 112 | ||
113 | /* | ||
114 | * mwait selection logic: | ||
115 | * | ||
116 | * It depends on the CPU. For AMD CPUs that support MWAIT this is | ||
117 | * wrong. Family 0x10 and 0x11 CPUs will enter C1 on HLT. Powersavings | ||
118 | * then depend on a clock divisor and current Pstate of the core. If | ||
119 | * all cores of a processor are in halt state (C1) the processor can | ||
120 | * enter the C1E (C1 enhanced) state. If mwait is used this will never | ||
121 | * happen. | ||
122 | * | ||
123 | * idle=mwait overrides this decision and forces the usage of mwait. | ||
124 | */ | ||
125 | static int __cpuinit mwait_usable(const struct cpuinfo_x86 *c) | ||
126 | { | ||
127 | if (force_mwait) | ||
128 | return 1; | ||
129 | |||
130 | if (c->x86_vendor == X86_VENDOR_AMD) { | ||
131 | switch(c->x86) { | ||
132 | case 0x10: | ||
133 | case 0x11: | ||
134 | return 0; | ||
135 | } | ||
136 | } | ||
137 | return 1; | ||
138 | } | ||
139 | |||
122 | void __cpuinit select_idle_routine(const struct cpuinfo_x86 *c) | 140 | void __cpuinit select_idle_routine(const struct cpuinfo_x86 *c) |
123 | { | 141 | { |
124 | static int selected; | 142 | static int selected; |
diff --git a/arch/x86/kvm/i8254.c b/arch/x86/kvm/i8254.c index 3324d90038e4..7c077a9d9777 100644 --- a/arch/x86/kvm/i8254.c +++ b/arch/x86/kvm/i8254.c | |||
@@ -216,7 +216,7 @@ int pit_has_pending_timer(struct kvm_vcpu *vcpu) | |||
216 | { | 216 | { |
217 | struct kvm_pit *pit = vcpu->kvm->arch.vpit; | 217 | struct kvm_pit *pit = vcpu->kvm->arch.vpit; |
218 | 218 | ||
219 | if (pit && vcpu->vcpu_id == 0) | 219 | if (pit && vcpu->vcpu_id == 0 && pit->pit_state.inject_pending) |
220 | return atomic_read(&pit->pit_state.pit_timer.pending); | 220 | return atomic_read(&pit->pit_state.pit_timer.pending); |
221 | 221 | ||
222 | return 0; | 222 | return 0; |
diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c index 36809d79788b..c297c50eba63 100644 --- a/arch/x86/kvm/lapic.c +++ b/arch/x86/kvm/lapic.c | |||
@@ -957,7 +957,7 @@ int apic_has_pending_timer(struct kvm_vcpu *vcpu) | |||
957 | { | 957 | { |
958 | struct kvm_lapic *lapic = vcpu->arch.apic; | 958 | struct kvm_lapic *lapic = vcpu->arch.apic; |
959 | 959 | ||
960 | if (lapic) | 960 | if (lapic && apic_enabled(lapic) && apic_lvt_enabled(lapic, APIC_LVTT)) |
961 | return atomic_read(&lapic->timer.pending); | 961 | return atomic_read(&lapic->timer.pending); |
962 | 962 | ||
963 | return 0; | 963 | return 0; |
diff --git a/arch/x86/kvm/x86_emulate.c b/arch/x86/kvm/x86_emulate.c index f2a696d6a243..8a96320ab071 100644 --- a/arch/x86/kvm/x86_emulate.c +++ b/arch/x86/kvm/x86_emulate.c | |||
@@ -677,8 +677,9 @@ static int decode_modrm(struct x86_emulate_ctxt *ctxt, | |||
677 | c->use_modrm_ea = 1; | 677 | c->use_modrm_ea = 1; |
678 | 678 | ||
679 | if (c->modrm_mod == 3) { | 679 | if (c->modrm_mod == 3) { |
680 | c->modrm_val = *(unsigned long *) | 680 | c->modrm_ptr = decode_register(c->modrm_rm, |
681 | decode_register(c->modrm_rm, c->regs, c->d & ByteOp); | 681 | c->regs, c->d & ByteOp); |
682 | c->modrm_val = *(unsigned long *)c->modrm_ptr; | ||
682 | return rc; | 683 | return rc; |
683 | } | 684 | } |
684 | 685 | ||
@@ -1005,6 +1006,7 @@ done_prefixes: | |||
1005 | if ((c->d & ModRM) && c->modrm_mod == 3) { | 1006 | if ((c->d & ModRM) && c->modrm_mod == 3) { |
1006 | c->src.type = OP_REG; | 1007 | c->src.type = OP_REG; |
1007 | c->src.val = c->modrm_val; | 1008 | c->src.val = c->modrm_val; |
1009 | c->src.ptr = c->modrm_ptr; | ||
1008 | break; | 1010 | break; |
1009 | } | 1011 | } |
1010 | c->src.type = OP_MEM; | 1012 | c->src.type = OP_MEM; |
@@ -1049,6 +1051,7 @@ done_prefixes: | |||
1049 | if ((c->d & ModRM) && c->modrm_mod == 3) { | 1051 | if ((c->d & ModRM) && c->modrm_mod == 3) { |
1050 | c->dst.type = OP_REG; | 1052 | c->dst.type = OP_REG; |
1051 | c->dst.val = c->dst.orig_val = c->modrm_val; | 1053 | c->dst.val = c->dst.orig_val = c->modrm_val; |
1054 | c->dst.ptr = c->modrm_ptr; | ||
1052 | break; | 1055 | break; |
1053 | } | 1056 | } |
1054 | c->dst.type = OP_MEM; | 1057 | c->dst.type = OP_MEM; |
diff --git a/arch/x86/mm/pat.c b/arch/x86/mm/pat.c index bcb1a8e4b2db..de3a99812450 100644 --- a/arch/x86/mm/pat.c +++ b/arch/x86/mm/pat.c | |||
@@ -28,7 +28,7 @@ | |||
28 | #ifdef CONFIG_X86_PAT | 28 | #ifdef CONFIG_X86_PAT |
29 | int __read_mostly pat_wc_enabled = 1; | 29 | int __read_mostly pat_wc_enabled = 1; |
30 | 30 | ||
31 | void __init pat_disable(char *reason) | 31 | void __cpuinit pat_disable(char *reason) |
32 | { | 32 | { |
33 | pat_wc_enabled = 0; | 33 | pat_wc_enabled = 0; |
34 | printk(KERN_INFO "%s\n", reason); | 34 | printk(KERN_INFO "%s\n", reason); |
diff --git a/arch/xtensa/kernel/init_task.c b/arch/xtensa/kernel/init_task.c index 021b4f46ff94..3df469dbe814 100644 --- a/arch/xtensa/kernel/init_task.c +++ b/arch/xtensa/kernel/init_task.c | |||
@@ -22,7 +22,6 @@ | |||
22 | #include <asm/uaccess.h> | 22 | #include <asm/uaccess.h> |
23 | 23 | ||
24 | static struct fs_struct init_fs = INIT_FS; | 24 | static struct fs_struct init_fs = INIT_FS; |
25 | static struct files_struct init_files = INIT_FILES; | ||
26 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 25 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
27 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 26 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
28 | struct mm_struct init_mm = INIT_MM(init_mm); | 27 | struct mm_struct init_mm = INIT_MM(init_mm); |
diff --git a/drivers/ata/libata-acpi.c b/drivers/ata/libata-acpi.c index 70b77e0899a8..dbf6ca781f66 100644 --- a/drivers/ata/libata-acpi.c +++ b/drivers/ata/libata-acpi.c | |||
@@ -118,8 +118,8 @@ static void ata_acpi_associate_ide_port(struct ata_port *ap) | |||
118 | ap->pflags |= ATA_PFLAG_INIT_GTM_VALID; | 118 | ap->pflags |= ATA_PFLAG_INIT_GTM_VALID; |
119 | } | 119 | } |
120 | 120 | ||
121 | static void ata_acpi_handle_hotplug(struct ata_port *ap, struct ata_device *dev, | 121 | static void ata_acpi_handle_hotplug(struct ata_port *ap, struct ata_device |
122 | u32 event) | 122 | *dev, u32 event) |
123 | { | 123 | { |
124 | char event_string[12]; | 124 | char event_string[12]; |
125 | char *envp[] = { event_string, NULL }; | 125 | char *envp[] = { event_string, NULL }; |
@@ -127,6 +127,9 @@ static void ata_acpi_handle_hotplug(struct ata_port *ap, struct ata_device *dev, | |||
127 | struct kobject *kobj = NULL; | 127 | struct kobject *kobj = NULL; |
128 | int wait = 0; | 128 | int wait = 0; |
129 | unsigned long flags; | 129 | unsigned long flags; |
130 | acpi_handle handle, tmphandle; | ||
131 | unsigned long sta; | ||
132 | acpi_status status; | ||
130 | 133 | ||
131 | if (!ap) | 134 | if (!ap) |
132 | ap = dev->link->ap; | 135 | ap = dev->link->ap; |
@@ -134,32 +137,57 @@ static void ata_acpi_handle_hotplug(struct ata_port *ap, struct ata_device *dev, | |||
134 | 137 | ||
135 | spin_lock_irqsave(ap->lock, flags); | 138 | spin_lock_irqsave(ap->lock, flags); |
136 | 139 | ||
140 | if (dev) | ||
141 | handle = dev->acpi_handle; | ||
142 | else | ||
143 | handle = ap->acpi_handle; | ||
144 | |||
145 | status = acpi_get_handle(handle, "_EJ0", &tmphandle); | ||
146 | if (ACPI_FAILURE(status)) { | ||
147 | /* This device is not ejectable */ | ||
148 | spin_unlock_irqrestore(ap->lock, flags); | ||
149 | return; | ||
150 | } | ||
151 | |||
152 | status = acpi_evaluate_integer(handle, "_STA", NULL, &sta); | ||
153 | if (ACPI_FAILURE(status)) { | ||
154 | printk ("Unable to determine bay status\n"); | ||
155 | spin_unlock_irqrestore(ap->lock, flags); | ||
156 | return; | ||
157 | } | ||
158 | |||
137 | switch (event) { | 159 | switch (event) { |
138 | case ACPI_NOTIFY_BUS_CHECK: | 160 | case ACPI_NOTIFY_BUS_CHECK: |
139 | case ACPI_NOTIFY_DEVICE_CHECK: | 161 | case ACPI_NOTIFY_DEVICE_CHECK: |
140 | ata_ehi_push_desc(ehi, "ACPI event"); | 162 | ata_ehi_push_desc(ehi, "ACPI event"); |
141 | ata_ehi_hotplugged(ehi); | 163 | if (!sta) { |
142 | ata_port_freeze(ap); | 164 | /* Device has been unplugged */ |
143 | break; | 165 | if (dev) |
144 | 166 | dev->flags |= ATA_DFLAG_DETACH; | |
145 | case ACPI_NOTIFY_EJECT_REQUEST: | 167 | else { |
146 | ata_ehi_push_desc(ehi, "ACPI event"); | 168 | struct ata_link *tlink; |
147 | if (dev) | 169 | struct ata_device *tdev; |
148 | dev->flags |= ATA_DFLAG_DETACH; | 170 | |
149 | else { | 171 | ata_port_for_each_link(tlink, ap) { |
150 | struct ata_link *tlink; | 172 | ata_link_for_each_dev(tdev, tlink) { |
151 | struct ata_device *tdev; | 173 | tdev->flags |= |
152 | 174 | ATA_DFLAG_DETACH; | |
153 | ata_port_for_each_link(tlink, ap) | 175 | } |
154 | ata_link_for_each_dev(tdev, tlink) | 176 | } |
155 | tdev->flags |= ATA_DFLAG_DETACH; | 177 | } |
178 | ata_port_schedule_eh(ap); | ||
179 | wait = 1; | ||
180 | } else { | ||
181 | ata_ehi_hotplugged(ehi); | ||
182 | ata_port_freeze(ap); | ||
156 | } | 183 | } |
157 | |||
158 | ata_port_schedule_eh(ap); | ||
159 | wait = 1; | ||
160 | break; | ||
161 | } | 184 | } |
162 | 185 | ||
186 | spin_unlock_irqrestore(ap->lock, flags); | ||
187 | |||
188 | if (wait) | ||
189 | ata_port_wait_eh(ap); | ||
190 | |||
163 | if (dev) { | 191 | if (dev) { |
164 | if (dev->sdev) | 192 | if (dev->sdev) |
165 | kobj = &dev->sdev->sdev_gendev.kobj; | 193 | kobj = &dev->sdev->sdev_gendev.kobj; |
@@ -170,11 +198,6 @@ static void ata_acpi_handle_hotplug(struct ata_port *ap, struct ata_device *dev, | |||
170 | sprintf(event_string, "BAY_EVENT=%d", event); | 198 | sprintf(event_string, "BAY_EVENT=%d", event); |
171 | kobject_uevent_env(kobj, KOBJ_CHANGE, envp); | 199 | kobject_uevent_env(kobj, KOBJ_CHANGE, envp); |
172 | } | 200 | } |
173 | |||
174 | spin_unlock_irqrestore(ap->lock, flags); | ||
175 | |||
176 | if (wait) | ||
177 | ata_port_wait_eh(ap); | ||
178 | } | 201 | } |
179 | 202 | ||
180 | static void ata_acpi_dev_notify(acpi_handle handle, u32 event, void *data) | 203 | static void ata_acpi_dev_notify(acpi_handle handle, u32 event, void *data) |
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c index 927b692d723c..3c89f205c83f 100644 --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c | |||
@@ -2126,6 +2126,13 @@ int ata_dev_configure(struct ata_device *dev) | |||
2126 | dev->horkage |= ata_dev_blacklisted(dev); | 2126 | dev->horkage |= ata_dev_blacklisted(dev); |
2127 | ata_force_horkage(dev); | 2127 | ata_force_horkage(dev); |
2128 | 2128 | ||
2129 | if (dev->horkage & ATA_HORKAGE_DISABLE) { | ||
2130 | ata_dev_printk(dev, KERN_INFO, | ||
2131 | "unsupported device, disabling\n"); | ||
2132 | ata_dev_disable(dev); | ||
2133 | return 0; | ||
2134 | } | ||
2135 | |||
2129 | /* let ACPI work its magic */ | 2136 | /* let ACPI work its magic */ |
2130 | rc = ata_acpi_on_devcfg(dev); | 2137 | rc = ata_acpi_on_devcfg(dev); |
2131 | if (rc) | 2138 | if (rc) |
@@ -3490,22 +3497,11 @@ int sata_link_resume(struct ata_link *link, const unsigned long *params, | |||
3490 | if ((rc = sata_link_debounce(link, params, deadline))) | 3497 | if ((rc = sata_link_debounce(link, params, deadline))) |
3491 | return rc; | 3498 | return rc; |
3492 | 3499 | ||
3493 | /* Clear SError. PMP and some host PHYs require this to | 3500 | /* clear SError, some PHYs require this even for SRST to work */ |
3494 | * operate and clearing should be done before checking PHY | ||
3495 | * online status to avoid race condition (hotplugging between | ||
3496 | * link resume and status check). | ||
3497 | */ | ||
3498 | if (!(rc = sata_scr_read(link, SCR_ERROR, &serror))) | 3501 | if (!(rc = sata_scr_read(link, SCR_ERROR, &serror))) |
3499 | rc = sata_scr_write(link, SCR_ERROR, serror); | 3502 | rc = sata_scr_write(link, SCR_ERROR, serror); |
3500 | if (rc == 0 || rc == -EINVAL) { | ||
3501 | unsigned long flags; | ||
3502 | 3503 | ||
3503 | spin_lock_irqsave(link->ap->lock, flags); | 3504 | return rc != -EINVAL ? rc : 0; |
3504 | link->eh_info.serror = 0; | ||
3505 | spin_unlock_irqrestore(link->ap->lock, flags); | ||
3506 | rc = 0; | ||
3507 | } | ||
3508 | return rc; | ||
3509 | } | 3505 | } |
3510 | 3506 | ||
3511 | /** | 3507 | /** |
@@ -3653,9 +3649,13 @@ int sata_link_hardreset(struct ata_link *link, const unsigned long *timing, | |||
3653 | if (check_ready) | 3649 | if (check_ready) |
3654 | rc = ata_wait_ready(link, deadline, check_ready); | 3650 | rc = ata_wait_ready(link, deadline, check_ready); |
3655 | out: | 3651 | out: |
3656 | if (rc && rc != -EAGAIN) | 3652 | if (rc && rc != -EAGAIN) { |
3653 | /* online is set iff link is online && reset succeeded */ | ||
3654 | if (online) | ||
3655 | *online = false; | ||
3657 | ata_link_printk(link, KERN_ERR, | 3656 | ata_link_printk(link, KERN_ERR, |
3658 | "COMRESET failed (errno=%d)\n", rc); | 3657 | "COMRESET failed (errno=%d)\n", rc); |
3658 | } | ||
3659 | DPRINTK("EXIT, rc=%d\n", rc); | 3659 | DPRINTK("EXIT, rc=%d\n", rc); |
3660 | return rc; | 3660 | return rc; |
3661 | } | 3661 | } |
@@ -3700,8 +3700,14 @@ int sata_std_hardreset(struct ata_link *link, unsigned int *class, | |||
3700 | */ | 3700 | */ |
3701 | void ata_std_postreset(struct ata_link *link, unsigned int *classes) | 3701 | void ata_std_postreset(struct ata_link *link, unsigned int *classes) |
3702 | { | 3702 | { |
3703 | u32 serror; | ||
3704 | |||
3703 | DPRINTK("ENTER\n"); | 3705 | DPRINTK("ENTER\n"); |
3704 | 3706 | ||
3707 | /* reset complete, clear SError */ | ||
3708 | if (!sata_scr_read(link, SCR_ERROR, &serror)) | ||
3709 | sata_scr_write(link, SCR_ERROR, serror); | ||
3710 | |||
3705 | /* print link status */ | 3711 | /* print link status */ |
3706 | sata_print_link_status(link); | 3712 | sata_print_link_status(link); |
3707 | 3713 | ||
@@ -3894,8 +3900,7 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = { | |||
3894 | { "SAMSUNG CD-ROM SN-124", "N001", ATA_HORKAGE_NODMA }, | 3900 | { "SAMSUNG CD-ROM SN-124", "N001", ATA_HORKAGE_NODMA }, |
3895 | { "Seagate STT20000A", NULL, ATA_HORKAGE_NODMA }, | 3901 | { "Seagate STT20000A", NULL, ATA_HORKAGE_NODMA }, |
3896 | /* Odd clown on sil3726/4726 PMPs */ | 3902 | /* Odd clown on sil3726/4726 PMPs */ |
3897 | { "Config Disk", NULL, ATA_HORKAGE_NODMA | | 3903 | { "Config Disk", NULL, ATA_HORKAGE_DISABLE }, |
3898 | ATA_HORKAGE_SKIP_PM }, | ||
3899 | 3904 | ||
3900 | /* Weird ATAPI devices */ | 3905 | /* Weird ATAPI devices */ |
3901 | { "TORiSAN DVD-ROM DRD-N216", NULL, ATA_HORKAGE_MAX_SEC_128 }, | 3906 | { "TORiSAN DVD-ROM DRD-N216", NULL, ATA_HORKAGE_MAX_SEC_128 }, |
@@ -5616,7 +5621,7 @@ int ata_host_register(struct ata_host *host, struct scsi_host_template *sht) | |||
5616 | spin_lock_irqsave(ap->lock, flags); | 5621 | spin_lock_irqsave(ap->lock, flags); |
5617 | 5622 | ||
5618 | ehi->probe_mask |= ATA_ALL_DEVICES; | 5623 | ehi->probe_mask |= ATA_ALL_DEVICES; |
5619 | ehi->action |= ATA_EH_RESET; | 5624 | ehi->action |= ATA_EH_RESET | ATA_EH_LPM; |
5620 | ehi->flags |= ATA_EHI_NO_AUTOPSY | ATA_EHI_QUIET; | 5625 | ehi->flags |= ATA_EHI_NO_AUTOPSY | ATA_EHI_QUIET; |
5621 | 5626 | ||
5622 | ap->pflags &= ~ATA_PFLAG_INITIALIZING; | 5627 | ap->pflags &= ~ATA_PFLAG_INITIALIZING; |
@@ -5649,7 +5654,6 @@ int ata_host_register(struct ata_host *host, struct scsi_host_template *sht) | |||
5649 | struct ata_port *ap = host->ports[i]; | 5654 | struct ata_port *ap = host->ports[i]; |
5650 | 5655 | ||
5651 | ata_scsi_scan_host(ap, 1); | 5656 | ata_scsi_scan_host(ap, 1); |
5652 | ata_lpm_schedule(ap, ap->pm_policy); | ||
5653 | } | 5657 | } |
5654 | 5658 | ||
5655 | return 0; | 5659 | return 0; |
diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c index 62e033146bed..7894d83ea1eb 100644 --- a/drivers/ata/libata-eh.c +++ b/drivers/ata/libata-eh.c | |||
@@ -1308,12 +1308,7 @@ static void ata_eh_analyze_serror(struct ata_link *link) | |||
1308 | unsigned int err_mask = 0, action = 0; | 1308 | unsigned int err_mask = 0, action = 0; |
1309 | u32 hotplug_mask; | 1309 | u32 hotplug_mask; |
1310 | 1310 | ||
1311 | if (serror & SERR_PERSISTENT) { | 1311 | if (serror & (SERR_PERSISTENT | SERR_DATA)) { |
1312 | err_mask |= AC_ERR_ATA_BUS; | ||
1313 | action |= ATA_EH_RESET; | ||
1314 | } | ||
1315 | if (serror & | ||
1316 | (SERR_DATA_RECOVERED | SERR_COMM_RECOVERED | SERR_DATA)) { | ||
1317 | err_mask |= AC_ERR_ATA_BUS; | 1312 | err_mask |= AC_ERR_ATA_BUS; |
1318 | action |= ATA_EH_RESET; | 1313 | action |= ATA_EH_RESET; |
1319 | } | 1314 | } |
@@ -2047,19 +2042,11 @@ static int ata_do_reset(struct ata_link *link, ata_reset_fn_t reset, | |||
2047 | unsigned int *classes, unsigned long deadline) | 2042 | unsigned int *classes, unsigned long deadline) |
2048 | { | 2043 | { |
2049 | struct ata_device *dev; | 2044 | struct ata_device *dev; |
2050 | int rc; | ||
2051 | 2045 | ||
2052 | ata_link_for_each_dev(dev, link) | 2046 | ata_link_for_each_dev(dev, link) |
2053 | classes[dev->devno] = ATA_DEV_UNKNOWN; | 2047 | classes[dev->devno] = ATA_DEV_UNKNOWN; |
2054 | 2048 | ||
2055 | rc = reset(link, classes, deadline); | 2049 | return reset(link, classes, deadline); |
2056 | |||
2057 | /* convert all ATA_DEV_UNKNOWN to ATA_DEV_NONE */ | ||
2058 | ata_link_for_each_dev(dev, link) | ||
2059 | if (classes[dev->devno] == ATA_DEV_UNKNOWN) | ||
2060 | classes[dev->devno] = ATA_DEV_NONE; | ||
2061 | |||
2062 | return rc; | ||
2063 | } | 2050 | } |
2064 | 2051 | ||
2065 | static int ata_eh_followup_srst_needed(struct ata_link *link, | 2052 | static int ata_eh_followup_srst_needed(struct ata_link *link, |
@@ -2096,9 +2083,11 @@ int ata_eh_reset(struct ata_link *link, int classify, | |||
2096 | ata_reset_fn_t reset; | 2083 | ata_reset_fn_t reset; |
2097 | unsigned long flags; | 2084 | unsigned long flags; |
2098 | u32 sstatus; | 2085 | u32 sstatus; |
2099 | int rc; | 2086 | int nr_known, rc; |
2100 | 2087 | ||
2101 | /* about to reset */ | 2088 | /* |
2089 | * Prepare to reset | ||
2090 | */ | ||
2102 | spin_lock_irqsave(ap->lock, flags); | 2091 | spin_lock_irqsave(ap->lock, flags); |
2103 | ap->pflags |= ATA_PFLAG_RESETTING; | 2092 | ap->pflags |= ATA_PFLAG_RESETTING; |
2104 | spin_unlock_irqrestore(ap->lock, flags); | 2093 | spin_unlock_irqrestore(ap->lock, flags); |
@@ -2124,16 +2113,8 @@ int ata_eh_reset(struct ata_link *link, int classify, | |||
2124 | ap->ops->set_piomode(ap, dev); | 2113 | ap->ops->set_piomode(ap, dev); |
2125 | } | 2114 | } |
2126 | 2115 | ||
2127 | if (!softreset && !hardreset) { | ||
2128 | if (verbose) | ||
2129 | ata_link_printk(link, KERN_INFO, "no reset method " | ||
2130 | "available, skipping reset\n"); | ||
2131 | if (!(lflags & ATA_LFLAG_ASSUME_CLASS)) | ||
2132 | lflags |= ATA_LFLAG_ASSUME_ATA; | ||
2133 | goto done; | ||
2134 | } | ||
2135 | |||
2136 | /* prefer hardreset */ | 2116 | /* prefer hardreset */ |
2117 | reset = NULL; | ||
2137 | ehc->i.action &= ~ATA_EH_RESET; | 2118 | ehc->i.action &= ~ATA_EH_RESET; |
2138 | if (hardreset) { | 2119 | if (hardreset) { |
2139 | reset = hardreset; | 2120 | reset = hardreset; |
@@ -2141,11 +2122,6 @@ int ata_eh_reset(struct ata_link *link, int classify, | |||
2141 | } else if (softreset) { | 2122 | } else if (softreset) { |
2142 | reset = softreset; | 2123 | reset = softreset; |
2143 | ehc->i.action = ATA_EH_SOFTRESET; | 2124 | ehc->i.action = ATA_EH_SOFTRESET; |
2144 | } else { | ||
2145 | ata_link_printk(link, KERN_ERR, "BUG: no reset method, " | ||
2146 | "please report to linux-ide@vger.kernel.org\n"); | ||
2147 | dump_stack(); | ||
2148 | return -EINVAL; | ||
2149 | } | 2125 | } |
2150 | 2126 | ||
2151 | if (prereset) { | 2127 | if (prereset) { |
@@ -2165,55 +2141,71 @@ int ata_eh_reset(struct ata_link *link, int classify, | |||
2165 | "prereset failed (errno=%d)\n", rc); | 2141 | "prereset failed (errno=%d)\n", rc); |
2166 | goto out; | 2142 | goto out; |
2167 | } | 2143 | } |
2168 | } | ||
2169 | 2144 | ||
2170 | /* prereset() might have cleared ATA_EH_RESET */ | 2145 | /* prereset() might have cleared ATA_EH_RESET. If so, |
2171 | if (!(ehc->i.action & ATA_EH_RESET)) { | 2146 | * bang classes and return. |
2172 | /* prereset told us not to reset, bang classes and return */ | 2147 | */ |
2173 | ata_link_for_each_dev(dev, link) | 2148 | if (reset && !(ehc->i.action & ATA_EH_RESET)) { |
2174 | classes[dev->devno] = ATA_DEV_NONE; | 2149 | ata_link_for_each_dev(dev, link) |
2175 | rc = 0; | 2150 | classes[dev->devno] = ATA_DEV_NONE; |
2176 | goto out; | 2151 | rc = 0; |
2152 | goto out; | ||
2153 | } | ||
2177 | } | 2154 | } |
2178 | 2155 | ||
2179 | retry: | 2156 | retry: |
2157 | /* | ||
2158 | * Perform reset | ||
2159 | */ | ||
2160 | if (ata_is_host_link(link)) | ||
2161 | ata_eh_freeze_port(ap); | ||
2162 | |||
2180 | deadline = jiffies + ata_eh_reset_timeouts[try++]; | 2163 | deadline = jiffies + ata_eh_reset_timeouts[try++]; |
2181 | 2164 | ||
2182 | /* shut up during boot probing */ | 2165 | if (reset) { |
2183 | if (verbose) | 2166 | if (verbose) |
2184 | ata_link_printk(link, KERN_INFO, "%s resetting link\n", | 2167 | ata_link_printk(link, KERN_INFO, "%s resetting link\n", |
2185 | reset == softreset ? "soft" : "hard"); | 2168 | reset == softreset ? "soft" : "hard"); |
2186 | 2169 | ||
2187 | /* mark that this EH session started with reset */ | 2170 | /* mark that this EH session started with reset */ |
2188 | if (reset == hardreset) | 2171 | if (reset == hardreset) |
2189 | ehc->i.flags |= ATA_EHI_DID_HARDRESET; | 2172 | ehc->i.flags |= ATA_EHI_DID_HARDRESET; |
2190 | else | 2173 | else |
2191 | ehc->i.flags |= ATA_EHI_DID_SOFTRESET; | 2174 | ehc->i.flags |= ATA_EHI_DID_SOFTRESET; |
2192 | 2175 | ||
2193 | rc = ata_do_reset(link, reset, classes, deadline); | 2176 | rc = ata_do_reset(link, reset, classes, deadline); |
2194 | 2177 | ||
2195 | if (reset == hardreset && | 2178 | if (reset == hardreset && |
2196 | ata_eh_followup_srst_needed(link, rc, classify, classes)) { | 2179 | ata_eh_followup_srst_needed(link, rc, classify, classes)) { |
2197 | /* okay, let's do follow-up softreset */ | 2180 | /* okay, let's do follow-up softreset */ |
2198 | reset = softreset; | 2181 | reset = softreset; |
2199 | 2182 | ||
2200 | if (!reset) { | 2183 | if (!reset) { |
2201 | ata_link_printk(link, KERN_ERR, | 2184 | ata_link_printk(link, KERN_ERR, |
2202 | "follow-up softreset required " | 2185 | "follow-up softreset required " |
2203 | "but no softreset avaliable\n"); | 2186 | "but no softreset avaliable\n"); |
2204 | rc = -EINVAL; | 2187 | rc = -EINVAL; |
2205 | goto fail; | 2188 | goto fail; |
2189 | } | ||
2190 | |||
2191 | ata_eh_about_to_do(link, NULL, ATA_EH_RESET); | ||
2192 | rc = ata_do_reset(link, reset, classes, deadline); | ||
2206 | } | 2193 | } |
2207 | 2194 | ||
2208 | ata_eh_about_to_do(link, NULL, ATA_EH_RESET); | 2195 | /* -EAGAIN can happen if we skipped followup SRST */ |
2209 | rc = ata_do_reset(link, reset, classes, deadline); | 2196 | if (rc && rc != -EAGAIN) |
2197 | goto fail; | ||
2198 | } else { | ||
2199 | if (verbose) | ||
2200 | ata_link_printk(link, KERN_INFO, "no reset method " | ||
2201 | "available, skipping reset\n"); | ||
2202 | if (!(lflags & ATA_LFLAG_ASSUME_CLASS)) | ||
2203 | lflags |= ATA_LFLAG_ASSUME_ATA; | ||
2210 | } | 2204 | } |
2211 | 2205 | ||
2212 | /* -EAGAIN can happen if we skipped followup SRST */ | 2206 | /* |
2213 | if (rc && rc != -EAGAIN) | 2207 | * Post-reset processing |
2214 | goto fail; | 2208 | */ |
2215 | |||
2216 | done: | ||
2217 | ata_link_for_each_dev(dev, link) { | 2209 | ata_link_for_each_dev(dev, link) { |
2218 | /* After the reset, the device state is PIO 0 and the | 2210 | /* After the reset, the device state is PIO 0 and the |
2219 | * controller state is undefined. Reset also wakes up | 2211 | * controller state is undefined. Reset also wakes up |
@@ -2236,9 +2228,53 @@ int ata_eh_reset(struct ata_link *link, int classify, | |||
2236 | if (sata_scr_read(link, SCR_STATUS, &sstatus) == 0) | 2228 | if (sata_scr_read(link, SCR_STATUS, &sstatus) == 0) |
2237 | link->sata_spd = (sstatus >> 4) & 0xf; | 2229 | link->sata_spd = (sstatus >> 4) & 0xf; |
2238 | 2230 | ||
2231 | /* thaw the port */ | ||
2232 | if (ata_is_host_link(link)) | ||
2233 | ata_eh_thaw_port(ap); | ||
2234 | |||
2235 | /* postreset() should clear hardware SError. Although SError | ||
2236 | * is cleared during link resume, clearing SError here is | ||
2237 | * necessary as some PHYs raise hotplug events after SRST. | ||
2238 | * This introduces race condition where hotplug occurs between | ||
2239 | * reset and here. This race is mediated by cross checking | ||
2240 | * link onlineness and classification result later. | ||
2241 | */ | ||
2239 | if (postreset) | 2242 | if (postreset) |
2240 | postreset(link, classes); | 2243 | postreset(link, classes); |
2241 | 2244 | ||
2245 | /* clear cached SError */ | ||
2246 | spin_lock_irqsave(link->ap->lock, flags); | ||
2247 | link->eh_info.serror = 0; | ||
2248 | spin_unlock_irqrestore(link->ap->lock, flags); | ||
2249 | |||
2250 | /* Make sure onlineness and classification result correspond. | ||
2251 | * Hotplug could have happened during reset and some | ||
2252 | * controllers fail to wait while a drive is spinning up after | ||
2253 | * being hotplugged causing misdetection. By cross checking | ||
2254 | * link onlineness and classification result, those conditions | ||
2255 | * can be reliably detected and retried. | ||
2256 | */ | ||
2257 | nr_known = 0; | ||
2258 | ata_link_for_each_dev(dev, link) { | ||
2259 | /* convert all ATA_DEV_UNKNOWN to ATA_DEV_NONE */ | ||
2260 | if (classes[dev->devno] == ATA_DEV_UNKNOWN) | ||
2261 | classes[dev->devno] = ATA_DEV_NONE; | ||
2262 | else | ||
2263 | nr_known++; | ||
2264 | } | ||
2265 | |||
2266 | if (classify && !nr_known && ata_link_online(link)) { | ||
2267 | if (try < max_tries) { | ||
2268 | ata_link_printk(link, KERN_WARNING, "link online but " | ||
2269 | "device misclassified, retrying\n"); | ||
2270 | rc = -EAGAIN; | ||
2271 | goto fail; | ||
2272 | } | ||
2273 | ata_link_printk(link, KERN_WARNING, | ||
2274 | "link online but device misclassified, " | ||
2275 | "device detection might fail\n"); | ||
2276 | } | ||
2277 | |||
2242 | /* reset successful, schedule revalidation */ | 2278 | /* reset successful, schedule revalidation */ |
2243 | ata_eh_done(link, NULL, ATA_EH_RESET); | 2279 | ata_eh_done(link, NULL, ATA_EH_RESET); |
2244 | ehc->i.action |= ATA_EH_REVALIDATE; | 2280 | ehc->i.action |= ATA_EH_REVALIDATE; |
@@ -2587,7 +2623,7 @@ int ata_eh_recover(struct ata_port *ap, ata_prereset_fn_t prereset, | |||
2587 | struct ata_link *link; | 2623 | struct ata_link *link; |
2588 | struct ata_device *dev; | 2624 | struct ata_device *dev; |
2589 | int nr_failed_devs, nr_disabled_devs; | 2625 | int nr_failed_devs, nr_disabled_devs; |
2590 | int reset, rc; | 2626 | int rc; |
2591 | unsigned long flags; | 2627 | unsigned long flags; |
2592 | 2628 | ||
2593 | DPRINTK("ENTER\n"); | 2629 | DPRINTK("ENTER\n"); |
@@ -2630,7 +2666,6 @@ int ata_eh_recover(struct ata_port *ap, ata_prereset_fn_t prereset, | |||
2630 | rc = 0; | 2666 | rc = 0; |
2631 | nr_failed_devs = 0; | 2667 | nr_failed_devs = 0; |
2632 | nr_disabled_devs = 0; | 2668 | nr_disabled_devs = 0; |
2633 | reset = 0; | ||
2634 | 2669 | ||
2635 | /* if UNLOADING, finish immediately */ | 2670 | /* if UNLOADING, finish immediately */ |
2636 | if (ap->pflags & ATA_PFLAG_UNLOADING) | 2671 | if (ap->pflags & ATA_PFLAG_UNLOADING) |
@@ -2644,40 +2679,24 @@ int ata_eh_recover(struct ata_port *ap, ata_prereset_fn_t prereset, | |||
2644 | if (ata_eh_skip_recovery(link)) | 2679 | if (ata_eh_skip_recovery(link)) |
2645 | ehc->i.action = 0; | 2680 | ehc->i.action = 0; |
2646 | 2681 | ||
2647 | /* do we need to reset? */ | ||
2648 | if (ehc->i.action & ATA_EH_RESET) | ||
2649 | reset = 1; | ||
2650 | |||
2651 | ata_link_for_each_dev(dev, link) | 2682 | ata_link_for_each_dev(dev, link) |
2652 | ehc->classes[dev->devno] = ATA_DEV_UNKNOWN; | 2683 | ehc->classes[dev->devno] = ATA_DEV_UNKNOWN; |
2653 | } | 2684 | } |
2654 | 2685 | ||
2655 | /* reset */ | 2686 | /* reset */ |
2656 | if (reset) { | 2687 | ata_port_for_each_link(link, ap) { |
2657 | /* if PMP is attached, this function only deals with | 2688 | struct ata_eh_context *ehc = &link->eh_context; |
2658 | * downstream links, port should stay thawed. | ||
2659 | */ | ||
2660 | if (!sata_pmp_attached(ap)) | ||
2661 | ata_eh_freeze_port(ap); | ||
2662 | |||
2663 | ata_port_for_each_link(link, ap) { | ||
2664 | struct ata_eh_context *ehc = &link->eh_context; | ||
2665 | 2689 | ||
2666 | if (!(ehc->i.action & ATA_EH_RESET)) | 2690 | if (!(ehc->i.action & ATA_EH_RESET)) |
2667 | continue; | 2691 | continue; |
2668 | 2692 | ||
2669 | rc = ata_eh_reset(link, ata_link_nr_vacant(link), | 2693 | rc = ata_eh_reset(link, ata_link_nr_vacant(link), |
2670 | prereset, softreset, hardreset, | 2694 | prereset, softreset, hardreset, postreset); |
2671 | postreset); | 2695 | if (rc) { |
2672 | if (rc) { | 2696 | ata_link_printk(link, KERN_ERR, |
2673 | ata_link_printk(link, KERN_ERR, | 2697 | "reset failed, giving up\n"); |
2674 | "reset failed, giving up\n"); | 2698 | goto out; |
2675 | goto out; | ||
2676 | } | ||
2677 | } | 2699 | } |
2678 | |||
2679 | if (!sata_pmp_attached(ap)) | ||
2680 | ata_eh_thaw_port(ap); | ||
2681 | } | 2700 | } |
2682 | 2701 | ||
2683 | /* the rest */ | 2702 | /* the rest */ |
diff --git a/drivers/ata/libata-pmp.c b/drivers/ata/libata-pmp.c index ff1822a7da38..0f9386d4a5a0 100644 --- a/drivers/ata/libata-pmp.c +++ b/drivers/ata/libata-pmp.c | |||
@@ -48,7 +48,7 @@ static unsigned int sata_pmp_read(struct ata_link *link, int reg, u32 *r_val) | |||
48 | tf.device = link->pmp; | 48 | tf.device = link->pmp; |
49 | 49 | ||
50 | err_mask = ata_exec_internal(pmp_dev, &tf, NULL, DMA_NONE, NULL, 0, | 50 | err_mask = ata_exec_internal(pmp_dev, &tf, NULL, DMA_NONE, NULL, 0, |
51 | SATA_PMP_SCR_TIMEOUT); | 51 | SATA_PMP_RW_TIMEOUT); |
52 | if (err_mask) | 52 | if (err_mask) |
53 | return err_mask; | 53 | return err_mask; |
54 | 54 | ||
@@ -88,7 +88,7 @@ static unsigned int sata_pmp_write(struct ata_link *link, int reg, u32 val) | |||
88 | tf.lbah = (val >> 24) & 0xff; | 88 | tf.lbah = (val >> 24) & 0xff; |
89 | 89 | ||
90 | return ata_exec_internal(pmp_dev, &tf, NULL, DMA_NONE, NULL, 0, | 90 | return ata_exec_internal(pmp_dev, &tf, NULL, DMA_NONE, NULL, 0, |
91 | SATA_PMP_SCR_TIMEOUT); | 91 | SATA_PMP_RW_TIMEOUT); |
92 | } | 92 | } |
93 | 93 | ||
94 | /** | 94 | /** |
@@ -257,19 +257,6 @@ static int sata_pmp_configure(struct ata_device *dev, int print_info) | |||
257 | goto fail; | 257 | goto fail; |
258 | } | 258 | } |
259 | 259 | ||
260 | /* turn off notification till fan-out ports are reset and configured */ | ||
261 | if (gscr[SATA_PMP_GSCR_FEAT_EN] & SATA_PMP_FEAT_NOTIFY) { | ||
262 | gscr[SATA_PMP_GSCR_FEAT_EN] &= ~SATA_PMP_FEAT_NOTIFY; | ||
263 | |||
264 | err_mask = sata_pmp_write(dev->link, SATA_PMP_GSCR_FEAT_EN, | ||
265 | gscr[SATA_PMP_GSCR_FEAT_EN]); | ||
266 | if (err_mask) { | ||
267 | rc = -EIO; | ||
268 | reason = "failed to write GSCR_FEAT_EN"; | ||
269 | goto fail; | ||
270 | } | ||
271 | } | ||
272 | |||
273 | if (print_info) { | 260 | if (print_info) { |
274 | ata_dev_printk(dev, KERN_INFO, "Port Multiplier %s, " | 261 | ata_dev_printk(dev, KERN_INFO, "Port Multiplier %s, " |
275 | "0x%04x:0x%04x r%d, %d ports, feat 0x%x/0x%x\n", | 262 | "0x%04x:0x%04x r%d, %d ports, feat 0x%x/0x%x\n", |
@@ -700,8 +687,6 @@ static int sata_pmp_eh_recover_pmp(struct ata_port *ap, | |||
700 | if (ehc->i.action & ATA_EH_RESET) { | 687 | if (ehc->i.action & ATA_EH_RESET) { |
701 | struct ata_link *tlink; | 688 | struct ata_link *tlink; |
702 | 689 | ||
703 | ata_eh_freeze_port(ap); | ||
704 | |||
705 | /* reset */ | 690 | /* reset */ |
706 | rc = ata_eh_reset(link, 0, prereset, softreset, hardreset, | 691 | rc = ata_eh_reset(link, 0, prereset, softreset, hardreset, |
707 | postreset); | 692 | postreset); |
@@ -711,8 +696,6 @@ static int sata_pmp_eh_recover_pmp(struct ata_port *ap, | |||
711 | goto fail; | 696 | goto fail; |
712 | } | 697 | } |
713 | 698 | ||
714 | ata_eh_thaw_port(ap); | ||
715 | |||
716 | /* PMP is reset, SErrors cannot be trusted, scan all */ | 699 | /* PMP is reset, SErrors cannot be trusted, scan all */ |
717 | ata_port_for_each_link(tlink, ap) { | 700 | ata_port_for_each_link(tlink, ap) { |
718 | struct ata_eh_context *ehc = &tlink->eh_context; | 701 | struct ata_eh_context *ehc = &tlink->eh_context; |
@@ -864,6 +847,7 @@ static int sata_pmp_eh_recover(struct ata_port *ap) | |||
864 | struct ata_link *pmp_link = &ap->link; | 847 | struct ata_link *pmp_link = &ap->link; |
865 | struct ata_device *pmp_dev = pmp_link->device; | 848 | struct ata_device *pmp_dev = pmp_link->device; |
866 | struct ata_eh_context *pmp_ehc = &pmp_link->eh_context; | 849 | struct ata_eh_context *pmp_ehc = &pmp_link->eh_context; |
850 | u32 *gscr = pmp_dev->gscr; | ||
867 | struct ata_link *link; | 851 | struct ata_link *link; |
868 | struct ata_device *dev; | 852 | struct ata_device *dev; |
869 | unsigned int err_mask; | 853 | unsigned int err_mask; |
@@ -901,6 +885,22 @@ static int sata_pmp_eh_recover(struct ata_port *ap) | |||
901 | if (rc) | 885 | if (rc) |
902 | goto pmp_fail; | 886 | goto pmp_fail; |
903 | 887 | ||
888 | /* PHY event notification can disturb reset and other recovery | ||
889 | * operations. Turn it off. | ||
890 | */ | ||
891 | if (gscr[SATA_PMP_GSCR_FEAT_EN] & SATA_PMP_FEAT_NOTIFY) { | ||
892 | gscr[SATA_PMP_GSCR_FEAT_EN] &= ~SATA_PMP_FEAT_NOTIFY; | ||
893 | |||
894 | err_mask = sata_pmp_write(pmp_link, SATA_PMP_GSCR_FEAT_EN, | ||
895 | gscr[SATA_PMP_GSCR_FEAT_EN]); | ||
896 | if (err_mask) { | ||
897 | ata_link_printk(pmp_link, KERN_WARNING, | ||
898 | "failed to disable NOTIFY (err_mask=0x%x)\n", | ||
899 | err_mask); | ||
900 | goto pmp_fail; | ||
901 | } | ||
902 | } | ||
903 | |||
904 | /* handle disabled links */ | 904 | /* handle disabled links */ |
905 | rc = sata_pmp_eh_handle_disabled_links(ap); | 905 | rc = sata_pmp_eh_handle_disabled_links(ap); |
906 | if (rc) | 906 | if (rc) |
@@ -923,10 +923,10 @@ static int sata_pmp_eh_recover(struct ata_port *ap) | |||
923 | 923 | ||
924 | /* enable notification */ | 924 | /* enable notification */ |
925 | if (pmp_dev->flags & ATA_DFLAG_AN) { | 925 | if (pmp_dev->flags & ATA_DFLAG_AN) { |
926 | pmp_dev->gscr[SATA_PMP_GSCR_FEAT_EN] |= SATA_PMP_FEAT_NOTIFY; | 926 | gscr[SATA_PMP_GSCR_FEAT_EN] |= SATA_PMP_FEAT_NOTIFY; |
927 | 927 | ||
928 | err_mask = sata_pmp_write(pmp_dev->link, SATA_PMP_GSCR_FEAT_EN, | 928 | err_mask = sata_pmp_write(pmp_link, SATA_PMP_GSCR_FEAT_EN, |
929 | pmp_dev->gscr[SATA_PMP_GSCR_FEAT_EN]); | 929 | gscr[SATA_PMP_GSCR_FEAT_EN]); |
930 | if (err_mask) { | 930 | if (err_mask) { |
931 | ata_dev_printk(pmp_dev, KERN_ERR, "failed to write " | 931 | ata_dev_printk(pmp_dev, KERN_ERR, "failed to write " |
932 | "PMP_FEAT_EN (Emask=0x%x)\n", err_mask); | 932 | "PMP_FEAT_EN (Emask=0x%x)\n", err_mask); |
diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c index 3ce43920e459..aeb6e01d82ce 100644 --- a/drivers/ata/libata-scsi.c +++ b/drivers/ata/libata-scsi.c | |||
@@ -1082,12 +1082,6 @@ static unsigned int ata_scsi_start_stop_xlat(struct ata_queued_cmd *qc) | |||
1082 | if (((cdb[4] >> 4) & 0xf) != 0) | 1082 | if (((cdb[4] >> 4) & 0xf) != 0) |
1083 | goto invalid_fld; /* power conditions not supported */ | 1083 | goto invalid_fld; /* power conditions not supported */ |
1084 | 1084 | ||
1085 | if (qc->dev->horkage & ATA_HORKAGE_SKIP_PM) { | ||
1086 | /* the device lacks PM support, finish without doing anything */ | ||
1087 | scmd->result = SAM_STAT_GOOD; | ||
1088 | return 1; | ||
1089 | } | ||
1090 | |||
1091 | if (cdb[4] & 0x1) { | 1085 | if (cdb[4] & 0x1) { |
1092 | tf->nsect = 1; /* 1 sector, lba=0 */ | 1086 | tf->nsect = 1; /* 1 sector, lba=0 */ |
1093 | 1087 | ||
diff --git a/drivers/ata/pata_ali.c b/drivers/ata/pata_ali.c index fcabe46f262b..0f3e659db99a 100644 --- a/drivers/ata/pata_ali.c +++ b/drivers/ata/pata_ali.c | |||
@@ -177,11 +177,11 @@ static void ali_program_modes(struct ata_port *ap, struct ata_device *adev, stru | |||
177 | u8 udma; | 177 | u8 udma; |
178 | 178 | ||
179 | if (t != NULL) { | 179 | if (t != NULL) { |
180 | t->setup = FIT(t->setup, 1, 8) & 7; | 180 | t->setup = clamp_val(t->setup, 1, 8) & 7; |
181 | t->act8b = FIT(t->act8b, 1, 8) & 7; | 181 | t->act8b = clamp_val(t->act8b, 1, 8) & 7; |
182 | t->rec8b = FIT(t->rec8b, 1, 16) & 15; | 182 | t->rec8b = clamp_val(t->rec8b, 1, 16) & 15; |
183 | t->active = FIT(t->active, 1, 8) & 7; | 183 | t->active = clamp_val(t->active, 1, 8) & 7; |
184 | t->recover = FIT(t->recover, 1, 16) & 15; | 184 | t->recover = clamp_val(t->recover, 1, 16) & 15; |
185 | 185 | ||
186 | pci_write_config_byte(pdev, cas, t->setup); | 186 | pci_write_config_byte(pdev, cas, t->setup); |
187 | pci_write_config_byte(pdev, cbt, (t->act8b << 4) | t->rec8b); | 187 | pci_write_config_byte(pdev, cbt, (t->act8b << 4) | t->rec8b); |
diff --git a/drivers/ata/pata_amd.c b/drivers/ata/pata_amd.c index 26665c396485..57dd00f463d3 100644 --- a/drivers/ata/pata_amd.c +++ b/drivers/ata/pata_amd.c | |||
@@ -84,32 +84,32 @@ static void timing_setup(struct ata_port *ap, struct ata_device *adev, int offse | |||
84 | 84 | ||
85 | /* Configure the address set up timing */ | 85 | /* Configure the address set up timing */ |
86 | pci_read_config_byte(pdev, offset + 0x0C, &t); | 86 | pci_read_config_byte(pdev, offset + 0x0C, &t); |
87 | t = (t & ~(3 << ((3 - dn) << 1))) | ((FIT(at.setup, 1, 4) - 1) << ((3 - dn) << 1)); | 87 | t = (t & ~(3 << ((3 - dn) << 1))) | ((clamp_val(at.setup, 1, 4) - 1) << ((3 - dn) << 1)); |
88 | pci_write_config_byte(pdev, offset + 0x0C , t); | 88 | pci_write_config_byte(pdev, offset + 0x0C , t); |
89 | 89 | ||
90 | /* Configure the 8bit I/O timing */ | 90 | /* Configure the 8bit I/O timing */ |
91 | pci_write_config_byte(pdev, offset + 0x0E + (1 - (dn >> 1)), | 91 | pci_write_config_byte(pdev, offset + 0x0E + (1 - (dn >> 1)), |
92 | ((FIT(at.act8b, 1, 16) - 1) << 4) | (FIT(at.rec8b, 1, 16) - 1)); | 92 | ((clamp_val(at.act8b, 1, 16) - 1) << 4) | (clamp_val(at.rec8b, 1, 16) - 1)); |
93 | 93 | ||
94 | /* Drive timing */ | 94 | /* Drive timing */ |
95 | pci_write_config_byte(pdev, offset + 0x08 + (3 - dn), | 95 | pci_write_config_byte(pdev, offset + 0x08 + (3 - dn), |
96 | ((FIT(at.active, 1, 16) - 1) << 4) | (FIT(at.recover, 1, 16) - 1)); | 96 | ((clamp_val(at.active, 1, 16) - 1) << 4) | (clamp_val(at.recover, 1, 16) - 1)); |
97 | 97 | ||
98 | switch (clock) { | 98 | switch (clock) { |
99 | case 1: | 99 | case 1: |
100 | t = at.udma ? (0xc0 | (FIT(at.udma, 2, 5) - 2)) : 0x03; | 100 | t = at.udma ? (0xc0 | (clamp_val(at.udma, 2, 5) - 2)) : 0x03; |
101 | break; | 101 | break; |
102 | 102 | ||
103 | case 2: | 103 | case 2: |
104 | t = at.udma ? (0xc0 | amd_cyc2udma[FIT(at.udma, 2, 10)]) : 0x03; | 104 | t = at.udma ? (0xc0 | amd_cyc2udma[clamp_val(at.udma, 2, 10)]) : 0x03; |
105 | break; | 105 | break; |
106 | 106 | ||
107 | case 3: | 107 | case 3: |
108 | t = at.udma ? (0xc0 | amd_cyc2udma[FIT(at.udma, 1, 10)]) : 0x03; | 108 | t = at.udma ? (0xc0 | amd_cyc2udma[clamp_val(at.udma, 1, 10)]) : 0x03; |
109 | break; | 109 | break; |
110 | 110 | ||
111 | case 4: | 111 | case 4: |
112 | t = at.udma ? (0xc0 | amd_cyc2udma[FIT(at.udma, 1, 15)]) : 0x03; | 112 | t = at.udma ? (0xc0 | amd_cyc2udma[clamp_val(at.udma, 1, 15)]) : 0x03; |
113 | break; | 113 | break; |
114 | 114 | ||
115 | default: | 115 | default: |
diff --git a/drivers/ata/pata_at32.c b/drivers/ata/pata_at32.c index 5e104385d6a3..82fb6e273169 100644 --- a/drivers/ata/pata_at32.c +++ b/drivers/ata/pata_at32.c | |||
@@ -291,8 +291,6 @@ static int __init pata_at32_probe(struct platform_device *pdev) | |||
291 | if (!info) | 291 | if (!info) |
292 | return -ENOMEM; | 292 | return -ENOMEM; |
293 | 293 | ||
294 | memset(info, 0, sizeof(struct at32_ide_info)); | ||
295 | |||
296 | info->irq = irq; | 294 | info->irq = irq; |
297 | info->cs = board->cs; | 295 | info->cs = board->cs; |
298 | 296 | ||
diff --git a/drivers/ata/pata_bf54x.c b/drivers/ata/pata_bf54x.c index 9ab89732cf94..55516103626a 100644 --- a/drivers/ata/pata_bf54x.c +++ b/drivers/ata/pata_bf54x.c | |||
@@ -911,7 +911,10 @@ static void bfin_bmdma_start(struct ata_queued_cmd *qc) | |||
911 | /* Reset all transfer count */ | 911 | /* Reset all transfer count */ |
912 | ATAPI_SET_CONTROL(base, ATAPI_GET_CONTROL(base) | TFRCNT_RST); | 912 | ATAPI_SET_CONTROL(base, ATAPI_GET_CONTROL(base) | TFRCNT_RST); |
913 | 913 | ||
914 | /* Set transfer length to buffer len */ | 914 | /* Set ATAPI state machine contorl in terminate sequence */ |
915 | ATAPI_SET_CONTROL(base, ATAPI_GET_CONTROL(base) | END_ON_TERM); | ||
916 | |||
917 | /* Set transfer length to buffer len */ | ||
915 | for_each_sg(qc->sg, sg, qc->n_elem, si) { | 918 | for_each_sg(qc->sg, sg, qc->n_elem, si) { |
916 | ATAPI_SET_XFER_LEN(base, (sg_dma_len(sg) >> 1)); | 919 | ATAPI_SET_XFER_LEN(base, (sg_dma_len(sg) >> 1)); |
917 | } | 920 | } |
diff --git a/drivers/ata/pata_cypress.c b/drivers/ata/pata_cypress.c index a9c3218e22fd..2ff62608ae37 100644 --- a/drivers/ata/pata_cypress.c +++ b/drivers/ata/pata_cypress.c | |||
@@ -62,14 +62,14 @@ static void cy82c693_set_piomode(struct ata_port *ap, struct ata_device *adev) | |||
62 | return; | 62 | return; |
63 | } | 63 | } |
64 | 64 | ||
65 | time_16 = FIT(t.recover, 0, 15) | (FIT(t.active, 0, 15) << 4); | 65 | time_16 = clamp_val(t.recover, 0, 15) | (clamp_val(t.active, 0, 15) << 4); |
66 | time_8 = FIT(t.act8b, 0, 15) | (FIT(t.rec8b, 0, 15) << 4); | 66 | time_8 = clamp_val(t.act8b, 0, 15) | (clamp_val(t.rec8b, 0, 15) << 4); |
67 | 67 | ||
68 | if (adev->devno == 0) { | 68 | if (adev->devno == 0) { |
69 | pci_read_config_dword(pdev, CY82_IDE_ADDRSETUP, &addr); | 69 | pci_read_config_dword(pdev, CY82_IDE_ADDRSETUP, &addr); |
70 | 70 | ||
71 | addr &= ~0x0F; /* Mask bits */ | 71 | addr &= ~0x0F; /* Mask bits */ |
72 | addr |= FIT(t.setup, 0, 15); | 72 | addr |= clamp_val(t.setup, 0, 15); |
73 | 73 | ||
74 | pci_write_config_dword(pdev, CY82_IDE_ADDRSETUP, addr); | 74 | pci_write_config_dword(pdev, CY82_IDE_ADDRSETUP, addr); |
75 | pci_write_config_byte(pdev, CY82_IDE_MASTER_IOR, time_16); | 75 | pci_write_config_byte(pdev, CY82_IDE_MASTER_IOR, time_16); |
@@ -79,7 +79,7 @@ static void cy82c693_set_piomode(struct ata_port *ap, struct ata_device *adev) | |||
79 | pci_read_config_dword(pdev, CY82_IDE_ADDRSETUP, &addr); | 79 | pci_read_config_dword(pdev, CY82_IDE_ADDRSETUP, &addr); |
80 | 80 | ||
81 | addr &= ~0xF0; /* Mask bits */ | 81 | addr &= ~0xF0; /* Mask bits */ |
82 | addr |= (FIT(t.setup, 0, 15) << 4); | 82 | addr |= (clamp_val(t.setup, 0, 15) << 4); |
83 | 83 | ||
84 | pci_write_config_dword(pdev, CY82_IDE_ADDRSETUP, addr); | 84 | pci_write_config_dword(pdev, CY82_IDE_ADDRSETUP, addr); |
85 | pci_write_config_byte(pdev, CY82_IDE_SLAVE_IOR, time_16); | 85 | pci_write_config_byte(pdev, CY82_IDE_SLAVE_IOR, time_16); |
diff --git a/drivers/ata/pata_legacy.c b/drivers/ata/pata_legacy.c index 7af4b29cc422..fe7cc8ed4ea4 100644 --- a/drivers/ata/pata_legacy.c +++ b/drivers/ata/pata_legacy.c | |||
@@ -343,8 +343,8 @@ static void ht6560a_set_piomode(struct ata_port *ap, struct ata_device *adev) | |||
343 | /* Get the timing data in cycles. For now play safe at 50Mhz */ | 343 | /* Get the timing data in cycles. For now play safe at 50Mhz */ |
344 | ata_timing_compute(adev, adev->pio_mode, &t, 20000, 1000); | 344 | ata_timing_compute(adev, adev->pio_mode, &t, 20000, 1000); |
345 | 345 | ||
346 | active = FIT(t.active, 2, 15); | 346 | active = clamp_val(t.active, 2, 15); |
347 | recover = FIT(t.recover, 4, 15); | 347 | recover = clamp_val(t.recover, 4, 15); |
348 | 348 | ||
349 | inb(0x3E6); | 349 | inb(0x3E6); |
350 | inb(0x3E6); | 350 | inb(0x3E6); |
@@ -377,8 +377,8 @@ static void ht6560b_set_piomode(struct ata_port *ap, struct ata_device *adev) | |||
377 | /* Get the timing data in cycles. For now play safe at 50Mhz */ | 377 | /* Get the timing data in cycles. For now play safe at 50Mhz */ |
378 | ata_timing_compute(adev, adev->pio_mode, &t, 20000, 1000); | 378 | ata_timing_compute(adev, adev->pio_mode, &t, 20000, 1000); |
379 | 379 | ||
380 | active = FIT(t.active, 2, 15); | 380 | active = clamp_val(t.active, 2, 15); |
381 | recover = FIT(t.recover, 2, 16); | 381 | recover = clamp_val(t.recover, 2, 16); |
382 | recover &= 0x15; | 382 | recover &= 0x15; |
383 | 383 | ||
384 | inb(0x3E6); | 384 | inb(0x3E6); |
@@ -462,9 +462,9 @@ static void opti82c611a_set_piomode(struct ata_port *ap, | |||
462 | ata_timing_merge(&t, &tp, &t, ATA_TIMING_SETUP); | 462 | ata_timing_merge(&t, &tp, &t, ATA_TIMING_SETUP); |
463 | } | 463 | } |
464 | 464 | ||
465 | active = FIT(t.active, 2, 17) - 2; | 465 | active = clamp_val(t.active, 2, 17) - 2; |
466 | recover = FIT(t.recover, 1, 16) - 1; | 466 | recover = clamp_val(t.recover, 1, 16) - 1; |
467 | setup = FIT(t.setup, 1, 4) - 1; | 467 | setup = clamp_val(t.setup, 1, 4) - 1; |
468 | 468 | ||
469 | /* Select the right timing bank for write timing */ | 469 | /* Select the right timing bank for write timing */ |
470 | rc = ioread8(ap->ioaddr.lbal_addr); | 470 | rc = ioread8(ap->ioaddr.lbal_addr); |
@@ -541,9 +541,9 @@ static void opti82c46x_set_piomode(struct ata_port *ap, struct ata_device *adev) | |||
541 | ata_timing_merge(&t, &tp, &t, ATA_TIMING_SETUP); | 541 | ata_timing_merge(&t, &tp, &t, ATA_TIMING_SETUP); |
542 | } | 542 | } |
543 | 543 | ||
544 | active = FIT(t.active, 2, 17) - 2; | 544 | active = clamp_val(t.active, 2, 17) - 2; |
545 | recover = FIT(t.recover, 1, 16) - 1; | 545 | recover = clamp_val(t.recover, 1, 16) - 1; |
546 | setup = FIT(t.setup, 1, 4) - 1; | 546 | setup = clamp_val(t.setup, 1, 4) - 1; |
547 | 547 | ||
548 | /* Select the right timing bank for write timing */ | 548 | /* Select the right timing bank for write timing */ |
549 | rc = ioread8(ap->ioaddr.lbal_addr); | 549 | rc = ioread8(ap->ioaddr.lbal_addr); |
@@ -624,11 +624,11 @@ static void qdi6500_set_piomode(struct ata_port *ap, struct ata_device *adev) | |||
624 | ata_timing_compute(adev, adev->pio_mode, &t, 30303, 1000); | 624 | ata_timing_compute(adev, adev->pio_mode, &t, 30303, 1000); |
625 | 625 | ||
626 | if (ld_qdi->fast) { | 626 | if (ld_qdi->fast) { |
627 | active = 8 - FIT(t.active, 1, 8); | 627 | active = 8 - clamp_val(t.active, 1, 8); |
628 | recovery = 18 - FIT(t.recover, 3, 18); | 628 | recovery = 18 - clamp_val(t.recover, 3, 18); |
629 | } else { | 629 | } else { |
630 | active = 9 - FIT(t.active, 2, 9); | 630 | active = 9 - clamp_val(t.active, 2, 9); |
631 | recovery = 15 - FIT(t.recover, 0, 15); | 631 | recovery = 15 - clamp_val(t.recover, 0, 15); |
632 | } | 632 | } |
633 | timing = (recovery << 4) | active | 0x08; | 633 | timing = (recovery << 4) | active | 0x08; |
634 | 634 | ||
@@ -658,11 +658,11 @@ static void qdi6580dp_set_piomode(struct ata_port *ap, struct ata_device *adev) | |||
658 | ata_timing_compute(adev, adev->pio_mode, &t, 30303, 1000); | 658 | ata_timing_compute(adev, adev->pio_mode, &t, 30303, 1000); |
659 | 659 | ||
660 | if (ld_qdi->fast) { | 660 | if (ld_qdi->fast) { |
661 | active = 8 - FIT(t.active, 1, 8); | 661 | active = 8 - clamp_val(t.active, 1, 8); |
662 | recovery = 18 - FIT(t.recover, 3, 18); | 662 | recovery = 18 - clamp_val(t.recover, 3, 18); |
663 | } else { | 663 | } else { |
664 | active = 9 - FIT(t.active, 2, 9); | 664 | active = 9 - clamp_val(t.active, 2, 9); |
665 | recovery = 15 - FIT(t.recover, 0, 15); | 665 | recovery = 15 - clamp_val(t.recover, 0, 15); |
666 | } | 666 | } |
667 | timing = (recovery << 4) | active | 0x08; | 667 | timing = (recovery << 4) | active | 0x08; |
668 | 668 | ||
@@ -695,11 +695,11 @@ static void qdi6580_set_piomode(struct ata_port *ap, struct ata_device *adev) | |||
695 | ata_timing_compute(adev, adev->pio_mode, &t, 30303, 1000); | 695 | ata_timing_compute(adev, adev->pio_mode, &t, 30303, 1000); |
696 | 696 | ||
697 | if (ld_qdi->fast) { | 697 | if (ld_qdi->fast) { |
698 | active = 8 - FIT(t.active, 1, 8); | 698 | active = 8 - clamp_val(t.active, 1, 8); |
699 | recovery = 18 - FIT(t.recover, 3, 18); | 699 | recovery = 18 - clamp_val(t.recover, 3, 18); |
700 | } else { | 700 | } else { |
701 | active = 9 - FIT(t.active, 2, 9); | 701 | active = 9 - clamp_val(t.active, 2, 9); |
702 | recovery = 15 - FIT(t.recover, 0, 15); | 702 | recovery = 15 - clamp_val(t.recover, 0, 15); |
703 | } | 703 | } |
704 | timing = (recovery << 4) | active | 0x08; | 704 | timing = (recovery << 4) | active | 0x08; |
705 | ld_qdi->clock[adev->devno] = timing; | 705 | ld_qdi->clock[adev->devno] = timing; |
@@ -830,8 +830,8 @@ static void winbond_set_piomode(struct ata_port *ap, struct ata_device *adev) | |||
830 | else | 830 | else |
831 | ata_timing_compute(adev, adev->pio_mode, &t, 30303, 1000); | 831 | ata_timing_compute(adev, adev->pio_mode, &t, 30303, 1000); |
832 | 832 | ||
833 | active = (FIT(t.active, 3, 17) - 1) & 0x0F; | 833 | active = (clamp_val(t.active, 3, 17) - 1) & 0x0F; |
834 | recovery = (FIT(t.recover, 1, 15) + 1) & 0x0F; | 834 | recovery = (clamp_val(t.recover, 1, 15) + 1) & 0x0F; |
835 | timing = (active << 4) | recovery; | 835 | timing = (active << 4) | recovery; |
836 | winbond_writecfg(ld_winbond->timing, timing, reg); | 836 | winbond_writecfg(ld_winbond->timing, timing, reg); |
837 | 837 | ||
@@ -842,7 +842,7 @@ static void winbond_set_piomode(struct ata_port *ap, struct ata_device *adev) | |||
842 | reg |= 0x08; /* FIFO off */ | 842 | reg |= 0x08; /* FIFO off */ |
843 | if (!ata_pio_need_iordy(adev)) | 843 | if (!ata_pio_need_iordy(adev)) |
844 | reg |= 0x02; /* IORDY off */ | 844 | reg |= 0x02; /* IORDY off */ |
845 | reg |= (FIT(t.setup, 0, 3) << 6); | 845 | reg |= (clamp_val(t.setup, 0, 3) << 6); |
846 | winbond_writecfg(ld_winbond->timing, timing + 1, reg); | 846 | winbond_writecfg(ld_winbond->timing, timing + 1, reg); |
847 | } | 847 | } |
848 | 848 | ||
diff --git a/drivers/ata/pata_ns87410.c b/drivers/ata/pata_ns87410.c index 76d2455bc453..be756b7ef07e 100644 --- a/drivers/ata/pata_ns87410.c +++ b/drivers/ata/pata_ns87410.c | |||
@@ -91,9 +91,9 @@ static void ns87410_set_piomode(struct ata_port *ap, struct ata_device *adev) | |||
91 | return; | 91 | return; |
92 | } | 92 | } |
93 | 93 | ||
94 | at.active = FIT(at.active, 2, 16) - 2; | 94 | at.active = clamp_val(at.active, 2, 16) - 2; |
95 | at.setup = FIT(at.setup, 1, 4) - 1; | 95 | at.setup = clamp_val(at.setup, 1, 4) - 1; |
96 | at.recover = FIT(at.recover, 1, 12) - 1; | 96 | at.recover = clamp_val(at.recover, 1, 12) - 1; |
97 | 97 | ||
98 | idetcr = (at.setup << 6) | (recoverbits[at.recover] << 3) | activebits[at.active]; | 98 | idetcr = (at.setup << 6) | (recoverbits[at.recover] << 3) | activebits[at.active]; |
99 | 99 | ||
diff --git a/drivers/ata/pata_ns87415.c b/drivers/ata/pata_ns87415.c index ae92b0049bd5..e0aa7eaaee0a 100644 --- a/drivers/ata/pata_ns87415.c +++ b/drivers/ata/pata_ns87415.c | |||
@@ -66,8 +66,8 @@ static void ns87415_set_mode(struct ata_port *ap, struct ata_device *adev, u8 mo | |||
66 | 66 | ||
67 | ata_timing_compute(adev, adev->pio_mode, &t, T, 0); | 67 | ata_timing_compute(adev, adev->pio_mode, &t, T, 0); |
68 | 68 | ||
69 | clocking = 17 - FIT(t.active, 2, 17); | 69 | clocking = 17 - clamp_val(t.active, 2, 17); |
70 | clocking |= (16 - FIT(t.recover, 1, 16)) << 4; | 70 | clocking |= (16 - clamp_val(t.recover, 1, 16)) << 4; |
71 | /* Use the same timing for read and write bytes */ | 71 | /* Use the same timing for read and write bytes */ |
72 | clocking |= (clocking << 8); | 72 | clocking |= (clocking << 8); |
73 | pci_write_config_word(dev, timing, clocking); | 73 | pci_write_config_word(dev, timing, clocking); |
diff --git a/drivers/ata/pata_qdi.c b/drivers/ata/pata_qdi.c index bf45cf017753..97e5b090d7c2 100644 --- a/drivers/ata/pata_qdi.c +++ b/drivers/ata/pata_qdi.c | |||
@@ -60,11 +60,11 @@ static void qdi6500_set_piomode(struct ata_port *ap, struct ata_device *adev) | |||
60 | ata_timing_compute(adev, adev->pio_mode, &t, 30303, 1000); | 60 | ata_timing_compute(adev, adev->pio_mode, &t, 30303, 1000); |
61 | 61 | ||
62 | if (qdi->fast) { | 62 | if (qdi->fast) { |
63 | active = 8 - FIT(t.active, 1, 8); | 63 | active = 8 - clamp_val(t.active, 1, 8); |
64 | recovery = 18 - FIT(t.recover, 3, 18); | 64 | recovery = 18 - clamp_val(t.recover, 3, 18); |
65 | } else { | 65 | } else { |
66 | active = 9 - FIT(t.active, 2, 9); | 66 | active = 9 - clamp_val(t.active, 2, 9); |
67 | recovery = 15 - FIT(t.recover, 0, 15); | 67 | recovery = 15 - clamp_val(t.recover, 0, 15); |
68 | } | 68 | } |
69 | timing = (recovery << 4) | active | 0x08; | 69 | timing = (recovery << 4) | active | 0x08; |
70 | 70 | ||
@@ -84,11 +84,11 @@ static void qdi6580_set_piomode(struct ata_port *ap, struct ata_device *adev) | |||
84 | ata_timing_compute(adev, adev->pio_mode, &t, 30303, 1000); | 84 | ata_timing_compute(adev, adev->pio_mode, &t, 30303, 1000); |
85 | 85 | ||
86 | if (qdi->fast) { | 86 | if (qdi->fast) { |
87 | active = 8 - FIT(t.active, 1, 8); | 87 | active = 8 - clamp_val(t.active, 1, 8); |
88 | recovery = 18 - FIT(t.recover, 3, 18); | 88 | recovery = 18 - clamp_val(t.recover, 3, 18); |
89 | } else { | 89 | } else { |
90 | active = 9 - FIT(t.active, 2, 9); | 90 | active = 9 - clamp_val(t.active, 2, 9); |
91 | recovery = 15 - FIT(t.recover, 0, 15); | 91 | recovery = 15 - clamp_val(t.recover, 0, 15); |
92 | } | 92 | } |
93 | timing = (recovery << 4) | active | 0x08; | 93 | timing = (recovery << 4) | active | 0x08; |
94 | 94 | ||
diff --git a/drivers/ata/pata_sl82c105.c b/drivers/ata/pata_sl82c105.c index 70d94fb28a5f..69877bd81815 100644 --- a/drivers/ata/pata_sl82c105.c +++ b/drivers/ata/pata_sl82c105.c | |||
@@ -216,7 +216,7 @@ static int sl82c105_qc_defer(struct ata_queued_cmd *qc) | |||
216 | struct ata_port *alt = host->ports[1 ^ qc->ap->port_no]; | 216 | struct ata_port *alt = host->ports[1 ^ qc->ap->port_no]; |
217 | int rc; | 217 | int rc; |
218 | 218 | ||
219 | /* First apply the usual rules */ | 219 | /* First apply the usual rules */ |
220 | rc = ata_std_qc_defer(qc); | 220 | rc = ata_std_qc_defer(qc); |
221 | if (rc != 0) | 221 | if (rc != 0) |
222 | return rc; | 222 | return rc; |
diff --git a/drivers/ata/pata_via.c b/drivers/ata/pata_via.c index 2fea6cbe7755..708ed144ede9 100644 --- a/drivers/ata/pata_via.c +++ b/drivers/ata/pata_via.c | |||
@@ -259,15 +259,15 @@ static void via_do_set_mode(struct ata_port *ap, struct ata_device *adev, int mo | |||
259 | 259 | ||
260 | pci_read_config_byte(pdev, 0x4C, &setup); | 260 | pci_read_config_byte(pdev, 0x4C, &setup); |
261 | setup &= ~(3 << shift); | 261 | setup &= ~(3 << shift); |
262 | setup |= FIT(t.setup, 1, 4) << shift; /* 1,4 or 1,4 - 1 FIXME */ | 262 | setup |= clamp_val(t.setup, 1, 4) << shift; /* 1,4 or 1,4 - 1 FIXME */ |
263 | pci_write_config_byte(pdev, 0x4C, setup); | 263 | pci_write_config_byte(pdev, 0x4C, setup); |
264 | } | 264 | } |
265 | 265 | ||
266 | /* Load the PIO mode bits */ | 266 | /* Load the PIO mode bits */ |
267 | pci_write_config_byte(pdev, 0x4F - ap->port_no, | 267 | pci_write_config_byte(pdev, 0x4F - ap->port_no, |
268 | ((FIT(t.act8b, 1, 16) - 1) << 4) | (FIT(t.rec8b, 1, 16) - 1)); | 268 | ((clamp_val(t.act8b, 1, 16) - 1) << 4) | (clamp_val(t.rec8b, 1, 16) - 1)); |
269 | pci_write_config_byte(pdev, 0x48 + offset, | 269 | pci_write_config_byte(pdev, 0x48 + offset, |
270 | ((FIT(t.active, 1, 16) - 1) << 4) | (FIT(t.recover, 1, 16) - 1)); | 270 | ((clamp_val(t.active, 1, 16) - 1) << 4) | (clamp_val(t.recover, 1, 16) - 1)); |
271 | 271 | ||
272 | /* Load the UDMA bits according to type */ | 272 | /* Load the UDMA bits according to type */ |
273 | switch(udma_type) { | 273 | switch(udma_type) { |
@@ -275,16 +275,16 @@ static void via_do_set_mode(struct ata_port *ap, struct ata_device *adev, int mo | |||
275 | /* BUG() ? */ | 275 | /* BUG() ? */ |
276 | /* fall through */ | 276 | /* fall through */ |
277 | case 33: | 277 | case 33: |
278 | ut = t.udma ? (0xe0 | (FIT(t.udma, 2, 5) - 2)) : 0x03; | 278 | ut = t.udma ? (0xe0 | (clamp_val(t.udma, 2, 5) - 2)) : 0x03; |
279 | break; | 279 | break; |
280 | case 66: | 280 | case 66: |
281 | ut = t.udma ? (0xe8 | (FIT(t.udma, 2, 9) - 2)) : 0x0f; | 281 | ut = t.udma ? (0xe8 | (clamp_val(t.udma, 2, 9) - 2)) : 0x0f; |
282 | break; | 282 | break; |
283 | case 100: | 283 | case 100: |
284 | ut = t.udma ? (0xe0 | (FIT(t.udma, 2, 9) - 2)) : 0x07; | 284 | ut = t.udma ? (0xe0 | (clamp_val(t.udma, 2, 9) - 2)) : 0x07; |
285 | break; | 285 | break; |
286 | case 133: | 286 | case 133: |
287 | ut = t.udma ? (0xe0 | (FIT(t.udma, 2, 9) - 2)) : 0x07; | 287 | ut = t.udma ? (0xe0 | (clamp_val(t.udma, 2, 9) - 2)) : 0x07; |
288 | break; | 288 | break; |
289 | } | 289 | } |
290 | 290 | ||
diff --git a/drivers/ata/pata_winbond.c b/drivers/ata/pata_winbond.c index 6e52a3573fbf..474528f8fe3d 100644 --- a/drivers/ata/pata_winbond.c +++ b/drivers/ata/pata_winbond.c | |||
@@ -75,8 +75,8 @@ static void winbond_set_piomode(struct ata_port *ap, struct ata_device *adev) | |||
75 | else | 75 | else |
76 | ata_timing_compute(adev, adev->pio_mode, &t, 30303, 1000); | 76 | ata_timing_compute(adev, adev->pio_mode, &t, 30303, 1000); |
77 | 77 | ||
78 | active = (FIT(t.active, 3, 17) - 1) & 0x0F; | 78 | active = (clamp_val(t.active, 3, 17) - 1) & 0x0F; |
79 | recovery = (FIT(t.recover, 1, 15) + 1) & 0x0F; | 79 | recovery = (clamp_val(t.recover, 1, 15) + 1) & 0x0F; |
80 | timing = (active << 4) | recovery; | 80 | timing = (active << 4) | recovery; |
81 | winbond_writecfg(winbond->config, timing, reg); | 81 | winbond_writecfg(winbond->config, timing, reg); |
82 | 82 | ||
@@ -87,7 +87,7 @@ static void winbond_set_piomode(struct ata_port *ap, struct ata_device *adev) | |||
87 | reg |= 0x08; /* FIFO off */ | 87 | reg |= 0x08; /* FIFO off */ |
88 | if (!ata_pio_need_iordy(adev)) | 88 | if (!ata_pio_need_iordy(adev)) |
89 | reg |= 0x02; /* IORDY off */ | 89 | reg |= 0x02; /* IORDY off */ |
90 | reg |= (FIT(t.setup, 0, 3) << 6); | 90 | reg |= (clamp_val(t.setup, 0, 3) << 6); |
91 | winbond_writecfg(winbond->config, timing + 1, reg); | 91 | winbond_writecfg(winbond->config, timing + 1, reg); |
92 | } | 92 | } |
93 | 93 | ||
diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c index bb73b2222627..fb81f0c7a8c2 100644 --- a/drivers/ata/sata_mv.c +++ b/drivers/ata/sata_mv.c | |||
@@ -72,7 +72,7 @@ | |||
72 | #include <linux/libata.h> | 72 | #include <linux/libata.h> |
73 | 73 | ||
74 | #define DRV_NAME "sata_mv" | 74 | #define DRV_NAME "sata_mv" |
75 | #define DRV_VERSION "1.20" | 75 | #define DRV_VERSION "1.21" |
76 | 76 | ||
77 | enum { | 77 | enum { |
78 | /* BAR's are enumerated in terms of pci_resource_start() terms */ | 78 | /* BAR's are enumerated in terms of pci_resource_start() terms */ |
@@ -128,8 +128,13 @@ enum { | |||
128 | MV_COMMON_FLAGS = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | | 128 | MV_COMMON_FLAGS = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | |
129 | ATA_FLAG_MMIO | ATA_FLAG_NO_ATAPI | | 129 | ATA_FLAG_MMIO | ATA_FLAG_NO_ATAPI | |
130 | ATA_FLAG_PIO_POLLING, | 130 | ATA_FLAG_PIO_POLLING, |
131 | |||
131 | MV_6XXX_FLAGS = MV_FLAG_IRQ_COALESCE, | 132 | MV_6XXX_FLAGS = MV_FLAG_IRQ_COALESCE, |
132 | 133 | ||
134 | MV_GENIIE_FLAGS = MV_COMMON_FLAGS | MV_6XXX_FLAGS | | ||
135 | ATA_FLAG_PMP | ATA_FLAG_ACPI_SATA | | ||
136 | ATA_FLAG_NCQ | ATA_FLAG_AN, | ||
137 | |||
133 | CRQB_FLAG_READ = (1 << 0), | 138 | CRQB_FLAG_READ = (1 << 0), |
134 | CRQB_TAG_SHIFT = 1, | 139 | CRQB_TAG_SHIFT = 1, |
135 | CRQB_IOID_SHIFT = 6, /* CRQB Gen-II/IIE IO Id shift */ | 140 | CRQB_IOID_SHIFT = 6, /* CRQB Gen-II/IIE IO Id shift */ |
@@ -197,13 +202,6 @@ enum { | |||
197 | HC_MAIN_RSVD = (0x7f << 25), /* bits 31-25 */ | 202 | HC_MAIN_RSVD = (0x7f << 25), /* bits 31-25 */ |
198 | HC_MAIN_RSVD_5 = (0x1fff << 19), /* bits 31-19 */ | 203 | HC_MAIN_RSVD_5 = (0x1fff << 19), /* bits 31-19 */ |
199 | HC_MAIN_RSVD_SOC = (0x3fffffb << 6), /* bits 31-9, 7-6 */ | 204 | HC_MAIN_RSVD_SOC = (0x3fffffb << 6), /* bits 31-9, 7-6 */ |
200 | HC_MAIN_MASKED_IRQS = (TRAN_LO_DONE | TRAN_HI_DONE | | ||
201 | PORTS_0_3_COAL_DONE | PORTS_4_7_COAL_DONE | | ||
202 | PORTS_0_7_COAL_DONE | GPIO_INT | TWSI_INT | | ||
203 | HC_MAIN_RSVD), | ||
204 | HC_MAIN_MASKED_IRQS_5 = (PORTS_0_3_COAL_DONE | PORTS_4_7_COAL_DONE | | ||
205 | HC_MAIN_RSVD_5), | ||
206 | HC_MAIN_MASKED_IRQS_SOC = (PORTS_0_3_COAL_DONE | HC_MAIN_RSVD_SOC), | ||
207 | 205 | ||
208 | /* SATAHC registers */ | 206 | /* SATAHC registers */ |
209 | HC_CFG_OFS = 0, | 207 | HC_CFG_OFS = 0, |
@@ -221,6 +219,7 @@ enum { | |||
221 | SATA_STATUS_OFS = 0x300, /* ctrl, err regs follow status */ | 219 | SATA_STATUS_OFS = 0x300, /* ctrl, err regs follow status */ |
222 | SATA_ACTIVE_OFS = 0x350, | 220 | SATA_ACTIVE_OFS = 0x350, |
223 | SATA_FIS_IRQ_CAUSE_OFS = 0x364, | 221 | SATA_FIS_IRQ_CAUSE_OFS = 0x364, |
222 | SATA_FIS_IRQ_AN = (1 << 9), /* async notification */ | ||
224 | 223 | ||
225 | LTMODE_OFS = 0x30c, | 224 | LTMODE_OFS = 0x30c, |
226 | LTMODE_BIT8 = (1 << 8), /* unknown, but necessary */ | 225 | LTMODE_BIT8 = (1 << 8), /* unknown, but necessary */ |
@@ -459,6 +458,7 @@ struct mv_port_signal { | |||
459 | 458 | ||
460 | struct mv_host_priv { | 459 | struct mv_host_priv { |
461 | u32 hp_flags; | 460 | u32 hp_flags; |
461 | u32 main_irq_mask; | ||
462 | struct mv_port_signal signal[8]; | 462 | struct mv_port_signal signal[8]; |
463 | const struct mv_hw_ops *ops; | 463 | const struct mv_hw_ops *ops; |
464 | int n_ports; | 464 | int n_ports; |
@@ -640,25 +640,19 @@ static const struct ata_port_info mv_port_info[] = { | |||
640 | .port_ops = &mv6_ops, | 640 | .port_ops = &mv6_ops, |
641 | }, | 641 | }, |
642 | { /* chip_6042 */ | 642 | { /* chip_6042 */ |
643 | .flags = MV_COMMON_FLAGS | MV_6XXX_FLAGS | | 643 | .flags = MV_GENIIE_FLAGS, |
644 | ATA_FLAG_PMP | ATA_FLAG_ACPI_SATA | | ||
645 | ATA_FLAG_NCQ, | ||
646 | .pio_mask = 0x1f, /* pio0-4 */ | 644 | .pio_mask = 0x1f, /* pio0-4 */ |
647 | .udma_mask = ATA_UDMA6, | 645 | .udma_mask = ATA_UDMA6, |
648 | .port_ops = &mv_iie_ops, | 646 | .port_ops = &mv_iie_ops, |
649 | }, | 647 | }, |
650 | { /* chip_7042 */ | 648 | { /* chip_7042 */ |
651 | .flags = MV_COMMON_FLAGS | MV_6XXX_FLAGS | | 649 | .flags = MV_GENIIE_FLAGS, |
652 | ATA_FLAG_PMP | ATA_FLAG_ACPI_SATA | | ||
653 | ATA_FLAG_NCQ, | ||
654 | .pio_mask = 0x1f, /* pio0-4 */ | 650 | .pio_mask = 0x1f, /* pio0-4 */ |
655 | .udma_mask = ATA_UDMA6, | 651 | .udma_mask = ATA_UDMA6, |
656 | .port_ops = &mv_iie_ops, | 652 | .port_ops = &mv_iie_ops, |
657 | }, | 653 | }, |
658 | { /* chip_soc */ | 654 | { /* chip_soc */ |
659 | .flags = MV_COMMON_FLAGS | MV_6XXX_FLAGS | | 655 | .flags = MV_GENIIE_FLAGS | MV_FLAG_SOC, |
660 | ATA_FLAG_PMP | ATA_FLAG_ACPI_SATA | | ||
661 | ATA_FLAG_NCQ | MV_FLAG_SOC, | ||
662 | .pio_mask = 0x1f, /* pio0-4 */ | 656 | .pio_mask = 0x1f, /* pio0-4 */ |
663 | .udma_mask = ATA_UDMA6, | 657 | .udma_mask = ATA_UDMA6, |
664 | .port_ops = &mv_iie_ops, | 658 | .port_ops = &mv_iie_ops, |
@@ -844,6 +838,33 @@ static void mv_set_edma_ptrs(void __iomem *port_mmio, | |||
844 | port_mmio + EDMA_RSP_Q_OUT_PTR_OFS); | 838 | port_mmio + EDMA_RSP_Q_OUT_PTR_OFS); |
845 | } | 839 | } |
846 | 840 | ||
841 | static void mv_set_main_irq_mask(struct ata_host *host, | ||
842 | u32 disable_bits, u32 enable_bits) | ||
843 | { | ||
844 | struct mv_host_priv *hpriv = host->private_data; | ||
845 | u32 old_mask, new_mask; | ||
846 | |||
847 | old_mask = hpriv->main_irq_mask; | ||
848 | new_mask = (old_mask & ~disable_bits) | enable_bits; | ||
849 | if (new_mask != old_mask) { | ||
850 | hpriv->main_irq_mask = new_mask; | ||
851 | writelfl(new_mask, hpriv->main_irq_mask_addr); | ||
852 | } | ||
853 | } | ||
854 | |||
855 | static void mv_enable_port_irqs(struct ata_port *ap, | ||
856 | unsigned int port_bits) | ||
857 | { | ||
858 | unsigned int shift, hardport, port = ap->port_no; | ||
859 | u32 disable_bits, enable_bits; | ||
860 | |||
861 | MV_PORT_TO_SHIFT_AND_HARDPORT(port, shift, hardport); | ||
862 | |||
863 | disable_bits = (DONE_IRQ | ERR_IRQ) << shift; | ||
864 | enable_bits = port_bits << shift; | ||
865 | mv_set_main_irq_mask(ap->host, disable_bits, enable_bits); | ||
866 | } | ||
867 | |||
847 | /** | 868 | /** |
848 | * mv_start_dma - Enable eDMA engine | 869 | * mv_start_dma - Enable eDMA engine |
849 | * @base: port base address | 870 | * @base: port base address |
@@ -886,9 +907,11 @@ static void mv_start_dma(struct ata_port *ap, void __iomem *port_mmio, | |||
886 | mv_edma_cfg(ap, want_ncq); | 907 | mv_edma_cfg(ap, want_ncq); |
887 | 908 | ||
888 | /* clear FIS IRQ Cause */ | 909 | /* clear FIS IRQ Cause */ |
889 | writelfl(0, port_mmio + SATA_FIS_IRQ_CAUSE_OFS); | 910 | if (IS_GEN_IIE(hpriv)) |
911 | writelfl(0, port_mmio + SATA_FIS_IRQ_CAUSE_OFS); | ||
890 | 912 | ||
891 | mv_set_edma_ptrs(port_mmio, hpriv, pp); | 913 | mv_set_edma_ptrs(port_mmio, hpriv, pp); |
914 | mv_enable_port_irqs(ap, DONE_IRQ|ERR_IRQ); | ||
892 | 915 | ||
893 | writelfl(EDMA_EN, port_mmio + EDMA_CMD_OFS); | 916 | writelfl(EDMA_EN, port_mmio + EDMA_CMD_OFS); |
894 | pp->pp_flags |= MV_PP_FLAG_EDMA_EN; | 917 | pp->pp_flags |= MV_PP_FLAG_EDMA_EN; |
@@ -1341,6 +1364,7 @@ out_port_free_dma_mem: | |||
1341 | static void mv_port_stop(struct ata_port *ap) | 1364 | static void mv_port_stop(struct ata_port *ap) |
1342 | { | 1365 | { |
1343 | mv_stop_edma(ap); | 1366 | mv_stop_edma(ap); |
1367 | mv_enable_port_irqs(ap, 0); | ||
1344 | mv_port_free_dma_mem(ap); | 1368 | mv_port_free_dma_mem(ap); |
1345 | } | 1369 | } |
1346 | 1370 | ||
@@ -1582,6 +1606,7 @@ static unsigned int mv_qc_issue(struct ata_queued_cmd *qc) | |||
1582 | * shadow block, etc registers. | 1606 | * shadow block, etc registers. |
1583 | */ | 1607 | */ |
1584 | mv_stop_edma(ap); | 1608 | mv_stop_edma(ap); |
1609 | mv_enable_port_irqs(ap, ERR_IRQ); | ||
1585 | mv_pmp_select(ap, qc->dev->link->pmp); | 1610 | mv_pmp_select(ap, qc->dev->link->pmp); |
1586 | return ata_sff_qc_issue(qc); | 1611 | return ata_sff_qc_issue(qc); |
1587 | } | 1612 | } |
@@ -1670,6 +1695,18 @@ static void mv_pmp_eh_prep(struct ata_port *ap, unsigned int pmp_map) | |||
1670 | } | 1695 | } |
1671 | } | 1696 | } |
1672 | 1697 | ||
1698 | static int mv_req_q_empty(struct ata_port *ap) | ||
1699 | { | ||
1700 | void __iomem *port_mmio = mv_ap_base(ap); | ||
1701 | u32 in_ptr, out_ptr; | ||
1702 | |||
1703 | in_ptr = (readl(port_mmio + EDMA_REQ_Q_IN_PTR_OFS) | ||
1704 | >> EDMA_REQ_Q_PTR_SHIFT) & MV_MAX_Q_DEPTH_MASK; | ||
1705 | out_ptr = (readl(port_mmio + EDMA_REQ_Q_OUT_PTR_OFS) | ||
1706 | >> EDMA_REQ_Q_PTR_SHIFT) & MV_MAX_Q_DEPTH_MASK; | ||
1707 | return (in_ptr == out_ptr); /* 1 == queue_is_empty */ | ||
1708 | } | ||
1709 | |||
1673 | static int mv_handle_fbs_ncq_dev_err(struct ata_port *ap) | 1710 | static int mv_handle_fbs_ncq_dev_err(struct ata_port *ap) |
1674 | { | 1711 | { |
1675 | struct mv_port_priv *pp = ap->private_data; | 1712 | struct mv_port_priv *pp = ap->private_data; |
@@ -1703,7 +1740,7 @@ static int mv_handle_fbs_ncq_dev_err(struct ata_port *ap) | |||
1703 | ap->qc_active, failed_links, | 1740 | ap->qc_active, failed_links, |
1704 | ap->nr_active_links); | 1741 | ap->nr_active_links); |
1705 | 1742 | ||
1706 | if (ap->nr_active_links <= failed_links) { | 1743 | if (ap->nr_active_links <= failed_links && mv_req_q_empty(ap)) { |
1707 | mv_process_crpb_entries(ap, pp); | 1744 | mv_process_crpb_entries(ap, pp); |
1708 | mv_stop_edma(ap); | 1745 | mv_stop_edma(ap); |
1709 | mv_eh_freeze(ap); | 1746 | mv_eh_freeze(ap); |
@@ -1812,6 +1849,7 @@ static void mv_err_intr(struct ata_port *ap) | |||
1812 | { | 1849 | { |
1813 | void __iomem *port_mmio = mv_ap_base(ap); | 1850 | void __iomem *port_mmio = mv_ap_base(ap); |
1814 | u32 edma_err_cause, eh_freeze_mask, serr = 0; | 1851 | u32 edma_err_cause, eh_freeze_mask, serr = 0; |
1852 | u32 fis_cause = 0; | ||
1815 | struct mv_port_priv *pp = ap->private_data; | 1853 | struct mv_port_priv *pp = ap->private_data; |
1816 | struct mv_host_priv *hpriv = ap->host->private_data; | 1854 | struct mv_host_priv *hpriv = ap->host->private_data; |
1817 | unsigned int action = 0, err_mask = 0; | 1855 | unsigned int action = 0, err_mask = 0; |
@@ -1821,16 +1859,19 @@ static void mv_err_intr(struct ata_port *ap) | |||
1821 | 1859 | ||
1822 | /* | 1860 | /* |
1823 | * Read and clear the SError and err_cause bits. | 1861 | * Read and clear the SError and err_cause bits. |
1862 | * For GenIIe, if EDMA_ERR_TRANS_IRQ_7 is set, we also must read/clear | ||
1863 | * the FIS_IRQ_CAUSE register before clearing edma_err_cause. | ||
1824 | */ | 1864 | */ |
1825 | sata_scr_read(&ap->link, SCR_ERROR, &serr); | 1865 | sata_scr_read(&ap->link, SCR_ERROR, &serr); |
1826 | sata_scr_write_flush(&ap->link, SCR_ERROR, serr); | 1866 | sata_scr_write_flush(&ap->link, SCR_ERROR, serr); |
1827 | 1867 | ||
1828 | edma_err_cause = readl(port_mmio + EDMA_ERR_IRQ_CAUSE_OFS); | 1868 | edma_err_cause = readl(port_mmio + EDMA_ERR_IRQ_CAUSE_OFS); |
1869 | if (IS_GEN_IIE(hpriv) && (edma_err_cause & EDMA_ERR_TRANS_IRQ_7)) { | ||
1870 | fis_cause = readl(port_mmio + SATA_FIS_IRQ_CAUSE_OFS); | ||
1871 | writelfl(~fis_cause, port_mmio + SATA_FIS_IRQ_CAUSE_OFS); | ||
1872 | } | ||
1829 | writelfl(~edma_err_cause, port_mmio + EDMA_ERR_IRQ_CAUSE_OFS); | 1873 | writelfl(~edma_err_cause, port_mmio + EDMA_ERR_IRQ_CAUSE_OFS); |
1830 | 1874 | ||
1831 | ata_port_printk(ap, KERN_INFO, "%s: err_cause=%08x pp_flags=0x%x\n", | ||
1832 | __func__, edma_err_cause, pp->pp_flags); | ||
1833 | |||
1834 | if (edma_err_cause & EDMA_ERR_DEV) { | 1875 | if (edma_err_cause & EDMA_ERR_DEV) { |
1835 | /* | 1876 | /* |
1836 | * Device errors during FIS-based switching operation | 1877 | * Device errors during FIS-based switching operation |
@@ -1844,6 +1885,18 @@ static void mv_err_intr(struct ata_port *ap) | |||
1844 | ata_ehi_clear_desc(ehi); | 1885 | ata_ehi_clear_desc(ehi); |
1845 | ata_ehi_push_desc(ehi, "edma_err_cause=%08x pp_flags=%08x", | 1886 | ata_ehi_push_desc(ehi, "edma_err_cause=%08x pp_flags=%08x", |
1846 | edma_err_cause, pp->pp_flags); | 1887 | edma_err_cause, pp->pp_flags); |
1888 | |||
1889 | if (IS_GEN_IIE(hpriv) && (edma_err_cause & EDMA_ERR_TRANS_IRQ_7)) { | ||
1890 | ata_ehi_push_desc(ehi, "fis_cause=%08x", fis_cause); | ||
1891 | if (fis_cause & SATA_FIS_IRQ_AN) { | ||
1892 | u32 ec = edma_err_cause & | ||
1893 | ~(EDMA_ERR_TRANS_IRQ_7 | EDMA_ERR_IRQ_TRANSIENT); | ||
1894 | sata_async_notification(ap); | ||
1895 | if (!ec) | ||
1896 | return; /* Just an AN; no need for the nukes */ | ||
1897 | ata_ehi_push_desc(ehi, "SDB notify"); | ||
1898 | } | ||
1899 | } | ||
1847 | /* | 1900 | /* |
1848 | * All generations share these EDMA error cause bits: | 1901 | * All generations share these EDMA error cause bits: |
1849 | */ | 1902 | */ |
@@ -2162,20 +2215,20 @@ static irqreturn_t mv_interrupt(int irq, void *dev_instance) | |||
2162 | struct ata_host *host = dev_instance; | 2215 | struct ata_host *host = dev_instance; |
2163 | struct mv_host_priv *hpriv = host->private_data; | 2216 | struct mv_host_priv *hpriv = host->private_data; |
2164 | unsigned int handled = 0; | 2217 | unsigned int handled = 0; |
2165 | u32 main_irq_cause, main_irq_mask; | 2218 | u32 main_irq_cause, pending_irqs; |
2166 | 2219 | ||
2167 | spin_lock(&host->lock); | 2220 | spin_lock(&host->lock); |
2168 | main_irq_cause = readl(hpriv->main_irq_cause_addr); | 2221 | main_irq_cause = readl(hpriv->main_irq_cause_addr); |
2169 | main_irq_mask = readl(hpriv->main_irq_mask_addr); | 2222 | pending_irqs = main_irq_cause & hpriv->main_irq_mask; |
2170 | /* | 2223 | /* |
2171 | * Deal with cases where we either have nothing pending, or have read | 2224 | * Deal with cases where we either have nothing pending, or have read |
2172 | * a bogus register value which can indicate HW removal or PCI fault. | 2225 | * a bogus register value which can indicate HW removal or PCI fault. |
2173 | */ | 2226 | */ |
2174 | if ((main_irq_cause & main_irq_mask) && (main_irq_cause != 0xffffffffU)) { | 2227 | if (pending_irqs && main_irq_cause != 0xffffffffU) { |
2175 | if (unlikely((main_irq_cause & PCI_ERR) && HAS_PCI(host))) | 2228 | if (unlikely((pending_irqs & PCI_ERR) && HAS_PCI(host))) |
2176 | handled = mv_pci_error(host, hpriv->base); | 2229 | handled = mv_pci_error(host, hpriv->base); |
2177 | else | 2230 | else |
2178 | handled = mv_host_intr(host, main_irq_cause); | 2231 | handled = mv_host_intr(host, pending_irqs); |
2179 | } | 2232 | } |
2180 | spin_unlock(&host->lock); | 2233 | spin_unlock(&host->lock); |
2181 | return IRQ_RETVAL(handled); | 2234 | return IRQ_RETVAL(handled); |
@@ -2373,7 +2426,6 @@ static void mv_reset_pci_bus(struct ata_host *host, void __iomem *mmio) | |||
2373 | ZERO(MV_PCI_DISC_TIMER); | 2426 | ZERO(MV_PCI_DISC_TIMER); |
2374 | ZERO(MV_PCI_MSI_TRIGGER); | 2427 | ZERO(MV_PCI_MSI_TRIGGER); |
2375 | writel(0x000100ff, mmio + MV_PCI_XBAR_TMOUT_OFS); | 2428 | writel(0x000100ff, mmio + MV_PCI_XBAR_TMOUT_OFS); |
2376 | ZERO(PCI_HC_MAIN_IRQ_MASK_OFS); | ||
2377 | ZERO(MV_PCI_SERR_MASK); | 2429 | ZERO(MV_PCI_SERR_MASK); |
2378 | ZERO(hpriv->irq_cause_ofs); | 2430 | ZERO(hpriv->irq_cause_ofs); |
2379 | ZERO(hpriv->irq_mask_ofs); | 2431 | ZERO(hpriv->irq_mask_ofs); |
@@ -2728,6 +2780,7 @@ static int mv_hardreset(struct ata_link *link, unsigned int *class, | |||
2728 | 2780 | ||
2729 | rc = sata_link_hardreset(link, timing, deadline + extra, | 2781 | rc = sata_link_hardreset(link, timing, deadline + extra, |
2730 | &online, NULL); | 2782 | &online, NULL); |
2783 | rc = online ? -EAGAIN : rc; | ||
2731 | if (rc) | 2784 | if (rc) |
2732 | return rc; | 2785 | return rc; |
2733 | sata_scr_read(link, SCR_STATUS, &sstatus); | 2786 | sata_scr_read(link, SCR_STATUS, &sstatus); |
@@ -2744,32 +2797,18 @@ static int mv_hardreset(struct ata_link *link, unsigned int *class, | |||
2744 | 2797 | ||
2745 | static void mv_eh_freeze(struct ata_port *ap) | 2798 | static void mv_eh_freeze(struct ata_port *ap) |
2746 | { | 2799 | { |
2747 | struct mv_host_priv *hpriv = ap->host->private_data; | ||
2748 | unsigned int shift, hardport, port = ap->port_no; | ||
2749 | u32 main_irq_mask; | ||
2750 | |||
2751 | /* FIXME: handle coalescing completion events properly */ | ||
2752 | |||
2753 | mv_stop_edma(ap); | 2800 | mv_stop_edma(ap); |
2754 | MV_PORT_TO_SHIFT_AND_HARDPORT(port, shift, hardport); | 2801 | mv_enable_port_irqs(ap, 0); |
2755 | |||
2756 | /* disable assertion of portN err, done events */ | ||
2757 | main_irq_mask = readl(hpriv->main_irq_mask_addr); | ||
2758 | main_irq_mask &= ~((DONE_IRQ | ERR_IRQ) << shift); | ||
2759 | writelfl(main_irq_mask, hpriv->main_irq_mask_addr); | ||
2760 | } | 2802 | } |
2761 | 2803 | ||
2762 | static void mv_eh_thaw(struct ata_port *ap) | 2804 | static void mv_eh_thaw(struct ata_port *ap) |
2763 | { | 2805 | { |
2764 | struct mv_host_priv *hpriv = ap->host->private_data; | 2806 | struct mv_host_priv *hpriv = ap->host->private_data; |
2765 | unsigned int shift, hardport, port = ap->port_no; | 2807 | unsigned int port = ap->port_no; |
2808 | unsigned int hardport = mv_hardport_from_port(port); | ||
2766 | void __iomem *hc_mmio = mv_hc_base_from_port(hpriv->base, port); | 2809 | void __iomem *hc_mmio = mv_hc_base_from_port(hpriv->base, port); |
2767 | void __iomem *port_mmio = mv_ap_base(ap); | 2810 | void __iomem *port_mmio = mv_ap_base(ap); |
2768 | u32 main_irq_mask, hc_irq_cause; | 2811 | u32 hc_irq_cause; |
2769 | |||
2770 | /* FIXME: handle coalescing completion events properly */ | ||
2771 | |||
2772 | MV_PORT_TO_SHIFT_AND_HARDPORT(port, shift, hardport); | ||
2773 | 2812 | ||
2774 | /* clear EDMA errors on this port */ | 2813 | /* clear EDMA errors on this port */ |
2775 | writel(0, port_mmio + EDMA_ERR_IRQ_CAUSE_OFS); | 2814 | writel(0, port_mmio + EDMA_ERR_IRQ_CAUSE_OFS); |
@@ -2779,10 +2818,7 @@ static void mv_eh_thaw(struct ata_port *ap) | |||
2779 | hc_irq_cause &= ~((DEV_IRQ | DMA_IRQ) << hardport); | 2818 | hc_irq_cause &= ~((DEV_IRQ | DMA_IRQ) << hardport); |
2780 | writelfl(hc_irq_cause, hc_mmio + HC_IRQ_CAUSE_OFS); | 2819 | writelfl(hc_irq_cause, hc_mmio + HC_IRQ_CAUSE_OFS); |
2781 | 2820 | ||
2782 | /* enable assertion of portN err, done events */ | 2821 | mv_enable_port_irqs(ap, ERR_IRQ); |
2783 | main_irq_mask = readl(hpriv->main_irq_mask_addr); | ||
2784 | main_irq_mask |= ((DONE_IRQ | ERR_IRQ) << shift); | ||
2785 | writelfl(main_irq_mask, hpriv->main_irq_mask_addr); | ||
2786 | } | 2822 | } |
2787 | 2823 | ||
2788 | /** | 2824 | /** |
@@ -3035,7 +3071,7 @@ static int mv_init_host(struct ata_host *host, unsigned int board_idx) | |||
3035 | } | 3071 | } |
3036 | 3072 | ||
3037 | /* global interrupt mask: 0 == mask everything */ | 3073 | /* global interrupt mask: 0 == mask everything */ |
3038 | writel(0, hpriv->main_irq_mask_addr); | 3074 | mv_set_main_irq_mask(host, ~0, 0); |
3039 | 3075 | ||
3040 | n_hc = mv_get_hc_count(host->ports[0]->flags); | 3076 | n_hc = mv_get_hc_count(host->ports[0]->flags); |
3041 | 3077 | ||
@@ -3083,25 +3119,12 @@ static int mv_init_host(struct ata_host *host, unsigned int board_idx) | |||
3083 | 3119 | ||
3084 | /* and unmask interrupt generation for host regs */ | 3120 | /* and unmask interrupt generation for host regs */ |
3085 | writelfl(hpriv->unmask_all_irqs, mmio + hpriv->irq_mask_ofs); | 3121 | writelfl(hpriv->unmask_all_irqs, mmio + hpriv->irq_mask_ofs); |
3086 | if (IS_GEN_I(hpriv)) | 3122 | |
3087 | writelfl(~HC_MAIN_MASKED_IRQS_5, | 3123 | /* |
3088 | hpriv->main_irq_mask_addr); | 3124 | * enable only global host interrupts for now. |
3089 | else | 3125 | * The per-port interrupts get done later as ports are set up. |
3090 | writelfl(~HC_MAIN_MASKED_IRQS, | 3126 | */ |
3091 | hpriv->main_irq_mask_addr); | 3127 | mv_set_main_irq_mask(host, 0, PCI_ERR); |
3092 | |||
3093 | VPRINTK("HC MAIN IRQ cause/mask=0x%08x/0x%08x " | ||
3094 | "PCI int cause/mask=0x%08x/0x%08x\n", | ||
3095 | readl(hpriv->main_irq_cause_addr), | ||
3096 | readl(hpriv->main_irq_mask_addr), | ||
3097 | readl(mmio + hpriv->irq_cause_ofs), | ||
3098 | readl(mmio + hpriv->irq_mask_ofs)); | ||
3099 | } else { | ||
3100 | writelfl(~HC_MAIN_MASKED_IRQS_SOC, | ||
3101 | hpriv->main_irq_mask_addr); | ||
3102 | VPRINTK("HC MAIN IRQ cause/mask=0x%08x/0x%08x\n", | ||
3103 | readl(hpriv->main_irq_cause_addr), | ||
3104 | readl(hpriv->main_irq_mask_addr)); | ||
3105 | } | 3128 | } |
3106 | done: | 3129 | done: |
3107 | return rc; | 3130 | return rc; |
diff --git a/drivers/ata/sata_promise.c b/drivers/ata/sata_promise.c index 5a10dc5048ad..030665ba76b7 100644 --- a/drivers/ata/sata_promise.c +++ b/drivers/ata/sata_promise.c | |||
@@ -53,7 +53,15 @@ enum { | |||
53 | PDC_MMIO_BAR = 3, | 53 | PDC_MMIO_BAR = 3, |
54 | PDC_MAX_PRD = LIBATA_MAX_PRD - 1, /* -1 for ASIC PRD bug workaround */ | 54 | PDC_MAX_PRD = LIBATA_MAX_PRD - 1, /* -1 for ASIC PRD bug workaround */ |
55 | 55 | ||
56 | /* register offsets */ | 56 | /* host register offsets (from host->iomap[PDC_MMIO_BAR]) */ |
57 | PDC_INT_SEQMASK = 0x40, /* Mask of asserted SEQ INTs */ | ||
58 | PDC_FLASH_CTL = 0x44, /* Flash control register */ | ||
59 | PDC_SATA_PLUG_CSR = 0x6C, /* SATA Plug control/status reg */ | ||
60 | PDC2_SATA_PLUG_CSR = 0x60, /* SATAII Plug control/status reg */ | ||
61 | PDC_TBG_MODE = 0x41C, /* TBG mode (not SATAII) */ | ||
62 | PDC_SLEW_CTL = 0x470, /* slew rate control reg (not SATAII) */ | ||
63 | |||
64 | /* per-port ATA register offsets (from ap->ioaddr.cmd_addr) */ | ||
57 | PDC_FEATURE = 0x04, /* Feature/Error reg (per port) */ | 65 | PDC_FEATURE = 0x04, /* Feature/Error reg (per port) */ |
58 | PDC_SECTOR_COUNT = 0x08, /* Sector count reg (per port) */ | 66 | PDC_SECTOR_COUNT = 0x08, /* Sector count reg (per port) */ |
59 | PDC_SECTOR_NUMBER = 0x0C, /* Sector number reg (per port) */ | 67 | PDC_SECTOR_NUMBER = 0x0C, /* Sector number reg (per port) */ |
@@ -63,14 +71,11 @@ enum { | |||
63 | PDC_COMMAND = 0x1C, /* Command/status reg (per port) */ | 71 | PDC_COMMAND = 0x1C, /* Command/status reg (per port) */ |
64 | PDC_ALTSTATUS = 0x38, /* Alternate-status/device-control reg (per port) */ | 72 | PDC_ALTSTATUS = 0x38, /* Alternate-status/device-control reg (per port) */ |
65 | PDC_PKT_SUBMIT = 0x40, /* Command packet pointer addr */ | 73 | PDC_PKT_SUBMIT = 0x40, /* Command packet pointer addr */ |
66 | PDC_INT_SEQMASK = 0x40, /* Mask of asserted SEQ INTs */ | ||
67 | PDC_FLASH_CTL = 0x44, /* Flash control register */ | ||
68 | PDC_GLOBAL_CTL = 0x48, /* Global control/status (per port) */ | 74 | PDC_GLOBAL_CTL = 0x48, /* Global control/status (per port) */ |
69 | PDC_CTLSTAT = 0x60, /* IDE control and status (per port) */ | 75 | PDC_CTLSTAT = 0x60, /* IDE control and status (per port) */ |
70 | PDC_SATA_PLUG_CSR = 0x6C, /* SATA Plug control/status reg */ | 76 | |
71 | PDC2_SATA_PLUG_CSR = 0x60, /* SATAII Plug control/status reg */ | 77 | /* per-port SATA register offsets (from ap->ioaddr.scr_addr) */ |
72 | PDC_TBG_MODE = 0x41C, /* TBG mode (not SATAII) */ | 78 | PDC_PHYMODE4 = 0x14, |
73 | PDC_SLEW_CTL = 0x470, /* slew rate control reg (not SATAII) */ | ||
74 | 79 | ||
75 | /* PDC_GLOBAL_CTL bit definitions */ | 80 | /* PDC_GLOBAL_CTL bit definitions */ |
76 | PDC_PH_ERR = (1 << 8), /* PCI error while loading packet */ | 81 | PDC_PH_ERR = (1 << 8), /* PCI error while loading packet */ |
@@ -134,7 +139,7 @@ struct pdc_port_priv { | |||
134 | 139 | ||
135 | static int pdc_sata_scr_read(struct ata_port *ap, unsigned int sc_reg, u32 *val); | 140 | static int pdc_sata_scr_read(struct ata_port *ap, unsigned int sc_reg, u32 *val); |
136 | static int pdc_sata_scr_write(struct ata_port *ap, unsigned int sc_reg, u32 val); | 141 | static int pdc_sata_scr_write(struct ata_port *ap, unsigned int sc_reg, u32 val); |
137 | static int pdc_ata_init_one (struct pci_dev *pdev, const struct pci_device_id *ent); | 142 | static int pdc_ata_init_one(struct pci_dev *pdev, const struct pci_device_id *ent); |
138 | static int pdc_common_port_start(struct ata_port *ap); | 143 | static int pdc_common_port_start(struct ata_port *ap); |
139 | static int pdc_sata_port_start(struct ata_port *ap); | 144 | static int pdc_sata_port_start(struct ata_port *ap); |
140 | static void pdc_qc_prep(struct ata_queued_cmd *qc); | 145 | static void pdc_qc_prep(struct ata_queued_cmd *qc); |
@@ -332,12 +337,12 @@ static int pdc_sata_port_start(struct ata_port *ap) | |||
332 | 337 | ||
333 | /* fix up PHYMODE4 align timing */ | 338 | /* fix up PHYMODE4 align timing */ |
334 | if (ap->flags & PDC_FLAG_GEN_II) { | 339 | if (ap->flags & PDC_FLAG_GEN_II) { |
335 | void __iomem *mmio = ap->ioaddr.scr_addr; | 340 | void __iomem *sata_mmio = ap->ioaddr.scr_addr; |
336 | unsigned int tmp; | 341 | unsigned int tmp; |
337 | 342 | ||
338 | tmp = readl(mmio + 0x014); | 343 | tmp = readl(sata_mmio + PDC_PHYMODE4); |
339 | tmp = (tmp & ~3) | 1; /* set bits 1:0 = 0:1 */ | 344 | tmp = (tmp & ~3) | 1; /* set bits 1:0 = 0:1 */ |
340 | writel(tmp, mmio + 0x014); | 345 | writel(tmp, sata_mmio + PDC_PHYMODE4); |
341 | } | 346 | } |
342 | 347 | ||
343 | return 0; | 348 | return 0; |
@@ -345,32 +350,32 @@ static int pdc_sata_port_start(struct ata_port *ap) | |||
345 | 350 | ||
346 | static void pdc_reset_port(struct ata_port *ap) | 351 | static void pdc_reset_port(struct ata_port *ap) |
347 | { | 352 | { |
348 | void __iomem *mmio = ap->ioaddr.cmd_addr + PDC_CTLSTAT; | 353 | void __iomem *ata_ctlstat_mmio = ap->ioaddr.cmd_addr + PDC_CTLSTAT; |
349 | unsigned int i; | 354 | unsigned int i; |
350 | u32 tmp; | 355 | u32 tmp; |
351 | 356 | ||
352 | for (i = 11; i > 0; i--) { | 357 | for (i = 11; i > 0; i--) { |
353 | tmp = readl(mmio); | 358 | tmp = readl(ata_ctlstat_mmio); |
354 | if (tmp & PDC_RESET) | 359 | if (tmp & PDC_RESET) |
355 | break; | 360 | break; |
356 | 361 | ||
357 | udelay(100); | 362 | udelay(100); |
358 | 363 | ||
359 | tmp |= PDC_RESET; | 364 | tmp |= PDC_RESET; |
360 | writel(tmp, mmio); | 365 | writel(tmp, ata_ctlstat_mmio); |
361 | } | 366 | } |
362 | 367 | ||
363 | tmp &= ~PDC_RESET; | 368 | tmp &= ~PDC_RESET; |
364 | writel(tmp, mmio); | 369 | writel(tmp, ata_ctlstat_mmio); |
365 | readl(mmio); /* flush */ | 370 | readl(ata_ctlstat_mmio); /* flush */ |
366 | } | 371 | } |
367 | 372 | ||
368 | static int pdc_pata_cable_detect(struct ata_port *ap) | 373 | static int pdc_pata_cable_detect(struct ata_port *ap) |
369 | { | 374 | { |
370 | u8 tmp; | 375 | u8 tmp; |
371 | void __iomem *mmio = ap->ioaddr.cmd_addr + PDC_CTLSTAT + 0x03; | 376 | void __iomem *ata_mmio = ap->ioaddr.cmd_addr; |
372 | 377 | ||
373 | tmp = readb(mmio); | 378 | tmp = readb(ata_mmio + PDC_CTLSTAT + 3); |
374 | if (tmp & 0x01) | 379 | if (tmp & 0x01) |
375 | return ATA_CBL_PATA40; | 380 | return ATA_CBL_PATA40; |
376 | return ATA_CBL_PATA80; | 381 | return ATA_CBL_PATA80; |
@@ -557,31 +562,25 @@ static void pdc_qc_prep(struct ata_queued_cmd *qc) | |||
557 | switch (qc->tf.protocol) { | 562 | switch (qc->tf.protocol) { |
558 | case ATA_PROT_DMA: | 563 | case ATA_PROT_DMA: |
559 | pdc_fill_sg(qc); | 564 | pdc_fill_sg(qc); |
560 | /* fall through */ | 565 | /*FALLTHROUGH*/ |
561 | |||
562 | case ATA_PROT_NODATA: | 566 | case ATA_PROT_NODATA: |
563 | i = pdc_pkt_header(&qc->tf, qc->ap->prd_dma, | 567 | i = pdc_pkt_header(&qc->tf, qc->ap->prd_dma, |
564 | qc->dev->devno, pp->pkt); | 568 | qc->dev->devno, pp->pkt); |
565 | |||
566 | if (qc->tf.flags & ATA_TFLAG_LBA48) | 569 | if (qc->tf.flags & ATA_TFLAG_LBA48) |
567 | i = pdc_prep_lba48(&qc->tf, pp->pkt, i); | 570 | i = pdc_prep_lba48(&qc->tf, pp->pkt, i); |
568 | else | 571 | else |
569 | i = pdc_prep_lba28(&qc->tf, pp->pkt, i); | 572 | i = pdc_prep_lba28(&qc->tf, pp->pkt, i); |
570 | |||
571 | pdc_pkt_footer(&qc->tf, pp->pkt, i); | 573 | pdc_pkt_footer(&qc->tf, pp->pkt, i); |
572 | break; | 574 | break; |
573 | |||
574 | case ATAPI_PROT_PIO: | 575 | case ATAPI_PROT_PIO: |
575 | pdc_fill_sg(qc); | 576 | pdc_fill_sg(qc); |
576 | break; | 577 | break; |
577 | |||
578 | case ATAPI_PROT_DMA: | 578 | case ATAPI_PROT_DMA: |
579 | pdc_fill_sg(qc); | 579 | pdc_fill_sg(qc); |
580 | /*FALLTHROUGH*/ | 580 | /*FALLTHROUGH*/ |
581 | case ATAPI_PROT_NODATA: | 581 | case ATAPI_PROT_NODATA: |
582 | pdc_atapi_pkt(qc); | 582 | pdc_atapi_pkt(qc); |
583 | break; | 583 | break; |
584 | |||
585 | default: | 584 | default: |
586 | break; | 585 | break; |
587 | } | 586 | } |
@@ -611,7 +610,7 @@ static unsigned int pdc_sata_ata_port_to_ata_no(const struct ata_port *ap) | |||
611 | unsigned int nr_ports = pdc_sata_nr_ports(ap); | 610 | unsigned int nr_ports = pdc_sata_nr_ports(ap); |
612 | unsigned int i; | 611 | unsigned int i; |
613 | 612 | ||
614 | for(i = 0; i < nr_ports && host->ports[i] != ap; ++i) | 613 | for (i = 0; i < nr_ports && host->ports[i] != ap; ++i) |
615 | ; | 614 | ; |
616 | BUG_ON(i >= nr_ports); | 615 | BUG_ON(i >= nr_ports); |
617 | return pdc_port_no_to_ata_no(i, pdc_is_sataii_tx4(ap->flags)); | 616 | return pdc_port_no_to_ata_no(i, pdc_is_sataii_tx4(ap->flags)); |
@@ -624,14 +623,14 @@ static unsigned int pdc_sata_hotplug_offset(const struct ata_port *ap) | |||
624 | 623 | ||
625 | static void pdc_freeze(struct ata_port *ap) | 624 | static void pdc_freeze(struct ata_port *ap) |
626 | { | 625 | { |
627 | void __iomem *mmio = ap->ioaddr.cmd_addr; | 626 | void __iomem *ata_mmio = ap->ioaddr.cmd_addr; |
628 | u32 tmp; | 627 | u32 tmp; |
629 | 628 | ||
630 | tmp = readl(mmio + PDC_CTLSTAT); | 629 | tmp = readl(ata_mmio + PDC_CTLSTAT); |
631 | tmp |= PDC_IRQ_DISABLE; | 630 | tmp |= PDC_IRQ_DISABLE; |
632 | tmp &= ~PDC_DMA_ENABLE; | 631 | tmp &= ~PDC_DMA_ENABLE; |
633 | writel(tmp, mmio + PDC_CTLSTAT); | 632 | writel(tmp, ata_mmio + PDC_CTLSTAT); |
634 | readl(mmio + PDC_CTLSTAT); /* flush */ | 633 | readl(ata_mmio + PDC_CTLSTAT); /* flush */ |
635 | } | 634 | } |
636 | 635 | ||
637 | static void pdc_sata_freeze(struct ata_port *ap) | 636 | static void pdc_sata_freeze(struct ata_port *ap) |
@@ -659,17 +658,17 @@ static void pdc_sata_freeze(struct ata_port *ap) | |||
659 | 658 | ||
660 | static void pdc_thaw(struct ata_port *ap) | 659 | static void pdc_thaw(struct ata_port *ap) |
661 | { | 660 | { |
662 | void __iomem *mmio = ap->ioaddr.cmd_addr; | 661 | void __iomem *ata_mmio = ap->ioaddr.cmd_addr; |
663 | u32 tmp; | 662 | u32 tmp; |
664 | 663 | ||
665 | /* clear IRQ */ | 664 | /* clear IRQ */ |
666 | readl(mmio + PDC_INT_SEQMASK); | 665 | readl(ata_mmio + PDC_COMMAND); |
667 | 666 | ||
668 | /* turn IRQ back on */ | 667 | /* turn IRQ back on */ |
669 | tmp = readl(mmio + PDC_CTLSTAT); | 668 | tmp = readl(ata_mmio + PDC_CTLSTAT); |
670 | tmp &= ~PDC_IRQ_DISABLE; | 669 | tmp &= ~PDC_IRQ_DISABLE; |
671 | writel(tmp, mmio + PDC_CTLSTAT); | 670 | writel(tmp, ata_mmio + PDC_CTLSTAT); |
672 | readl(mmio + PDC_CTLSTAT); /* flush */ | 671 | readl(ata_mmio + PDC_CTLSTAT); /* flush */ |
673 | } | 672 | } |
674 | 673 | ||
675 | static void pdc_sata_thaw(struct ata_port *ap) | 674 | static void pdc_sata_thaw(struct ata_port *ap) |
@@ -743,11 +742,11 @@ static void pdc_error_intr(struct ata_port *ap, struct ata_queued_cmd *qc, | |||
743 | ata_port_abort(ap); | 742 | ata_port_abort(ap); |
744 | } | 743 | } |
745 | 744 | ||
746 | static inline unsigned int pdc_host_intr(struct ata_port *ap, | 745 | static unsigned int pdc_host_intr(struct ata_port *ap, |
747 | struct ata_queued_cmd *qc) | 746 | struct ata_queued_cmd *qc) |
748 | { | 747 | { |
749 | unsigned int handled = 0; | 748 | unsigned int handled = 0; |
750 | void __iomem *port_mmio = ap->ioaddr.cmd_addr; | 749 | void __iomem *ata_mmio = ap->ioaddr.cmd_addr; |
751 | u32 port_status, err_mask; | 750 | u32 port_status, err_mask; |
752 | 751 | ||
753 | err_mask = PDC_ERR_MASK; | 752 | err_mask = PDC_ERR_MASK; |
@@ -755,7 +754,7 @@ static inline unsigned int pdc_host_intr(struct ata_port *ap, | |||
755 | err_mask &= ~PDC1_ERR_MASK; | 754 | err_mask &= ~PDC1_ERR_MASK; |
756 | else | 755 | else |
757 | err_mask &= ~PDC2_ERR_MASK; | 756 | err_mask &= ~PDC2_ERR_MASK; |
758 | port_status = readl(port_mmio + PDC_GLOBAL_CTL); | 757 | port_status = readl(ata_mmio + PDC_GLOBAL_CTL); |
759 | if (unlikely(port_status & err_mask)) { | 758 | if (unlikely(port_status & err_mask)) { |
760 | pdc_error_intr(ap, qc, port_status, err_mask); | 759 | pdc_error_intr(ap, qc, port_status, err_mask); |
761 | return 1; | 760 | return 1; |
@@ -770,7 +769,6 @@ static inline unsigned int pdc_host_intr(struct ata_port *ap, | |||
770 | ata_qc_complete(qc); | 769 | ata_qc_complete(qc); |
771 | handled = 1; | 770 | handled = 1; |
772 | break; | 771 | break; |
773 | |||
774 | default: | 772 | default: |
775 | ap->stats.idle_irq++; | 773 | ap->stats.idle_irq++; |
776 | break; | 774 | break; |
@@ -781,10 +779,9 @@ static inline unsigned int pdc_host_intr(struct ata_port *ap, | |||
781 | 779 | ||
782 | static void pdc_irq_clear(struct ata_port *ap) | 780 | static void pdc_irq_clear(struct ata_port *ap) |
783 | { | 781 | { |
784 | struct ata_host *host = ap->host; | 782 | void __iomem *ata_mmio = ap->ioaddr.cmd_addr; |
785 | void __iomem *mmio = host->iomap[PDC_MMIO_BAR]; | ||
786 | 783 | ||
787 | readl(mmio + PDC_INT_SEQMASK); | 784 | readl(ata_mmio + PDC_COMMAND); |
788 | } | 785 | } |
789 | 786 | ||
790 | static irqreturn_t pdc_interrupt(int irq, void *dev_instance) | 787 | static irqreturn_t pdc_interrupt(int irq, void *dev_instance) |
@@ -794,7 +791,7 @@ static irqreturn_t pdc_interrupt(int irq, void *dev_instance) | |||
794 | u32 mask = 0; | 791 | u32 mask = 0; |
795 | unsigned int i, tmp; | 792 | unsigned int i, tmp; |
796 | unsigned int handled = 0; | 793 | unsigned int handled = 0; |
797 | void __iomem *mmio_base; | 794 | void __iomem *host_mmio; |
798 | unsigned int hotplug_offset, ata_no; | 795 | unsigned int hotplug_offset, ata_no; |
799 | u32 hotplug_status; | 796 | u32 hotplug_status; |
800 | int is_sataii_tx4; | 797 | int is_sataii_tx4; |
@@ -806,7 +803,7 @@ static irqreturn_t pdc_interrupt(int irq, void *dev_instance) | |||
806 | return IRQ_NONE; | 803 | return IRQ_NONE; |
807 | } | 804 | } |
808 | 805 | ||
809 | mmio_base = host->iomap[PDC_MMIO_BAR]; | 806 | host_mmio = host->iomap[PDC_MMIO_BAR]; |
810 | 807 | ||
811 | spin_lock(&host->lock); | 808 | spin_lock(&host->lock); |
812 | 809 | ||
@@ -815,26 +812,26 @@ static irqreturn_t pdc_interrupt(int irq, void *dev_instance) | |||
815 | hotplug_offset = PDC2_SATA_PLUG_CSR; | 812 | hotplug_offset = PDC2_SATA_PLUG_CSR; |
816 | else | 813 | else |
817 | hotplug_offset = PDC_SATA_PLUG_CSR; | 814 | hotplug_offset = PDC_SATA_PLUG_CSR; |
818 | hotplug_status = readl(mmio_base + hotplug_offset); | 815 | hotplug_status = readl(host_mmio + hotplug_offset); |
819 | if (hotplug_status & 0xff) | 816 | if (hotplug_status & 0xff) |
820 | writel(hotplug_status | 0xff, mmio_base + hotplug_offset); | 817 | writel(hotplug_status | 0xff, host_mmio + hotplug_offset); |
821 | hotplug_status &= 0xff; /* clear uninteresting bits */ | 818 | hotplug_status &= 0xff; /* clear uninteresting bits */ |
822 | 819 | ||
823 | /* reading should also clear interrupts */ | 820 | /* reading should also clear interrupts */ |
824 | mask = readl(mmio_base + PDC_INT_SEQMASK); | 821 | mask = readl(host_mmio + PDC_INT_SEQMASK); |
825 | 822 | ||
826 | if (mask == 0xffffffff && hotplug_status == 0) { | 823 | if (mask == 0xffffffff && hotplug_status == 0) { |
827 | VPRINTK("QUICK EXIT 2\n"); | 824 | VPRINTK("QUICK EXIT 2\n"); |
828 | goto done_irq; | 825 | goto done_irq; |
829 | } | 826 | } |
830 | 827 | ||
831 | mask &= 0xffff; /* only 16 tags possible */ | 828 | mask &= 0xffff; /* only 16 SEQIDs possible */ |
832 | if (mask == 0 && hotplug_status == 0) { | 829 | if (mask == 0 && hotplug_status == 0) { |
833 | VPRINTK("QUICK EXIT 3\n"); | 830 | VPRINTK("QUICK EXIT 3\n"); |
834 | goto done_irq; | 831 | goto done_irq; |
835 | } | 832 | } |
836 | 833 | ||
837 | writel(mask, mmio_base + PDC_INT_SEQMASK); | 834 | writel(mask, host_mmio + PDC_INT_SEQMASK); |
838 | 835 | ||
839 | is_sataii_tx4 = pdc_is_sataii_tx4(host->ports[0]->flags); | 836 | is_sataii_tx4 = pdc_is_sataii_tx4(host->ports[0]->flags); |
840 | 837 | ||
@@ -875,23 +872,24 @@ done_irq: | |||
875 | return IRQ_RETVAL(handled); | 872 | return IRQ_RETVAL(handled); |
876 | } | 873 | } |
877 | 874 | ||
878 | static inline void pdc_packet_start(struct ata_queued_cmd *qc) | 875 | static void pdc_packet_start(struct ata_queued_cmd *qc) |
879 | { | 876 | { |
880 | struct ata_port *ap = qc->ap; | 877 | struct ata_port *ap = qc->ap; |
881 | struct pdc_port_priv *pp = ap->private_data; | 878 | struct pdc_port_priv *pp = ap->private_data; |
882 | void __iomem *mmio = ap->host->iomap[PDC_MMIO_BAR]; | 879 | void __iomem *host_mmio = ap->host->iomap[PDC_MMIO_BAR]; |
880 | void __iomem *ata_mmio = ap->ioaddr.cmd_addr; | ||
883 | unsigned int port_no = ap->port_no; | 881 | unsigned int port_no = ap->port_no; |
884 | u8 seq = (u8) (port_no + 1); | 882 | u8 seq = (u8) (port_no + 1); |
885 | 883 | ||
886 | VPRINTK("ENTER, ap %p\n", ap); | 884 | VPRINTK("ENTER, ap %p\n", ap); |
887 | 885 | ||
888 | writel(0x00000001, mmio + (seq * 4)); | 886 | writel(0x00000001, host_mmio + (seq * 4)); |
889 | readl(mmio + (seq * 4)); /* flush */ | 887 | readl(host_mmio + (seq * 4)); /* flush */ |
890 | 888 | ||
891 | pp->pkt[2] = seq; | 889 | pp->pkt[2] = seq; |
892 | wmb(); /* flush PRD, pkt writes */ | 890 | wmb(); /* flush PRD, pkt writes */ |
893 | writel(pp->pkt_dma, ap->ioaddr.cmd_addr + PDC_PKT_SUBMIT); | 891 | writel(pp->pkt_dma, ata_mmio + PDC_PKT_SUBMIT); |
894 | readl(ap->ioaddr.cmd_addr + PDC_PKT_SUBMIT); /* flush */ | 892 | readl(ata_mmio + PDC_PKT_SUBMIT); /* flush */ |
895 | } | 893 | } |
896 | 894 | ||
897 | static unsigned int pdc_qc_issue(struct ata_queued_cmd *qc) | 895 | static unsigned int pdc_qc_issue(struct ata_queued_cmd *qc) |
@@ -909,11 +907,9 @@ static unsigned int pdc_qc_issue(struct ata_queued_cmd *qc) | |||
909 | case ATA_PROT_DMA: | 907 | case ATA_PROT_DMA: |
910 | pdc_packet_start(qc); | 908 | pdc_packet_start(qc); |
911 | return 0; | 909 | return 0; |
912 | |||
913 | default: | 910 | default: |
914 | break; | 911 | break; |
915 | } | 912 | } |
916 | |||
917 | return ata_sff_qc_issue(qc); | 913 | return ata_sff_qc_issue(qc); |
918 | } | 914 | } |
919 | 915 | ||
@@ -987,7 +983,7 @@ static void pdc_ata_setup_port(struct ata_port *ap, | |||
987 | 983 | ||
988 | static void pdc_host_init(struct ata_host *host) | 984 | static void pdc_host_init(struct ata_host *host) |
989 | { | 985 | { |
990 | void __iomem *mmio = host->iomap[PDC_MMIO_BAR]; | 986 | void __iomem *host_mmio = host->iomap[PDC_MMIO_BAR]; |
991 | int is_gen2 = host->ports[0]->flags & PDC_FLAG_GEN_II; | 987 | int is_gen2 = host->ports[0]->flags & PDC_FLAG_GEN_II; |
992 | int hotplug_offset; | 988 | int hotplug_offset; |
993 | u32 tmp; | 989 | u32 tmp; |
@@ -1004,38 +1000,38 @@ static void pdc_host_init(struct ata_host *host) | |||
1004 | */ | 1000 | */ |
1005 | 1001 | ||
1006 | /* enable BMR_BURST, maybe change FIFO_SHD to 8 dwords */ | 1002 | /* enable BMR_BURST, maybe change FIFO_SHD to 8 dwords */ |
1007 | tmp = readl(mmio + PDC_FLASH_CTL); | 1003 | tmp = readl(host_mmio + PDC_FLASH_CTL); |
1008 | tmp |= 0x02000; /* bit 13 (enable bmr burst) */ | 1004 | tmp |= 0x02000; /* bit 13 (enable bmr burst) */ |
1009 | if (!is_gen2) | 1005 | if (!is_gen2) |
1010 | tmp |= 0x10000; /* bit 16 (fifo threshold at 8 dw) */ | 1006 | tmp |= 0x10000; /* bit 16 (fifo threshold at 8 dw) */ |
1011 | writel(tmp, mmio + PDC_FLASH_CTL); | 1007 | writel(tmp, host_mmio + PDC_FLASH_CTL); |
1012 | 1008 | ||
1013 | /* clear plug/unplug flags for all ports */ | 1009 | /* clear plug/unplug flags for all ports */ |
1014 | tmp = readl(mmio + hotplug_offset); | 1010 | tmp = readl(host_mmio + hotplug_offset); |
1015 | writel(tmp | 0xff, mmio + hotplug_offset); | 1011 | writel(tmp | 0xff, host_mmio + hotplug_offset); |
1016 | 1012 | ||
1017 | /* unmask plug/unplug ints */ | 1013 | /* unmask plug/unplug ints */ |
1018 | tmp = readl(mmio + hotplug_offset); | 1014 | tmp = readl(host_mmio + hotplug_offset); |
1019 | writel(tmp & ~0xff0000, mmio + hotplug_offset); | 1015 | writel(tmp & ~0xff0000, host_mmio + hotplug_offset); |
1020 | 1016 | ||
1021 | /* don't initialise TBG or SLEW on 2nd generation chips */ | 1017 | /* don't initialise TBG or SLEW on 2nd generation chips */ |
1022 | if (is_gen2) | 1018 | if (is_gen2) |
1023 | return; | 1019 | return; |
1024 | 1020 | ||
1025 | /* reduce TBG clock to 133 Mhz. */ | 1021 | /* reduce TBG clock to 133 Mhz. */ |
1026 | tmp = readl(mmio + PDC_TBG_MODE); | 1022 | tmp = readl(host_mmio + PDC_TBG_MODE); |
1027 | tmp &= ~0x30000; /* clear bit 17, 16*/ | 1023 | tmp &= ~0x30000; /* clear bit 17, 16*/ |
1028 | tmp |= 0x10000; /* set bit 17:16 = 0:1 */ | 1024 | tmp |= 0x10000; /* set bit 17:16 = 0:1 */ |
1029 | writel(tmp, mmio + PDC_TBG_MODE); | 1025 | writel(tmp, host_mmio + PDC_TBG_MODE); |
1030 | 1026 | ||
1031 | readl(mmio + PDC_TBG_MODE); /* flush */ | 1027 | readl(host_mmio + PDC_TBG_MODE); /* flush */ |
1032 | msleep(10); | 1028 | msleep(10); |
1033 | 1029 | ||
1034 | /* adjust slew rate control register. */ | 1030 | /* adjust slew rate control register. */ |
1035 | tmp = readl(mmio + PDC_SLEW_CTL); | 1031 | tmp = readl(host_mmio + PDC_SLEW_CTL); |
1036 | tmp &= 0xFFFFF03F; /* clear bit 11 ~ 6 */ | 1032 | tmp &= 0xFFFFF03F; /* clear bit 11 ~ 6 */ |
1037 | tmp |= 0x00000900; /* set bit 11-9 = 100b , bit 8-6 = 100 */ | 1033 | tmp |= 0x00000900; /* set bit 11-9 = 100b , bit 8-6 = 100 */ |
1038 | writel(tmp, mmio + PDC_SLEW_CTL); | 1034 | writel(tmp, host_mmio + PDC_SLEW_CTL); |
1039 | } | 1035 | } |
1040 | 1036 | ||
1041 | static int pdc_ata_init_one(struct pci_dev *pdev, | 1037 | static int pdc_ata_init_one(struct pci_dev *pdev, |
@@ -1045,7 +1041,7 @@ static int pdc_ata_init_one(struct pci_dev *pdev, | |||
1045 | const struct ata_port_info *pi = &pdc_port_info[ent->driver_data]; | 1041 | const struct ata_port_info *pi = &pdc_port_info[ent->driver_data]; |
1046 | const struct ata_port_info *ppi[PDC_MAX_PORTS]; | 1042 | const struct ata_port_info *ppi[PDC_MAX_PORTS]; |
1047 | struct ata_host *host; | 1043 | struct ata_host *host; |
1048 | void __iomem *base; | 1044 | void __iomem *host_mmio; |
1049 | int n_ports, i, rc; | 1045 | int n_ports, i, rc; |
1050 | int is_sataii_tx4; | 1046 | int is_sataii_tx4; |
1051 | 1047 | ||
@@ -1062,7 +1058,7 @@ static int pdc_ata_init_one(struct pci_dev *pdev, | |||
1062 | pcim_pin_device(pdev); | 1058 | pcim_pin_device(pdev); |
1063 | if (rc) | 1059 | if (rc) |
1064 | return rc; | 1060 | return rc; |
1065 | base = pcim_iomap_table(pdev)[PDC_MMIO_BAR]; | 1061 | host_mmio = pcim_iomap_table(pdev)[PDC_MMIO_BAR]; |
1066 | 1062 | ||
1067 | /* determine port configuration and setup host */ | 1063 | /* determine port configuration and setup host */ |
1068 | n_ports = 2; | 1064 | n_ports = 2; |
@@ -1072,7 +1068,7 @@ static int pdc_ata_init_one(struct pci_dev *pdev, | |||
1072 | ppi[i] = pi; | 1068 | ppi[i] = pi; |
1073 | 1069 | ||
1074 | if (pi->flags & PDC_FLAG_SATA_PATA) { | 1070 | if (pi->flags & PDC_FLAG_SATA_PATA) { |
1075 | u8 tmp = readb(base + PDC_FLASH_CTL+1); | 1071 | u8 tmp = readb(host_mmio + PDC_FLASH_CTL + 1); |
1076 | if (!(tmp & 0x80)) | 1072 | if (!(tmp & 0x80)) |
1077 | ppi[n_ports++] = pi + 1; | 1073 | ppi[n_ports++] = pi + 1; |
1078 | } | 1074 | } |
@@ -1088,13 +1084,13 @@ static int pdc_ata_init_one(struct pci_dev *pdev, | |||
1088 | for (i = 0; i < host->n_ports; i++) { | 1084 | for (i = 0; i < host->n_ports; i++) { |
1089 | struct ata_port *ap = host->ports[i]; | 1085 | struct ata_port *ap = host->ports[i]; |
1090 | unsigned int ata_no = pdc_port_no_to_ata_no(i, is_sataii_tx4); | 1086 | unsigned int ata_no = pdc_port_no_to_ata_no(i, is_sataii_tx4); |
1091 | unsigned int port_offset = 0x200 + ata_no * 0x80; | 1087 | unsigned int ata_offset = 0x200 + ata_no * 0x80; |
1092 | unsigned int scr_offset = 0x400 + ata_no * 0x100; | 1088 | unsigned int scr_offset = 0x400 + ata_no * 0x100; |
1093 | 1089 | ||
1094 | pdc_ata_setup_port(ap, base + port_offset, base + scr_offset); | 1090 | pdc_ata_setup_port(ap, host_mmio + ata_offset, host_mmio + scr_offset); |
1095 | 1091 | ||
1096 | ata_port_pbar_desc(ap, PDC_MMIO_BAR, -1, "mmio"); | 1092 | ata_port_pbar_desc(ap, PDC_MMIO_BAR, -1, "mmio"); |
1097 | ata_port_pbar_desc(ap, PDC_MMIO_BAR, port_offset, "port"); | 1093 | ata_port_pbar_desc(ap, PDC_MMIO_BAR, ata_offset, "ata"); |
1098 | } | 1094 | } |
1099 | 1095 | ||
1100 | /* initialize adapter */ | 1096 | /* initialize adapter */ |
diff --git a/drivers/ata/sata_sil24.c b/drivers/ata/sata_sil24.c index 27a110110077..8ee6b5b4ede7 100644 --- a/drivers/ata/sata_sil24.c +++ b/drivers/ata/sata_sil24.c | |||
@@ -899,14 +899,25 @@ static bool sil24_qc_fill_rtf(struct ata_queued_cmd *qc) | |||
899 | 899 | ||
900 | static void sil24_pmp_attach(struct ata_port *ap) | 900 | static void sil24_pmp_attach(struct ata_port *ap) |
901 | { | 901 | { |
902 | u32 *gscr = ap->link.device->gscr; | ||
903 | |||
902 | sil24_config_pmp(ap, 1); | 904 | sil24_config_pmp(ap, 1); |
903 | sil24_init_port(ap); | 905 | sil24_init_port(ap); |
906 | |||
907 | if (sata_pmp_gscr_vendor(gscr) == 0x11ab && | ||
908 | sata_pmp_gscr_devid(gscr) == 0x4140) { | ||
909 | ata_port_printk(ap, KERN_INFO, | ||
910 | "disabling NCQ support due to sil24-mv4140 quirk\n"); | ||
911 | ap->flags &= ~ATA_FLAG_NCQ; | ||
912 | } | ||
904 | } | 913 | } |
905 | 914 | ||
906 | static void sil24_pmp_detach(struct ata_port *ap) | 915 | static void sil24_pmp_detach(struct ata_port *ap) |
907 | { | 916 | { |
908 | sil24_init_port(ap); | 917 | sil24_init_port(ap); |
909 | sil24_config_pmp(ap, 0); | 918 | sil24_config_pmp(ap, 0); |
919 | |||
920 | ap->flags |= ATA_FLAG_NCQ; | ||
910 | } | 921 | } |
911 | 922 | ||
912 | static int sil24_pmp_hardreset(struct ata_link *link, unsigned int *class, | 923 | static int sil24_pmp_hardreset(struct ata_link *link, unsigned int *class, |
diff --git a/drivers/block/amiflop.c b/drivers/block/amiflop.c index c9751b2b57e6..7516baff3bb9 100644 --- a/drivers/block/amiflop.c +++ b/drivers/block/amiflop.c | |||
@@ -1714,10 +1714,10 @@ static int __init amiga_floppy_init(void) | |||
1714 | int i, ret; | 1714 | int i, ret; |
1715 | 1715 | ||
1716 | if (!MACH_IS_AMIGA) | 1716 | if (!MACH_IS_AMIGA) |
1717 | return -ENXIO; | 1717 | return -ENODEV; |
1718 | 1718 | ||
1719 | if (!AMIGAHW_PRESENT(AMI_FLOPPY)) | 1719 | if (!AMIGAHW_PRESENT(AMI_FLOPPY)) |
1720 | return -ENXIO; | 1720 | return -ENODEV; |
1721 | 1721 | ||
1722 | if (register_blkdev(FLOPPY_MAJOR,"fd")) | 1722 | if (register_blkdev(FLOPPY_MAJOR,"fd")) |
1723 | return -EBUSY; | 1723 | return -EBUSY; |
@@ -1755,7 +1755,7 @@ static int __init amiga_floppy_init(void) | |||
1755 | if (!floppy_queue) | 1755 | if (!floppy_queue) |
1756 | goto out_queue; | 1756 | goto out_queue; |
1757 | 1757 | ||
1758 | ret = -ENXIO; | 1758 | ret = -ENODEV; |
1759 | if (fd_probe_drives() < 1) /* No usable drives */ | 1759 | if (fd_probe_drives() < 1) /* No usable drives */ |
1760 | goto out_probe; | 1760 | goto out_probe; |
1761 | 1761 | ||
diff --git a/drivers/block/z2ram.c b/drivers/block/z2ram.c index 2d5853cbd4b0..be20a67f1fa8 100644 --- a/drivers/block/z2ram.c +++ b/drivers/block/z2ram.c | |||
@@ -332,7 +332,7 @@ z2_init(void) | |||
332 | int ret; | 332 | int ret; |
333 | 333 | ||
334 | if (!MACH_IS_AMIGA) | 334 | if (!MACH_IS_AMIGA) |
335 | return -ENXIO; | 335 | return -ENODEV; |
336 | 336 | ||
337 | ret = -EBUSY; | 337 | ret = -EBUSY; |
338 | if (register_blkdev(Z2RAM_MAJOR, DEVICE_NAME)) | 338 | if (register_blkdev(Z2RAM_MAJOR, DEVICE_NAME)) |
diff --git a/drivers/char/drm/drm.h b/drivers/char/drm/drm.h index 6874f31ca8ca..3a05c6d5ebe1 100644 --- a/drivers/char/drm/drm.h +++ b/drivers/char/drm/drm.h | |||
@@ -471,7 +471,6 @@ struct drm_irq_busid { | |||
471 | enum drm_vblank_seq_type { | 471 | enum drm_vblank_seq_type { |
472 | _DRM_VBLANK_ABSOLUTE = 0x0, /**< Wait for specific vblank sequence number */ | 472 | _DRM_VBLANK_ABSOLUTE = 0x0, /**< Wait for specific vblank sequence number */ |
473 | _DRM_VBLANK_RELATIVE = 0x1, /**< Wait for given number of vblanks */ | 473 | _DRM_VBLANK_RELATIVE = 0x1, /**< Wait for given number of vblanks */ |
474 | _DRM_VBLANK_FLIP = 0x8000000, /**< Scheduled buffer swap should flip */ | ||
475 | _DRM_VBLANK_NEXTONMISS = 0x10000000, /**< If missed, wait for next vblank */ | 474 | _DRM_VBLANK_NEXTONMISS = 0x10000000, /**< If missed, wait for next vblank */ |
476 | _DRM_VBLANK_SECONDARY = 0x20000000, /**< Secondary display controller */ | 475 | _DRM_VBLANK_SECONDARY = 0x20000000, /**< Secondary display controller */ |
477 | _DRM_VBLANK_SIGNAL = 0x40000000 /**< Send signal instead of blocking */ | 476 | _DRM_VBLANK_SIGNAL = 0x40000000 /**< Send signal instead of blocking */ |
@@ -504,21 +503,6 @@ union drm_wait_vblank { | |||
504 | struct drm_wait_vblank_reply reply; | 503 | struct drm_wait_vblank_reply reply; |
505 | }; | 504 | }; |
506 | 505 | ||
507 | enum drm_modeset_ctl_cmd { | ||
508 | _DRM_PRE_MODESET = 1, | ||
509 | _DRM_POST_MODESET = 2, | ||
510 | }; | ||
511 | |||
512 | /** | ||
513 | * DRM_IOCTL_MODESET_CTL ioctl argument type | ||
514 | * | ||
515 | * \sa drmModesetCtl(). | ||
516 | */ | ||
517 | struct drm_modeset_ctl { | ||
518 | unsigned long arg; | ||
519 | enum drm_modeset_ctl_cmd cmd; | ||
520 | }; | ||
521 | |||
522 | /** | 506 | /** |
523 | * DRM_IOCTL_AGP_ENABLE ioctl argument type. | 507 | * DRM_IOCTL_AGP_ENABLE ioctl argument type. |
524 | * | 508 | * |
@@ -603,7 +587,6 @@ struct drm_set_version { | |||
603 | #define DRM_IOCTL_GET_CLIENT DRM_IOWR(0x05, struct drm_client) | 587 | #define DRM_IOCTL_GET_CLIENT DRM_IOWR(0x05, struct drm_client) |
604 | #define DRM_IOCTL_GET_STATS DRM_IOR( 0x06, struct drm_stats) | 588 | #define DRM_IOCTL_GET_STATS DRM_IOR( 0x06, struct drm_stats) |
605 | #define DRM_IOCTL_SET_VERSION DRM_IOWR(0x07, struct drm_set_version) | 589 | #define DRM_IOCTL_SET_VERSION DRM_IOWR(0x07, struct drm_set_version) |
606 | #define DRM_IOCTL_MODESET_CTL DRM_IOW(0x08, struct drm_modeset_ctl) | ||
607 | 590 | ||
608 | #define DRM_IOCTL_SET_UNIQUE DRM_IOW( 0x10, struct drm_unique) | 591 | #define DRM_IOCTL_SET_UNIQUE DRM_IOW( 0x10, struct drm_unique) |
609 | #define DRM_IOCTL_AUTH_MAGIC DRM_IOW( 0x11, struct drm_auth) | 592 | #define DRM_IOCTL_AUTH_MAGIC DRM_IOW( 0x11, struct drm_auth) |
diff --git a/drivers/char/drm/drmP.h b/drivers/char/drm/drmP.h index 213b3ca3468e..0764b662b339 100644 --- a/drivers/char/drm/drmP.h +++ b/drivers/char/drm/drmP.h | |||
@@ -100,8 +100,10 @@ struct drm_device; | |||
100 | #define DRIVER_HAVE_DMA 0x20 | 100 | #define DRIVER_HAVE_DMA 0x20 |
101 | #define DRIVER_HAVE_IRQ 0x40 | 101 | #define DRIVER_HAVE_IRQ 0x40 |
102 | #define DRIVER_IRQ_SHARED 0x80 | 102 | #define DRIVER_IRQ_SHARED 0x80 |
103 | #define DRIVER_IRQ_VBL 0x100 | ||
103 | #define DRIVER_DMA_QUEUE 0x200 | 104 | #define DRIVER_DMA_QUEUE 0x200 |
104 | #define DRIVER_FB_DMA 0x400 | 105 | #define DRIVER_FB_DMA 0x400 |
106 | #define DRIVER_IRQ_VBL2 0x800 | ||
105 | 107 | ||
106 | /***********************************************************************/ | 108 | /***********************************************************************/ |
107 | /** \name Begin the DRM... */ | 109 | /** \name Begin the DRM... */ |
@@ -577,52 +579,10 @@ struct drm_driver { | |||
577 | int (*context_dtor) (struct drm_device *dev, int context); | 579 | int (*context_dtor) (struct drm_device *dev, int context); |
578 | int (*kernel_context_switch) (struct drm_device *dev, int old, | 580 | int (*kernel_context_switch) (struct drm_device *dev, int old, |
579 | int new); | 581 | int new); |
580 | void (*kernel_context_switch_unlock) (struct drm_device * dev); | 582 | void (*kernel_context_switch_unlock) (struct drm_device *dev); |
581 | /** | 583 | int (*vblank_wait) (struct drm_device *dev, unsigned int *sequence); |
582 | * get_vblank_counter - get raw hardware vblank counter | 584 | int (*vblank_wait2) (struct drm_device *dev, unsigned int *sequence); |
583 | * @dev: DRM device | 585 | int (*dri_library_name) (struct drm_device *dev, char *buf); |
584 | * @crtc: counter to fetch | ||
585 | * | ||
586 | * Driver callback for fetching a raw hardware vblank counter | ||
587 | * for @crtc. If a device doesn't have a hardware counter, the | ||
588 | * driver can simply return the value of drm_vblank_count and | ||
589 | * make the enable_vblank() and disable_vblank() hooks into no-ops, | ||
590 | * leaving interrupts enabled at all times. | ||
591 | * | ||
592 | * Wraparound handling and loss of events due to modesetting is dealt | ||
593 | * with in the DRM core code. | ||
594 | * | ||
595 | * RETURNS | ||
596 | * Raw vblank counter value. | ||
597 | */ | ||
598 | u32 (*get_vblank_counter) (struct drm_device *dev, int crtc); | ||
599 | |||
600 | /** | ||
601 | * enable_vblank - enable vblank interrupt events | ||
602 | * @dev: DRM device | ||
603 | * @crtc: which irq to enable | ||
604 | * | ||
605 | * Enable vblank interrupts for @crtc. If the device doesn't have | ||
606 | * a hardware vblank counter, this routine should be a no-op, since | ||
607 | * interrupts will have to stay on to keep the count accurate. | ||
608 | * | ||
609 | * RETURNS | ||
610 | * Zero on success, appropriate errno if the given @crtc's vblank | ||
611 | * interrupt cannot be enabled. | ||
612 | */ | ||
613 | int (*enable_vblank) (struct drm_device *dev, int crtc); | ||
614 | |||
615 | /** | ||
616 | * disable_vblank - disable vblank interrupt events | ||
617 | * @dev: DRM device | ||
618 | * @crtc: which irq to enable | ||
619 | * | ||
620 | * Disable vblank interrupts for @crtc. If the device doesn't have | ||
621 | * a hardware vblank counter, this routine should be a no-op, since | ||
622 | * interrupts will have to stay on to keep the count accurate. | ||
623 | */ | ||
624 | void (*disable_vblank) (struct drm_device *dev, int crtc); | ||
625 | int (*dri_library_name) (struct drm_device *dev, char * buf); | ||
626 | 586 | ||
627 | /** | 587 | /** |
628 | * Called by \c drm_device_is_agp. Typically used to determine if a | 588 | * Called by \c drm_device_is_agp. Typically used to determine if a |
@@ -641,7 +601,7 @@ struct drm_driver { | |||
641 | 601 | ||
642 | irqreturn_t(*irq_handler) (DRM_IRQ_ARGS); | 602 | irqreturn_t(*irq_handler) (DRM_IRQ_ARGS); |
643 | void (*irq_preinstall) (struct drm_device *dev); | 603 | void (*irq_preinstall) (struct drm_device *dev); |
644 | int (*irq_postinstall) (struct drm_device *dev); | 604 | void (*irq_postinstall) (struct drm_device *dev); |
645 | void (*irq_uninstall) (struct drm_device *dev); | 605 | void (*irq_uninstall) (struct drm_device *dev); |
646 | void (*reclaim_buffers) (struct drm_device *dev, | 606 | void (*reclaim_buffers) (struct drm_device *dev, |
647 | struct drm_file * file_priv); | 607 | struct drm_file * file_priv); |
@@ -770,21 +730,13 @@ struct drm_device { | |||
770 | /** \name VBLANK IRQ support */ | 730 | /** \name VBLANK IRQ support */ |
771 | /*@{ */ | 731 | /*@{ */ |
772 | 732 | ||
773 | wait_queue_head_t *vbl_queue; /**< VBLANK wait queue */ | 733 | wait_queue_head_t vbl_queue; /**< VBLANK wait queue */ |
774 | atomic_t *_vblank_count; /**< number of VBLANK interrupts (driver must alloc the right number of counters) */ | 734 | atomic_t vbl_received; |
735 | atomic_t vbl_received2; /**< number of secondary VBLANK interrupts */ | ||
775 | spinlock_t vbl_lock; | 736 | spinlock_t vbl_lock; |
776 | struct list_head *vbl_sigs; /**< signal list to send on VBLANK */ | 737 | struct list_head vbl_sigs; /**< signal list to send on VBLANK */ |
777 | atomic_t vbl_signal_pending; /* number of signals pending on all crtcs*/ | 738 | struct list_head vbl_sigs2; /**< signals to send on secondary VBLANK */ |
778 | atomic_t *vblank_refcount; /* number of users of vblank interrupts per crtc */ | 739 | unsigned int vbl_pending; |
779 | u32 *last_vblank; /* protected by dev->vbl_lock, used */ | ||
780 | /* for wraparound handling */ | ||
781 | u32 *vblank_offset; /* used to track how many vblanks */ | ||
782 | int *vblank_enabled; /* so we don't call enable more than | ||
783 | once per disable */ | ||
784 | u32 *vblank_premodeset; /* were lost during modeset */ | ||
785 | struct timer_list vblank_disable_timer; | ||
786 | |||
787 | unsigned long max_vblank_count; /**< size of vblank counter register */ | ||
788 | spinlock_t tasklet_lock; /**< For drm_locked_tasklet */ | 740 | spinlock_t tasklet_lock; /**< For drm_locked_tasklet */ |
789 | void (*locked_tasklet_func)(struct drm_device *dev); | 741 | void (*locked_tasklet_func)(struct drm_device *dev); |
790 | 742 | ||
@@ -804,7 +756,6 @@ struct drm_device { | |||
804 | #ifdef __alpha__ | 756 | #ifdef __alpha__ |
805 | struct pci_controller *hose; | 757 | struct pci_controller *hose; |
806 | #endif | 758 | #endif |
807 | int num_crtcs; /**< Number of CRTCs on this device */ | ||
808 | struct drm_sg_mem *sg; /**< Scatter gather memory */ | 759 | struct drm_sg_mem *sg; /**< Scatter gather memory */ |
809 | void *dev_private; /**< device private data */ | 760 | void *dev_private; /**< device private data */ |
810 | struct drm_sigdata sigdata; /**< For block_all_signals */ | 761 | struct drm_sigdata sigdata; /**< For block_all_signals */ |
@@ -1039,19 +990,11 @@ extern void drm_driver_irq_preinstall(struct drm_device *dev); | |||
1039 | extern void drm_driver_irq_postinstall(struct drm_device *dev); | 990 | extern void drm_driver_irq_postinstall(struct drm_device *dev); |
1040 | extern void drm_driver_irq_uninstall(struct drm_device *dev); | 991 | extern void drm_driver_irq_uninstall(struct drm_device *dev); |
1041 | 992 | ||
1042 | extern int drm_vblank_init(struct drm_device *dev, int num_crtcs); | 993 | extern int drm_wait_vblank(struct drm_device *dev, void *data, |
1043 | extern int drm_wait_vblank(struct drm_device *dev, void *data, struct drm_file *filp); | ||
1044 | extern int drm_vblank_wait(struct drm_device * dev, unsigned int *vbl_seq); | ||
1045 | extern void drm_locked_tasklet(struct drm_device *dev, void(*func)(struct drm_device*)); | ||
1046 | extern u32 drm_vblank_count(struct drm_device *dev, int crtc); | ||
1047 | extern void drm_update_vblank_count(struct drm_device *dev, int crtc); | ||
1048 | extern void drm_handle_vblank(struct drm_device *dev, int crtc); | ||
1049 | extern int drm_vblank_get(struct drm_device *dev, int crtc); | ||
1050 | extern void drm_vblank_put(struct drm_device *dev, int crtc); | ||
1051 | |||
1052 | /* Modesetting support */ | ||
1053 | extern int drm_modeset_ctl(struct drm_device *dev, void *data, | ||
1054 | struct drm_file *file_priv); | 994 | struct drm_file *file_priv); |
995 | extern int drm_vblank_wait(struct drm_device *dev, unsigned int *vbl_seq); | ||
996 | extern void drm_vbl_send_signals(struct drm_device *dev); | ||
997 | extern void drm_locked_tasklet(struct drm_device *dev, void(*func)(struct drm_device*)); | ||
1055 | 998 | ||
1056 | /* AGP/GART support (drm_agpsupport.h) */ | 999 | /* AGP/GART support (drm_agpsupport.h) */ |
1057 | extern struct drm_agp_head *drm_agp_init(struct drm_device *dev); | 1000 | extern struct drm_agp_head *drm_agp_init(struct drm_device *dev); |
diff --git a/drivers/char/drm/drm_fops.c b/drivers/char/drm/drm_fops.c index 68f0da801ed8..d2e6da85f58a 100644 --- a/drivers/char/drm/drm_fops.c +++ b/drivers/char/drm/drm_fops.c | |||
@@ -323,7 +323,6 @@ int drm_release(struct inode *inode, struct file *filp) | |||
323 | struct drm_file *file_priv = filp->private_data; | 323 | struct drm_file *file_priv = filp->private_data; |
324 | struct drm_device *dev = file_priv->minor->dev; | 324 | struct drm_device *dev = file_priv->minor->dev; |
325 | int retcode = 0; | 325 | int retcode = 0; |
326 | unsigned long irqflags; | ||
327 | 326 | ||
328 | lock_kernel(); | 327 | lock_kernel(); |
329 | 328 | ||
@@ -355,11 +354,9 @@ int drm_release(struct inode *inode, struct file *filp) | |||
355 | */ | 354 | */ |
356 | 355 | ||
357 | do{ | 356 | do{ |
358 | spin_lock_irqsave(&dev->lock.spinlock, | 357 | spin_lock_bh(&dev->lock.spinlock); |
359 | irqflags); | ||
360 | locked = dev->lock.idle_has_lock; | 358 | locked = dev->lock.idle_has_lock; |
361 | spin_unlock_irqrestore(&dev->lock.spinlock, | 359 | spin_unlock_bh(&dev->lock.spinlock); |
362 | irqflags); | ||
363 | if (locked) | 360 | if (locked) |
364 | break; | 361 | break; |
365 | schedule(); | 362 | schedule(); |
diff --git a/drivers/char/drm/drm_irq.c b/drivers/char/drm/drm_irq.c index 286f9d61e7d5..089c015c01d1 100644 --- a/drivers/char/drm/drm_irq.c +++ b/drivers/char/drm/drm_irq.c | |||
@@ -71,117 +71,6 @@ int drm_irq_by_busid(struct drm_device *dev, void *data, | |||
71 | return 0; | 71 | return 0; |
72 | } | 72 | } |
73 | 73 | ||
74 | static void vblank_disable_fn(unsigned long arg) | ||
75 | { | ||
76 | struct drm_device *dev = (struct drm_device *)arg; | ||
77 | unsigned long irqflags; | ||
78 | int i; | ||
79 | |||
80 | for (i = 0; i < dev->num_crtcs; i++) { | ||
81 | spin_lock_irqsave(&dev->vbl_lock, irqflags); | ||
82 | if (atomic_read(&dev->vblank_refcount[i]) == 0 && | ||
83 | dev->vblank_enabled[i]) { | ||
84 | dev->driver->disable_vblank(dev, i); | ||
85 | dev->vblank_enabled[i] = 0; | ||
86 | } | ||
87 | spin_unlock_irqrestore(&dev->vbl_lock, irqflags); | ||
88 | } | ||
89 | } | ||
90 | |||
91 | static void drm_vblank_cleanup(struct drm_device *dev) | ||
92 | { | ||
93 | /* Bail if the driver didn't call drm_vblank_init() */ | ||
94 | if (dev->num_crtcs == 0) | ||
95 | return; | ||
96 | |||
97 | del_timer(&dev->vblank_disable_timer); | ||
98 | |||
99 | vblank_disable_fn((unsigned long)dev); | ||
100 | |||
101 | drm_free(dev->vbl_queue, sizeof(*dev->vbl_queue) * dev->num_crtcs, | ||
102 | DRM_MEM_DRIVER); | ||
103 | drm_free(dev->vbl_sigs, sizeof(*dev->vbl_sigs) * dev->num_crtcs, | ||
104 | DRM_MEM_DRIVER); | ||
105 | drm_free(dev->_vblank_count, sizeof(*dev->_vblank_count) * | ||
106 | dev->num_crtcs, DRM_MEM_DRIVER); | ||
107 | drm_free(dev->vblank_refcount, sizeof(*dev->vblank_refcount) * | ||
108 | dev->num_crtcs, DRM_MEM_DRIVER); | ||
109 | drm_free(dev->vblank_enabled, sizeof(*dev->vblank_enabled) * | ||
110 | dev->num_crtcs, DRM_MEM_DRIVER); | ||
111 | drm_free(dev->last_vblank, sizeof(*dev->last_vblank) * dev->num_crtcs, | ||
112 | DRM_MEM_DRIVER); | ||
113 | drm_free(dev->vblank_premodeset, sizeof(*dev->vblank_premodeset) * | ||
114 | dev->num_crtcs, DRM_MEM_DRIVER); | ||
115 | drm_free(dev->vblank_offset, sizeof(*dev->vblank_offset) * dev->num_crtcs, | ||
116 | DRM_MEM_DRIVER); | ||
117 | |||
118 | dev->num_crtcs = 0; | ||
119 | } | ||
120 | |||
121 | int drm_vblank_init(struct drm_device *dev, int num_crtcs) | ||
122 | { | ||
123 | int i, ret = -ENOMEM; | ||
124 | |||
125 | setup_timer(&dev->vblank_disable_timer, vblank_disable_fn, | ||
126 | (unsigned long)dev); | ||
127 | spin_lock_init(&dev->vbl_lock); | ||
128 | atomic_set(&dev->vbl_signal_pending, 0); | ||
129 | dev->num_crtcs = num_crtcs; | ||
130 | |||
131 | dev->vbl_queue = drm_alloc(sizeof(wait_queue_head_t) * num_crtcs, | ||
132 | DRM_MEM_DRIVER); | ||
133 | if (!dev->vbl_queue) | ||
134 | goto err; | ||
135 | |||
136 | dev->vbl_sigs = drm_alloc(sizeof(struct list_head) * num_crtcs, | ||
137 | DRM_MEM_DRIVER); | ||
138 | if (!dev->vbl_sigs) | ||
139 | goto err; | ||
140 | |||
141 | dev->_vblank_count = drm_alloc(sizeof(atomic_t) * num_crtcs, | ||
142 | DRM_MEM_DRIVER); | ||
143 | if (!dev->_vblank_count) | ||
144 | goto err; | ||
145 | |||
146 | dev->vblank_refcount = drm_alloc(sizeof(atomic_t) * num_crtcs, | ||
147 | DRM_MEM_DRIVER); | ||
148 | if (!dev->vblank_refcount) | ||
149 | goto err; | ||
150 | |||
151 | dev->vblank_enabled = drm_calloc(num_crtcs, sizeof(int), | ||
152 | DRM_MEM_DRIVER); | ||
153 | if (!dev->vblank_enabled) | ||
154 | goto err; | ||
155 | |||
156 | dev->last_vblank = drm_calloc(num_crtcs, sizeof(u32), DRM_MEM_DRIVER); | ||
157 | if (!dev->last_vblank) | ||
158 | goto err; | ||
159 | |||
160 | dev->vblank_premodeset = drm_calloc(num_crtcs, sizeof(u32), | ||
161 | DRM_MEM_DRIVER); | ||
162 | if (!dev->vblank_premodeset) | ||
163 | goto err; | ||
164 | |||
165 | dev->vblank_offset = drm_calloc(num_crtcs, sizeof(u32), DRM_MEM_DRIVER); | ||
166 | if (!dev->vblank_offset) | ||
167 | goto err; | ||
168 | |||
169 | /* Zero per-crtc vblank stuff */ | ||
170 | for (i = 0; i < num_crtcs; i++) { | ||
171 | init_waitqueue_head(&dev->vbl_queue[i]); | ||
172 | INIT_LIST_HEAD(&dev->vbl_sigs[i]); | ||
173 | atomic_set(&dev->_vblank_count[i], 0); | ||
174 | atomic_set(&dev->vblank_refcount[i], 0); | ||
175 | } | ||
176 | |||
177 | return 0; | ||
178 | |||
179 | err: | ||
180 | drm_vblank_cleanup(dev); | ||
181 | return ret; | ||
182 | } | ||
183 | EXPORT_SYMBOL(drm_vblank_init); | ||
184 | |||
185 | /** | 74 | /** |
186 | * Install IRQ handler. | 75 | * Install IRQ handler. |
187 | * | 76 | * |
@@ -220,6 +109,17 @@ static int drm_irq_install(struct drm_device * dev) | |||
220 | 109 | ||
221 | DRM_DEBUG("irq=%d\n", dev->irq); | 110 | DRM_DEBUG("irq=%d\n", dev->irq); |
222 | 111 | ||
112 | if (drm_core_check_feature(dev, DRIVER_IRQ_VBL)) { | ||
113 | init_waitqueue_head(&dev->vbl_queue); | ||
114 | |||
115 | spin_lock_init(&dev->vbl_lock); | ||
116 | |||
117 | INIT_LIST_HEAD(&dev->vbl_sigs); | ||
118 | INIT_LIST_HEAD(&dev->vbl_sigs2); | ||
119 | |||
120 | dev->vbl_pending = 0; | ||
121 | } | ||
122 | |||
223 | /* Before installing handler */ | 123 | /* Before installing handler */ |
224 | dev->driver->irq_preinstall(dev); | 124 | dev->driver->irq_preinstall(dev); |
225 | 125 | ||
@@ -237,14 +137,9 @@ static int drm_irq_install(struct drm_device * dev) | |||
237 | } | 137 | } |
238 | 138 | ||
239 | /* After installing handler */ | 139 | /* After installing handler */ |
240 | ret = dev->driver->irq_postinstall(dev); | 140 | dev->driver->irq_postinstall(dev); |
241 | if (ret < 0) { | ||
242 | mutex_lock(&dev->struct_mutex); | ||
243 | dev->irq_enabled = 0; | ||
244 | mutex_unlock(&dev->struct_mutex); | ||
245 | } | ||
246 | 141 | ||
247 | return ret; | 142 | return 0; |
248 | } | 143 | } |
249 | 144 | ||
250 | /** | 145 | /** |
@@ -275,8 +170,6 @@ int drm_irq_uninstall(struct drm_device * dev) | |||
275 | 170 | ||
276 | free_irq(dev->irq, dev); | 171 | free_irq(dev->irq, dev); |
277 | 172 | ||
278 | drm_vblank_cleanup(dev); | ||
279 | |||
280 | dev->locked_tasklet_func = NULL; | 173 | dev->locked_tasklet_func = NULL; |
281 | 174 | ||
282 | return 0; | 175 | return 0; |
@@ -321,148 +214,6 @@ int drm_control(struct drm_device *dev, void *data, | |||
321 | } | 214 | } |
322 | 215 | ||
323 | /** | 216 | /** |
324 | * drm_vblank_count - retrieve "cooked" vblank counter value | ||
325 | * @dev: DRM device | ||
326 | * @crtc: which counter to retrieve | ||
327 | * | ||
328 | * Fetches the "cooked" vblank count value that represents the number of | ||
329 | * vblank events since the system was booted, including lost events due to | ||
330 | * modesetting activity. | ||
331 | */ | ||
332 | u32 drm_vblank_count(struct drm_device *dev, int crtc) | ||
333 | { | ||
334 | return atomic_read(&dev->_vblank_count[crtc]) + | ||
335 | dev->vblank_offset[crtc]; | ||
336 | } | ||
337 | EXPORT_SYMBOL(drm_vblank_count); | ||
338 | |||
339 | /** | ||
340 | * drm_update_vblank_count - update the master vblank counter | ||
341 | * @dev: DRM device | ||
342 | * @crtc: counter to update | ||
343 | * | ||
344 | * Call back into the driver to update the appropriate vblank counter | ||
345 | * (specified by @crtc). Deal with wraparound, if it occurred, and | ||
346 | * update the last read value so we can deal with wraparound on the next | ||
347 | * call if necessary. | ||
348 | */ | ||
349 | void drm_update_vblank_count(struct drm_device *dev, int crtc) | ||
350 | { | ||
351 | unsigned long irqflags; | ||
352 | u32 cur_vblank, diff; | ||
353 | |||
354 | /* | ||
355 | * Interrupts were disabled prior to this call, so deal with counter | ||
356 | * wrap if needed. | ||
357 | * NOTE! It's possible we lost a full dev->max_vblank_count events | ||
358 | * here if the register is small or we had vblank interrupts off for | ||
359 | * a long time. | ||
360 | */ | ||
361 | cur_vblank = dev->driver->get_vblank_counter(dev, crtc); | ||
362 | spin_lock_irqsave(&dev->vbl_lock, irqflags); | ||
363 | if (cur_vblank < dev->last_vblank[crtc]) { | ||
364 | diff = dev->max_vblank_count - | ||
365 | dev->last_vblank[crtc]; | ||
366 | diff += cur_vblank; | ||
367 | } else { | ||
368 | diff = cur_vblank - dev->last_vblank[crtc]; | ||
369 | } | ||
370 | dev->last_vblank[crtc] = cur_vblank; | ||
371 | spin_unlock_irqrestore(&dev->vbl_lock, irqflags); | ||
372 | |||
373 | atomic_add(diff, &dev->_vblank_count[crtc]); | ||
374 | } | ||
375 | EXPORT_SYMBOL(drm_update_vblank_count); | ||
376 | |||
377 | /** | ||
378 | * drm_vblank_get - get a reference count on vblank events | ||
379 | * @dev: DRM device | ||
380 | * @crtc: which CRTC to own | ||
381 | * | ||
382 | * Acquire a reference count on vblank events to avoid having them disabled | ||
383 | * while in use. Note callers will probably want to update the master counter | ||
384 | * using drm_update_vblank_count() above before calling this routine so that | ||
385 | * wakeups occur on the right vblank event. | ||
386 | * | ||
387 | * RETURNS | ||
388 | * Zero on success, nonzero on failure. | ||
389 | */ | ||
390 | int drm_vblank_get(struct drm_device *dev, int crtc) | ||
391 | { | ||
392 | unsigned long irqflags; | ||
393 | int ret = 0; | ||
394 | |||
395 | spin_lock_irqsave(&dev->vbl_lock, irqflags); | ||
396 | /* Going from 0->1 means we have to enable interrupts again */ | ||
397 | if (atomic_add_return(1, &dev->vblank_refcount[crtc]) == 1 && | ||
398 | !dev->vblank_enabled[crtc]) { | ||
399 | ret = dev->driver->enable_vblank(dev, crtc); | ||
400 | if (ret) | ||
401 | atomic_dec(&dev->vblank_refcount[crtc]); | ||
402 | else | ||
403 | dev->vblank_enabled[crtc] = 1; | ||
404 | } | ||
405 | spin_unlock_irqrestore(&dev->vbl_lock, irqflags); | ||
406 | |||
407 | return ret; | ||
408 | } | ||
409 | EXPORT_SYMBOL(drm_vblank_get); | ||
410 | |||
411 | /** | ||
412 | * drm_vblank_put - give up ownership of vblank events | ||
413 | * @dev: DRM device | ||
414 | * @crtc: which counter to give up | ||
415 | * | ||
416 | * Release ownership of a given vblank counter, turning off interrupts | ||
417 | * if possible. | ||
418 | */ | ||
419 | void drm_vblank_put(struct drm_device *dev, int crtc) | ||
420 | { | ||
421 | /* Last user schedules interrupt disable */ | ||
422 | if (atomic_dec_and_test(&dev->vblank_refcount[crtc])) | ||
423 | mod_timer(&dev->vblank_disable_timer, jiffies + 5*DRM_HZ); | ||
424 | } | ||
425 | EXPORT_SYMBOL(drm_vblank_put); | ||
426 | |||
427 | /** | ||
428 | * drm_modeset_ctl - handle vblank event counter changes across mode switch | ||
429 | * @DRM_IOCTL_ARGS: standard ioctl arguments | ||
430 | * | ||
431 | * Applications should call the %_DRM_PRE_MODESET and %_DRM_POST_MODESET | ||
432 | * ioctls around modesetting so that any lost vblank events are accounted for. | ||
433 | */ | ||
434 | int drm_modeset_ctl(struct drm_device *dev, void *data, | ||
435 | struct drm_file *file_priv) | ||
436 | { | ||
437 | struct drm_modeset_ctl *modeset = data; | ||
438 | int crtc, ret = 0; | ||
439 | u32 new; | ||
440 | |||
441 | crtc = modeset->arg; | ||
442 | if (crtc >= dev->num_crtcs) { | ||
443 | ret = -EINVAL; | ||
444 | goto out; | ||
445 | } | ||
446 | |||
447 | switch (modeset->cmd) { | ||
448 | case _DRM_PRE_MODESET: | ||
449 | dev->vblank_premodeset[crtc] = | ||
450 | dev->driver->get_vblank_counter(dev, crtc); | ||
451 | break; | ||
452 | case _DRM_POST_MODESET: | ||
453 | new = dev->driver->get_vblank_counter(dev, crtc); | ||
454 | dev->vblank_offset[crtc] = dev->vblank_premodeset[crtc] - new; | ||
455 | break; | ||
456 | default: | ||
457 | ret = -EINVAL; | ||
458 | break; | ||
459 | } | ||
460 | |||
461 | out: | ||
462 | return ret; | ||
463 | } | ||
464 | |||
465 | /** | ||
466 | * Wait for VBLANK. | 217 | * Wait for VBLANK. |
467 | * | 218 | * |
468 | * \param inode device inode. | 219 | * \param inode device inode. |
@@ -481,13 +232,12 @@ out: | |||
481 | * | 232 | * |
482 | * If a signal is not requested, then calls vblank_wait(). | 233 | * If a signal is not requested, then calls vblank_wait(). |
483 | */ | 234 | */ |
484 | int drm_wait_vblank(struct drm_device *dev, void *data, | 235 | int drm_wait_vblank(struct drm_device *dev, void *data, struct drm_file *file_priv) |
485 | struct drm_file *file_priv) | ||
486 | { | 236 | { |
487 | union drm_wait_vblank *vblwait = data; | 237 | union drm_wait_vblank *vblwait = data; |
488 | struct timeval now; | 238 | struct timeval now; |
489 | int ret = 0; | 239 | int ret = 0; |
490 | unsigned int flags, seq, crtc; | 240 | unsigned int flags, seq; |
491 | 241 | ||
492 | if ((!dev->irq) || (!dev->irq_enabled)) | 242 | if ((!dev->irq) || (!dev->irq_enabled)) |
493 | return -EINVAL; | 243 | return -EINVAL; |
@@ -501,13 +251,13 @@ int drm_wait_vblank(struct drm_device *dev, void *data, | |||
501 | } | 251 | } |
502 | 252 | ||
503 | flags = vblwait->request.type & _DRM_VBLANK_FLAGS_MASK; | 253 | flags = vblwait->request.type & _DRM_VBLANK_FLAGS_MASK; |
504 | crtc = flags & _DRM_VBLANK_SECONDARY ? 1 : 0; | ||
505 | 254 | ||
506 | if (crtc >= dev->num_crtcs) | 255 | if (!drm_core_check_feature(dev, (flags & _DRM_VBLANK_SECONDARY) ? |
256 | DRIVER_IRQ_VBL2 : DRIVER_IRQ_VBL)) | ||
507 | return -EINVAL; | 257 | return -EINVAL; |
508 | 258 | ||
509 | drm_update_vblank_count(dev, crtc); | 259 | seq = atomic_read((flags & _DRM_VBLANK_SECONDARY) ? &dev->vbl_received2 |
510 | seq = drm_vblank_count(dev, crtc); | 260 | : &dev->vbl_received); |
511 | 261 | ||
512 | switch (vblwait->request.type & _DRM_VBLANK_TYPES_MASK) { | 262 | switch (vblwait->request.type & _DRM_VBLANK_TYPES_MASK) { |
513 | case _DRM_VBLANK_RELATIVE: | 263 | case _DRM_VBLANK_RELATIVE: |
@@ -526,7 +276,8 @@ int drm_wait_vblank(struct drm_device *dev, void *data, | |||
526 | 276 | ||
527 | if (flags & _DRM_VBLANK_SIGNAL) { | 277 | if (flags & _DRM_VBLANK_SIGNAL) { |
528 | unsigned long irqflags; | 278 | unsigned long irqflags; |
529 | struct list_head *vbl_sigs = &dev->vbl_sigs[crtc]; | 279 | struct list_head *vbl_sigs = (flags & _DRM_VBLANK_SECONDARY) |
280 | ? &dev->vbl_sigs2 : &dev->vbl_sigs; | ||
530 | struct drm_vbl_sig *vbl_sig; | 281 | struct drm_vbl_sig *vbl_sig; |
531 | 282 | ||
532 | spin_lock_irqsave(&dev->vbl_lock, irqflags); | 283 | spin_lock_irqsave(&dev->vbl_lock, irqflags); |
@@ -547,26 +298,22 @@ int drm_wait_vblank(struct drm_device *dev, void *data, | |||
547 | } | 298 | } |
548 | } | 299 | } |
549 | 300 | ||
550 | if (atomic_read(&dev->vbl_signal_pending) >= 100) { | 301 | if (dev->vbl_pending >= 100) { |
551 | spin_unlock_irqrestore(&dev->vbl_lock, irqflags); | 302 | spin_unlock_irqrestore(&dev->vbl_lock, irqflags); |
552 | return -EBUSY; | 303 | return -EBUSY; |
553 | } | 304 | } |
554 | 305 | ||
306 | dev->vbl_pending++; | ||
307 | |||
555 | spin_unlock_irqrestore(&dev->vbl_lock, irqflags); | 308 | spin_unlock_irqrestore(&dev->vbl_lock, irqflags); |
556 | 309 | ||
557 | vbl_sig = drm_calloc(1, sizeof(struct drm_vbl_sig), | 310 | if (! |
558 | DRM_MEM_DRIVER); | 311 | (vbl_sig = |
559 | if (!vbl_sig) | 312 | drm_alloc(sizeof(struct drm_vbl_sig), DRM_MEM_DRIVER))) { |
560 | return -ENOMEM; | 313 | return -ENOMEM; |
561 | |||
562 | ret = drm_vblank_get(dev, crtc); | ||
563 | if (ret) { | ||
564 | drm_free(vbl_sig, sizeof(struct drm_vbl_sig), | ||
565 | DRM_MEM_DRIVER); | ||
566 | return ret; | ||
567 | } | 314 | } |
568 | 315 | ||
569 | atomic_inc(&dev->vbl_signal_pending); | 316 | memset((void *)vbl_sig, 0, sizeof(*vbl_sig)); |
570 | 317 | ||
571 | vbl_sig->sequence = vblwait->request.sequence; | 318 | vbl_sig->sequence = vblwait->request.sequence; |
572 | vbl_sig->info.si_signo = vblwait->request.signal; | 319 | vbl_sig->info.si_signo = vblwait->request.signal; |
@@ -580,20 +327,17 @@ int drm_wait_vblank(struct drm_device *dev, void *data, | |||
580 | 327 | ||
581 | vblwait->reply.sequence = seq; | 328 | vblwait->reply.sequence = seq; |
582 | } else { | 329 | } else { |
583 | unsigned long cur_vblank; | 330 | if (flags & _DRM_VBLANK_SECONDARY) { |
584 | 331 | if (dev->driver->vblank_wait2) | |
585 | ret = drm_vblank_get(dev, crtc); | 332 | ret = dev->driver->vblank_wait2(dev, &vblwait->request.sequence); |
586 | if (ret) | 333 | } else if (dev->driver->vblank_wait) |
587 | return ret; | 334 | ret = |
588 | DRM_WAIT_ON(ret, dev->vbl_queue[crtc], 3 * DRM_HZ, | 335 | dev->driver->vblank_wait(dev, |
589 | (((cur_vblank = drm_vblank_count(dev, crtc)) | 336 | &vblwait->request.sequence); |
590 | - vblwait->request.sequence) <= (1 << 23))); | ||
591 | drm_vblank_put(dev, crtc); | ||
592 | do_gettimeofday(&now); | ||
593 | 337 | ||
338 | do_gettimeofday(&now); | ||
594 | vblwait->reply.tval_sec = now.tv_sec; | 339 | vblwait->reply.tval_sec = now.tv_sec; |
595 | vblwait->reply.tval_usec = now.tv_usec; | 340 | vblwait->reply.tval_usec = now.tv_usec; |
596 | vblwait->reply.sequence = cur_vblank; | ||
597 | } | 341 | } |
598 | 342 | ||
599 | done: | 343 | done: |
@@ -604,57 +348,44 @@ int drm_wait_vblank(struct drm_device *dev, void *data, | |||
604 | * Send the VBLANK signals. | 348 | * Send the VBLANK signals. |
605 | * | 349 | * |
606 | * \param dev DRM device. | 350 | * \param dev DRM device. |
607 | * \param crtc CRTC where the vblank event occurred | ||
608 | * | 351 | * |
609 | * Sends a signal for each task in drm_device::vbl_sigs and empties the list. | 352 | * Sends a signal for each task in drm_device::vbl_sigs and empties the list. |
610 | * | 353 | * |
611 | * If a signal is not requested, then calls vblank_wait(). | 354 | * If a signal is not requested, then calls vblank_wait(). |
612 | */ | 355 | */ |
613 | static void drm_vbl_send_signals(struct drm_device * dev, int crtc) | 356 | void drm_vbl_send_signals(struct drm_device * dev) |
614 | { | 357 | { |
615 | struct drm_vbl_sig *vbl_sig, *tmp; | ||
616 | struct list_head *vbl_sigs; | ||
617 | unsigned int vbl_seq; | ||
618 | unsigned long flags; | 358 | unsigned long flags; |
359 | int i; | ||
619 | 360 | ||
620 | spin_lock_irqsave(&dev->vbl_lock, flags); | 361 | spin_lock_irqsave(&dev->vbl_lock, flags); |
621 | 362 | ||
622 | vbl_sigs = &dev->vbl_sigs[crtc]; | 363 | for (i = 0; i < 2; i++) { |
623 | vbl_seq = drm_vblank_count(dev, crtc); | 364 | struct drm_vbl_sig *vbl_sig, *tmp; |
365 | struct list_head *vbl_sigs = i ? &dev->vbl_sigs2 : &dev->vbl_sigs; | ||
366 | unsigned int vbl_seq = atomic_read(i ? &dev->vbl_received2 : | ||
367 | &dev->vbl_received); | ||
624 | 368 | ||
625 | list_for_each_entry_safe(vbl_sig, tmp, vbl_sigs, head) { | 369 | list_for_each_entry_safe(vbl_sig, tmp, vbl_sigs, head) { |
626 | if ((vbl_seq - vbl_sig->sequence) <= (1 << 23)) { | 370 | if ((vbl_seq - vbl_sig->sequence) <= (1 << 23)) { |
627 | vbl_sig->info.si_code = vbl_seq; | 371 | vbl_sig->info.si_code = vbl_seq; |
628 | send_sig_info(vbl_sig->info.si_signo, | 372 | send_sig_info(vbl_sig->info.si_signo, |
629 | &vbl_sig->info, vbl_sig->task); | 373 | &vbl_sig->info, vbl_sig->task); |
630 | 374 | ||
631 | list_del(&vbl_sig->head); | 375 | list_del(&vbl_sig->head); |
632 | 376 | ||
633 | drm_free(vbl_sig, sizeof(*vbl_sig), | 377 | drm_free(vbl_sig, sizeof(*vbl_sig), |
634 | DRM_MEM_DRIVER); | 378 | DRM_MEM_DRIVER); |
635 | atomic_dec(&dev->vbl_signal_pending); | 379 | |
636 | drm_vblank_put(dev, crtc); | 380 | dev->vbl_pending--; |
637 | } | 381 | } |
382 | } | ||
638 | } | 383 | } |
639 | 384 | ||
640 | spin_unlock_irqrestore(&dev->vbl_lock, flags); | 385 | spin_unlock_irqrestore(&dev->vbl_lock, flags); |
641 | } | 386 | } |
642 | 387 | ||
643 | /** | 388 | EXPORT_SYMBOL(drm_vbl_send_signals); |
644 | * drm_handle_vblank - handle a vblank event | ||
645 | * @dev: DRM device | ||
646 | * @crtc: where this event occurred | ||
647 | * | ||
648 | * Drivers should call this routine in their vblank interrupt handlers to | ||
649 | * update the vblank counter and send any signals that may be pending. | ||
650 | */ | ||
651 | void drm_handle_vblank(struct drm_device *dev, int crtc) | ||
652 | { | ||
653 | drm_update_vblank_count(dev, crtc); | ||
654 | DRM_WAKEUP(&dev->vbl_queue[crtc]); | ||
655 | drm_vbl_send_signals(dev, crtc); | ||
656 | } | ||
657 | EXPORT_SYMBOL(drm_handle_vblank); | ||
658 | 389 | ||
659 | /** | 390 | /** |
660 | * Tasklet wrapper function. | 391 | * Tasklet wrapper function. |
diff --git a/drivers/char/drm/drm_lock.c b/drivers/char/drm/drm_lock.c index 12dcdd1832f0..0998723cde79 100644 --- a/drivers/char/drm/drm_lock.c +++ b/drivers/char/drm/drm_lock.c | |||
@@ -53,7 +53,6 @@ int drm_lock(struct drm_device *dev, void *data, struct drm_file *file_priv) | |||
53 | DECLARE_WAITQUEUE(entry, current); | 53 | DECLARE_WAITQUEUE(entry, current); |
54 | struct drm_lock *lock = data; | 54 | struct drm_lock *lock = data; |
55 | int ret = 0; | 55 | int ret = 0; |
56 | unsigned long irqflags; | ||
57 | 56 | ||
58 | ++file_priv->lock_count; | 57 | ++file_priv->lock_count; |
59 | 58 | ||
@@ -72,9 +71,9 @@ int drm_lock(struct drm_device *dev, void *data, struct drm_file *file_priv) | |||
72 | return -EINVAL; | 71 | return -EINVAL; |
73 | 72 | ||
74 | add_wait_queue(&dev->lock.lock_queue, &entry); | 73 | add_wait_queue(&dev->lock.lock_queue, &entry); |
75 | spin_lock_irqsave(&dev->lock.spinlock, irqflags); | 74 | spin_lock_bh(&dev->lock.spinlock); |
76 | dev->lock.user_waiters++; | 75 | dev->lock.user_waiters++; |
77 | spin_unlock_irqrestore(&dev->lock.spinlock, irqflags); | 76 | spin_unlock_bh(&dev->lock.spinlock); |
78 | for (;;) { | 77 | for (;;) { |
79 | __set_current_state(TASK_INTERRUPTIBLE); | 78 | __set_current_state(TASK_INTERRUPTIBLE); |
80 | if (!dev->lock.hw_lock) { | 79 | if (!dev->lock.hw_lock) { |
@@ -96,9 +95,9 @@ int drm_lock(struct drm_device *dev, void *data, struct drm_file *file_priv) | |||
96 | break; | 95 | break; |
97 | } | 96 | } |
98 | } | 97 | } |
99 | spin_lock_irqsave(&dev->lock.spinlock, irqflags); | 98 | spin_lock_bh(&dev->lock.spinlock); |
100 | dev->lock.user_waiters--; | 99 | dev->lock.user_waiters--; |
101 | spin_unlock_irqrestore(&dev->lock.spinlock, irqflags); | 100 | spin_unlock_bh(&dev->lock.spinlock); |
102 | __set_current_state(TASK_RUNNING); | 101 | __set_current_state(TASK_RUNNING); |
103 | remove_wait_queue(&dev->lock.lock_queue, &entry); | 102 | remove_wait_queue(&dev->lock.lock_queue, &entry); |
104 | 103 | ||
@@ -199,9 +198,8 @@ int drm_lock_take(struct drm_lock_data *lock_data, | |||
199 | { | 198 | { |
200 | unsigned int old, new, prev; | 199 | unsigned int old, new, prev; |
201 | volatile unsigned int *lock = &lock_data->hw_lock->lock; | 200 | volatile unsigned int *lock = &lock_data->hw_lock->lock; |
202 | unsigned long irqflags; | ||
203 | 201 | ||
204 | spin_lock_irqsave(&lock_data->spinlock, irqflags); | 202 | spin_lock_bh(&lock_data->spinlock); |
205 | do { | 203 | do { |
206 | old = *lock; | 204 | old = *lock; |
207 | if (old & _DRM_LOCK_HELD) | 205 | if (old & _DRM_LOCK_HELD) |
@@ -213,7 +211,7 @@ int drm_lock_take(struct drm_lock_data *lock_data, | |||
213 | } | 211 | } |
214 | prev = cmpxchg(lock, old, new); | 212 | prev = cmpxchg(lock, old, new); |
215 | } while (prev != old); | 213 | } while (prev != old); |
216 | spin_unlock_irqrestore(&lock_data->spinlock, irqflags); | 214 | spin_unlock_bh(&lock_data->spinlock); |
217 | 215 | ||
218 | if (_DRM_LOCKING_CONTEXT(old) == context) { | 216 | if (_DRM_LOCKING_CONTEXT(old) == context) { |
219 | if (old & _DRM_LOCK_HELD) { | 217 | if (old & _DRM_LOCK_HELD) { |
@@ -274,16 +272,15 @@ int drm_lock_free(struct drm_lock_data *lock_data, unsigned int context) | |||
274 | { | 272 | { |
275 | unsigned int old, new, prev; | 273 | unsigned int old, new, prev; |
276 | volatile unsigned int *lock = &lock_data->hw_lock->lock; | 274 | volatile unsigned int *lock = &lock_data->hw_lock->lock; |
277 | unsigned long irqflags; | ||
278 | 275 | ||
279 | spin_lock_irqsave(&lock_data->spinlock, irqflags); | 276 | spin_lock_bh(&lock_data->spinlock); |
280 | if (lock_data->kernel_waiters != 0) { | 277 | if (lock_data->kernel_waiters != 0) { |
281 | drm_lock_transfer(lock_data, 0); | 278 | drm_lock_transfer(lock_data, 0); |
282 | lock_data->idle_has_lock = 1; | 279 | lock_data->idle_has_lock = 1; |
283 | spin_unlock_irqrestore(&lock_data->spinlock, irqflags); | 280 | spin_unlock_bh(&lock_data->spinlock); |
284 | return 1; | 281 | return 1; |
285 | } | 282 | } |
286 | spin_unlock_irqrestore(&lock_data->spinlock, irqflags); | 283 | spin_unlock_bh(&lock_data->spinlock); |
287 | 284 | ||
288 | do { | 285 | do { |
289 | old = *lock; | 286 | old = *lock; |
@@ -347,20 +344,19 @@ static int drm_notifier(void *priv) | |||
347 | void drm_idlelock_take(struct drm_lock_data *lock_data) | 344 | void drm_idlelock_take(struct drm_lock_data *lock_data) |
348 | { | 345 | { |
349 | int ret = 0; | 346 | int ret = 0; |
350 | unsigned long irqflags; | ||
351 | 347 | ||
352 | spin_lock_irqsave(&lock_data->spinlock, irqflags); | 348 | spin_lock_bh(&lock_data->spinlock); |
353 | lock_data->kernel_waiters++; | 349 | lock_data->kernel_waiters++; |
354 | if (!lock_data->idle_has_lock) { | 350 | if (!lock_data->idle_has_lock) { |
355 | 351 | ||
356 | spin_unlock_irqrestore(&lock_data->spinlock, irqflags); | 352 | spin_unlock_bh(&lock_data->spinlock); |
357 | ret = drm_lock_take(lock_data, DRM_KERNEL_CONTEXT); | 353 | ret = drm_lock_take(lock_data, DRM_KERNEL_CONTEXT); |
358 | spin_lock_irqsave(&lock_data->spinlock, irqflags); | 354 | spin_lock_bh(&lock_data->spinlock); |
359 | 355 | ||
360 | if (ret == 1) | 356 | if (ret == 1) |
361 | lock_data->idle_has_lock = 1; | 357 | lock_data->idle_has_lock = 1; |
362 | } | 358 | } |
363 | spin_unlock_irqrestore(&lock_data->spinlock, irqflags); | 359 | spin_unlock_bh(&lock_data->spinlock); |
364 | } | 360 | } |
365 | EXPORT_SYMBOL(drm_idlelock_take); | 361 | EXPORT_SYMBOL(drm_idlelock_take); |
366 | 362 | ||
@@ -368,9 +364,8 @@ void drm_idlelock_release(struct drm_lock_data *lock_data) | |||
368 | { | 364 | { |
369 | unsigned int old, prev; | 365 | unsigned int old, prev; |
370 | volatile unsigned int *lock = &lock_data->hw_lock->lock; | 366 | volatile unsigned int *lock = &lock_data->hw_lock->lock; |
371 | unsigned long irqflags; | ||
372 | 367 | ||
373 | spin_lock_irqsave(&lock_data->spinlock, irqflags); | 368 | spin_lock_bh(&lock_data->spinlock); |
374 | if (--lock_data->kernel_waiters == 0) { | 369 | if (--lock_data->kernel_waiters == 0) { |
375 | if (lock_data->idle_has_lock) { | 370 | if (lock_data->idle_has_lock) { |
376 | do { | 371 | do { |
@@ -381,7 +376,7 @@ void drm_idlelock_release(struct drm_lock_data *lock_data) | |||
381 | lock_data->idle_has_lock = 0; | 376 | lock_data->idle_has_lock = 0; |
382 | } | 377 | } |
383 | } | 378 | } |
384 | spin_unlock_irqrestore(&lock_data->spinlock, irqflags); | 379 | spin_unlock_bh(&lock_data->spinlock); |
385 | } | 380 | } |
386 | EXPORT_SYMBOL(drm_idlelock_release); | 381 | EXPORT_SYMBOL(drm_idlelock_release); |
387 | 382 | ||
diff --git a/drivers/char/drm/i915_dma.c b/drivers/char/drm/i915_dma.c index f47e46e3529f..88974342933c 100644 --- a/drivers/char/drm/i915_dma.c +++ b/drivers/char/drm/i915_dma.c | |||
@@ -415,13 +415,10 @@ static void i915_emit_breadcrumb(struct drm_device *dev) | |||
415 | drm_i915_private_t *dev_priv = dev->dev_private; | 415 | drm_i915_private_t *dev_priv = dev->dev_private; |
416 | RING_LOCALS; | 416 | RING_LOCALS; |
417 | 417 | ||
418 | if (++dev_priv->counter > BREADCRUMB_MASK) { | 418 | dev_priv->sarea_priv->last_enqueue = ++dev_priv->counter; |
419 | dev_priv->counter = 1; | ||
420 | DRM_DEBUG("Breadcrumb counter wrapped around\n"); | ||
421 | } | ||
422 | 419 | ||
423 | if (dev_priv->sarea_priv) | 420 | if (dev_priv->counter > 0x7FFFFFFFUL) |
424 | dev_priv->sarea_priv->last_enqueue = dev_priv->counter; | 421 | dev_priv->sarea_priv->last_enqueue = dev_priv->counter = 1; |
425 | 422 | ||
426 | BEGIN_LP_RING(4); | 423 | BEGIN_LP_RING(4); |
427 | OUT_RING(CMD_STORE_DWORD_IDX); | 424 | OUT_RING(CMD_STORE_DWORD_IDX); |
@@ -431,26 +428,6 @@ static void i915_emit_breadcrumb(struct drm_device *dev) | |||
431 | ADVANCE_LP_RING(); | 428 | ADVANCE_LP_RING(); |
432 | } | 429 | } |
433 | 430 | ||
434 | int i915_emit_mi_flush(struct drm_device *dev, uint32_t flush) | ||
435 | { | ||
436 | drm_i915_private_t *dev_priv = dev->dev_private; | ||
437 | uint32_t flush_cmd = CMD_MI_FLUSH; | ||
438 | RING_LOCALS; | ||
439 | |||
440 | flush_cmd |= flush; | ||
441 | |||
442 | i915_kernel_lost_context(dev); | ||
443 | |||
444 | BEGIN_LP_RING(4); | ||
445 | OUT_RING(flush_cmd); | ||
446 | OUT_RING(0); | ||
447 | OUT_RING(0); | ||
448 | OUT_RING(0); | ||
449 | ADVANCE_LP_RING(); | ||
450 | |||
451 | return 0; | ||
452 | } | ||
453 | |||
454 | static int i915_dispatch_cmdbuffer(struct drm_device * dev, | 431 | static int i915_dispatch_cmdbuffer(struct drm_device * dev, |
455 | drm_i915_cmdbuffer_t * cmd) | 432 | drm_i915_cmdbuffer_t * cmd) |
456 | { | 433 | { |
@@ -534,74 +511,52 @@ static int i915_dispatch_batchbuffer(struct drm_device * dev, | |||
534 | return 0; | 511 | return 0; |
535 | } | 512 | } |
536 | 513 | ||
537 | static void i915_do_dispatch_flip(struct drm_device * dev, int plane, int sync) | 514 | static int i915_dispatch_flip(struct drm_device * dev) |
538 | { | 515 | { |
539 | drm_i915_private_t *dev_priv = dev->dev_private; | 516 | drm_i915_private_t *dev_priv = dev->dev_private; |
540 | u32 num_pages, current_page, next_page, dspbase; | ||
541 | int shift = 2 * plane, x, y; | ||
542 | RING_LOCALS; | 517 | RING_LOCALS; |
543 | 518 | ||
544 | /* Calculate display base offset */ | 519 | DRM_DEBUG("%s: page=%d pfCurrentPage=%d\n", |
545 | num_pages = dev_priv->sarea_priv->third_handle ? 3 : 2; | 520 | __FUNCTION__, |
546 | current_page = (dev_priv->sarea_priv->pf_current_page >> shift) & 0x3; | 521 | dev_priv->current_page, |
547 | next_page = (current_page + 1) % num_pages; | 522 | dev_priv->sarea_priv->pf_current_page); |
548 | 523 | ||
549 | switch (next_page) { | 524 | i915_kernel_lost_context(dev); |
550 | default: | 525 | |
551 | case 0: | 526 | BEGIN_LP_RING(2); |
552 | dspbase = dev_priv->sarea_priv->front_offset; | 527 | OUT_RING(INST_PARSER_CLIENT | INST_OP_FLUSH | INST_FLUSH_MAP_CACHE); |
553 | break; | 528 | OUT_RING(0); |
554 | case 1: | 529 | ADVANCE_LP_RING(); |
555 | dspbase = dev_priv->sarea_priv->back_offset; | ||
556 | break; | ||
557 | case 2: | ||
558 | dspbase = dev_priv->sarea_priv->third_offset; | ||
559 | break; | ||
560 | } | ||
561 | 530 | ||
562 | if (plane == 0) { | 531 | BEGIN_LP_RING(6); |
563 | x = dev_priv->sarea_priv->planeA_x; | 532 | OUT_RING(CMD_OP_DISPLAYBUFFER_INFO | ASYNC_FLIP); |
564 | y = dev_priv->sarea_priv->planeA_y; | 533 | OUT_RING(0); |
534 | if (dev_priv->current_page == 0) { | ||
535 | OUT_RING(dev_priv->back_offset); | ||
536 | dev_priv->current_page = 1; | ||
565 | } else { | 537 | } else { |
566 | x = dev_priv->sarea_priv->planeB_x; | 538 | OUT_RING(dev_priv->front_offset); |
567 | y = dev_priv->sarea_priv->planeB_y; | 539 | dev_priv->current_page = 0; |
568 | } | 540 | } |
541 | OUT_RING(0); | ||
542 | ADVANCE_LP_RING(); | ||
569 | 543 | ||
570 | dspbase += (y * dev_priv->sarea_priv->pitch + x) * dev_priv->cpp; | 544 | BEGIN_LP_RING(2); |
545 | OUT_RING(MI_WAIT_FOR_EVENT | MI_WAIT_FOR_PLANE_A_FLIP); | ||
546 | OUT_RING(0); | ||
547 | ADVANCE_LP_RING(); | ||
571 | 548 | ||
572 | DRM_DEBUG("plane=%d current_page=%d dspbase=0x%x\n", plane, current_page, | 549 | dev_priv->sarea_priv->last_enqueue = dev_priv->counter++; |
573 | dspbase); | ||
574 | 550 | ||
575 | BEGIN_LP_RING(4); | 551 | BEGIN_LP_RING(4); |
576 | OUT_RING(sync ? 0 : | 552 | OUT_RING(CMD_STORE_DWORD_IDX); |
577 | (MI_WAIT_FOR_EVENT | (plane ? MI_WAIT_FOR_PLANE_B_FLIP : | 553 | OUT_RING(20); |
578 | MI_WAIT_FOR_PLANE_A_FLIP))); | 554 | OUT_RING(dev_priv->counter); |
579 | OUT_RING(CMD_OP_DISPLAYBUFFER_INFO | (sync ? 0 : ASYNC_FLIP) | | 555 | OUT_RING(0); |
580 | (plane ? DISPLAY_PLANE_B : DISPLAY_PLANE_A)); | ||
581 | OUT_RING(dev_priv->sarea_priv->pitch * dev_priv->cpp); | ||
582 | OUT_RING(dspbase); | ||
583 | ADVANCE_LP_RING(); | 556 | ADVANCE_LP_RING(); |
584 | 557 | ||
585 | dev_priv->sarea_priv->pf_current_page &= ~(0x3 << shift); | 558 | dev_priv->sarea_priv->pf_current_page = dev_priv->current_page; |
586 | dev_priv->sarea_priv->pf_current_page |= next_page << shift; | 559 | return 0; |
587 | } | ||
588 | |||
589 | void i915_dispatch_flip(struct drm_device * dev, int planes, int sync) | ||
590 | { | ||
591 | drm_i915_private_t *dev_priv = dev->dev_private; | ||
592 | int i; | ||
593 | |||
594 | DRM_DEBUG("planes=0x%x pfCurrentPage=%d\n", | ||
595 | planes, dev_priv->sarea_priv->pf_current_page); | ||
596 | |||
597 | i915_emit_mi_flush(dev, MI_READ_FLUSH | MI_EXE_FLUSH); | ||
598 | |||
599 | for (i = 0; i < 2; i++) | ||
600 | if (planes & (1 << i)) | ||
601 | i915_do_dispatch_flip(dev, i, sync); | ||
602 | |||
603 | i915_emit_breadcrumb(dev); | ||
604 | |||
605 | } | 560 | } |
606 | 561 | ||
607 | static int i915_quiescent(struct drm_device * dev) | 562 | static int i915_quiescent(struct drm_device * dev) |
@@ -624,6 +579,7 @@ static int i915_batchbuffer(struct drm_device *dev, void *data, | |||
624 | struct drm_file *file_priv) | 579 | struct drm_file *file_priv) |
625 | { | 580 | { |
626 | drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; | 581 | drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; |
582 | u32 *hw_status = dev_priv->hw_status_page; | ||
627 | drm_i915_sarea_t *sarea_priv = (drm_i915_sarea_t *) | 583 | drm_i915_sarea_t *sarea_priv = (drm_i915_sarea_t *) |
628 | dev_priv->sarea_priv; | 584 | dev_priv->sarea_priv; |
629 | drm_i915_batchbuffer_t *batch = data; | 585 | drm_i915_batchbuffer_t *batch = data; |
@@ -646,7 +602,7 @@ static int i915_batchbuffer(struct drm_device *dev, void *data, | |||
646 | 602 | ||
647 | ret = i915_dispatch_batchbuffer(dev, batch); | 603 | ret = i915_dispatch_batchbuffer(dev, batch); |
648 | 604 | ||
649 | sarea_priv->last_dispatch = READ_BREADCRUMB(dev_priv); | 605 | sarea_priv->last_dispatch = (int)hw_status[5]; |
650 | return ret; | 606 | return ret; |
651 | } | 607 | } |
652 | 608 | ||
@@ -654,6 +610,7 @@ static int i915_cmdbuffer(struct drm_device *dev, void *data, | |||
654 | struct drm_file *file_priv) | 610 | struct drm_file *file_priv) |
655 | { | 611 | { |
656 | drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; | 612 | drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; |
613 | u32 *hw_status = dev_priv->hw_status_page; | ||
657 | drm_i915_sarea_t *sarea_priv = (drm_i915_sarea_t *) | 614 | drm_i915_sarea_t *sarea_priv = (drm_i915_sarea_t *) |
658 | dev_priv->sarea_priv; | 615 | dev_priv->sarea_priv; |
659 | drm_i915_cmdbuffer_t *cmdbuf = data; | 616 | drm_i915_cmdbuffer_t *cmdbuf = data; |
@@ -678,51 +635,18 @@ static int i915_cmdbuffer(struct drm_device *dev, void *data, | |||
678 | return ret; | 635 | return ret; |
679 | } | 636 | } |
680 | 637 | ||
681 | sarea_priv->last_dispatch = READ_BREADCRUMB(dev_priv); | 638 | sarea_priv->last_dispatch = (int)hw_status[5]; |
682 | return 0; | ||
683 | } | ||
684 | |||
685 | static int i915_do_cleanup_pageflip(struct drm_device * dev) | ||
686 | { | ||
687 | drm_i915_private_t *dev_priv = dev->dev_private; | ||
688 | int i, planes, num_pages = dev_priv->sarea_priv->third_handle ? 3 : 2; | ||
689 | |||
690 | DRM_DEBUG("\n"); | ||
691 | |||
692 | for (i = 0, planes = 0; i < 2; i++) | ||
693 | if (dev_priv->sarea_priv->pf_current_page & (0x3 << (2 * i))) { | ||
694 | dev_priv->sarea_priv->pf_current_page = | ||
695 | (dev_priv->sarea_priv->pf_current_page & | ||
696 | ~(0x3 << (2 * i))) | ((num_pages - 1) << (2 * i)); | ||
697 | |||
698 | planes |= 1 << i; | ||
699 | } | ||
700 | |||
701 | if (planes) | ||
702 | i915_dispatch_flip(dev, planes, 0); | ||
703 | |||
704 | return 0; | 639 | return 0; |
705 | } | 640 | } |
706 | 641 | ||
707 | static int i915_flip_bufs(struct drm_device *dev, void *data, | 642 | static int i915_flip_bufs(struct drm_device *dev, void *data, |
708 | struct drm_file *file_priv) | 643 | struct drm_file *file_priv) |
709 | { | 644 | { |
710 | drm_i915_flip_t *param = data; | 645 | DRM_DEBUG("%s\n", __FUNCTION__); |
711 | |||
712 | DRM_DEBUG("\n"); | ||
713 | 646 | ||
714 | LOCK_TEST_WITH_RETURN(dev, file_priv); | 647 | LOCK_TEST_WITH_RETURN(dev, file_priv); |
715 | 648 | ||
716 | /* This is really planes */ | 649 | return i915_dispatch_flip(dev); |
717 | if (param->pipes & ~0x3) { | ||
718 | DRM_ERROR("Invalid planes 0x%x, only <= 0x3 is valid\n", | ||
719 | param->pipes); | ||
720 | return -EINVAL; | ||
721 | } | ||
722 | |||
723 | i915_dispatch_flip(dev, param->pipes, 0); | ||
724 | |||
725 | return 0; | ||
726 | } | 650 | } |
727 | 651 | ||
728 | static int i915_getparam(struct drm_device *dev, void *data, | 652 | static int i915_getparam(struct drm_device *dev, void *data, |
@@ -883,8 +807,6 @@ void i915_driver_lastclose(struct drm_device * dev) | |||
883 | if (!dev_priv) | 807 | if (!dev_priv) |
884 | return; | 808 | return; |
885 | 809 | ||
886 | if (drm_getsarea(dev) && dev_priv->sarea_priv) | ||
887 | i915_do_cleanup_pageflip(dev); | ||
888 | if (dev_priv->agp_heap) | 810 | if (dev_priv->agp_heap) |
889 | i915_mem_takedown(&(dev_priv->agp_heap)); | 811 | i915_mem_takedown(&(dev_priv->agp_heap)); |
890 | 812 | ||
diff --git a/drivers/char/drm/i915_drm.h b/drivers/char/drm/i915_drm.h index 0431c00e2289..05c66cf03a9e 100644 --- a/drivers/char/drm/i915_drm.h +++ b/drivers/char/drm/i915_drm.h | |||
@@ -105,29 +105,14 @@ typedef struct _drm_i915_sarea { | |||
105 | unsigned int rotated_tiled; | 105 | unsigned int rotated_tiled; |
106 | unsigned int rotated2_tiled; | 106 | unsigned int rotated2_tiled; |
107 | 107 | ||
108 | int planeA_x; | 108 | int pipeA_x; |
109 | int planeA_y; | 109 | int pipeA_y; |
110 | int planeA_w; | 110 | int pipeA_w; |
111 | int planeA_h; | 111 | int pipeA_h; |
112 | int planeB_x; | 112 | int pipeB_x; |
113 | int planeB_y; | 113 | int pipeB_y; |
114 | int planeB_w; | 114 | int pipeB_w; |
115 | int planeB_h; | 115 | int pipeB_h; |
116 | |||
117 | /* Triple buffering */ | ||
118 | drm_handle_t third_handle; | ||
119 | int third_offset; | ||
120 | int third_size; | ||
121 | unsigned int third_tiled; | ||
122 | |||
123 | /* buffer object handles for the static buffers. May change | ||
124 | * over the lifetime of the client, though it doesn't in our current | ||
125 | * implementation. | ||
126 | */ | ||
127 | unsigned int front_bo_handle; | ||
128 | unsigned int back_bo_handle; | ||
129 | unsigned int third_bo_handle; | ||
130 | unsigned int depth_bo_handle; | ||
131 | } drm_i915_sarea_t; | 116 | } drm_i915_sarea_t; |
132 | 117 | ||
133 | /* Flags for perf_boxes | 118 | /* Flags for perf_boxes |
@@ -161,7 +146,7 @@ typedef struct _drm_i915_sarea { | |||
161 | 146 | ||
162 | #define DRM_IOCTL_I915_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t) | 147 | #define DRM_IOCTL_I915_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t) |
163 | #define DRM_IOCTL_I915_FLUSH DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLUSH) | 148 | #define DRM_IOCTL_I915_FLUSH DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLUSH) |
164 | #define DRM_IOCTL_I915_FLIP DRM_IOW( DRM_COMMAND_BASE + DRM_I915_FLIP, drm_i915_flip_t) | 149 | #define DRM_IOCTL_I915_FLIP DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLIP) |
165 | #define DRM_IOCTL_I915_BATCHBUFFER DRM_IOW( DRM_COMMAND_BASE + DRM_I915_BATCHBUFFER, drm_i915_batchbuffer_t) | 150 | #define DRM_IOCTL_I915_BATCHBUFFER DRM_IOW( DRM_COMMAND_BASE + DRM_I915_BATCHBUFFER, drm_i915_batchbuffer_t) |
166 | #define DRM_IOCTL_I915_IRQ_EMIT DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_IRQ_EMIT, drm_i915_irq_emit_t) | 151 | #define DRM_IOCTL_I915_IRQ_EMIT DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_IRQ_EMIT, drm_i915_irq_emit_t) |
167 | #define DRM_IOCTL_I915_IRQ_WAIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_IRQ_WAIT, drm_i915_irq_wait_t) | 152 | #define DRM_IOCTL_I915_IRQ_WAIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_IRQ_WAIT, drm_i915_irq_wait_t) |
@@ -176,18 +161,6 @@ typedef struct _drm_i915_sarea { | |||
176 | #define DRM_IOCTL_I915_GET_VBLANK_PIPE DRM_IOR( DRM_COMMAND_BASE + DRM_I915_GET_VBLANK_PIPE, drm_i915_vblank_pipe_t) | 161 | #define DRM_IOCTL_I915_GET_VBLANK_PIPE DRM_IOR( DRM_COMMAND_BASE + DRM_I915_GET_VBLANK_PIPE, drm_i915_vblank_pipe_t) |
177 | #define DRM_IOCTL_I915_VBLANK_SWAP DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_VBLANK_SWAP, drm_i915_vblank_swap_t) | 162 | #define DRM_IOCTL_I915_VBLANK_SWAP DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_VBLANK_SWAP, drm_i915_vblank_swap_t) |
178 | 163 | ||
179 | /* Asynchronous page flipping: | ||
180 | */ | ||
181 | typedef struct drm_i915_flip { | ||
182 | /* | ||
183 | * This is really talking about planes, and we could rename it | ||
184 | * except for the fact that some of the duplicated i915_drm.h files | ||
185 | * out there check for HAVE_I915_FLIP and so might pick up this | ||
186 | * version. | ||
187 | */ | ||
188 | int pipes; | ||
189 | } drm_i915_flip_t; | ||
190 | |||
191 | /* Allow drivers to submit batchbuffers directly to hardware, relying | 164 | /* Allow drivers to submit batchbuffers directly to hardware, relying |
192 | * on the security mechanisms provided by hardware. | 165 | * on the security mechanisms provided by hardware. |
193 | */ | 166 | */ |
diff --git a/drivers/char/drm/i915_drv.c b/drivers/char/drm/i915_drv.c index bb8f1b2fb383..e8f3d682e3b1 100644 --- a/drivers/char/drm/i915_drv.c +++ b/drivers/char/drm/i915_drv.c | |||
@@ -147,7 +147,7 @@ static void i915_save_vga(struct drm_device *dev) | |||
147 | i915_write_indexed(cr_index, cr_data, 0x11, | 147 | i915_write_indexed(cr_index, cr_data, 0x11, |
148 | i915_read_indexed(cr_index, cr_data, 0x11) & | 148 | i915_read_indexed(cr_index, cr_data, 0x11) & |
149 | (~0x80)); | 149 | (~0x80)); |
150 | for (i = 0; i < 0x24; i++) | 150 | for (i = 0; i <= 0x24; i++) |
151 | dev_priv->saveCR[i] = | 151 | dev_priv->saveCR[i] = |
152 | i915_read_indexed(cr_index, cr_data, i); | 152 | i915_read_indexed(cr_index, cr_data, i); |
153 | /* Make sure we don't turn off CR group 0 writes */ | 153 | /* Make sure we don't turn off CR group 0 writes */ |
@@ -156,7 +156,7 @@ static void i915_save_vga(struct drm_device *dev) | |||
156 | /* Attribute controller registers */ | 156 | /* Attribute controller registers */ |
157 | inb(st01); | 157 | inb(st01); |
158 | dev_priv->saveAR_INDEX = inb(VGA_AR_INDEX); | 158 | dev_priv->saveAR_INDEX = inb(VGA_AR_INDEX); |
159 | for (i = 0; i < 20; i++) | 159 | for (i = 0; i <= 0x14; i++) |
160 | dev_priv->saveAR[i] = i915_read_ar(st01, i, 0); | 160 | dev_priv->saveAR[i] = i915_read_ar(st01, i, 0); |
161 | inb(st01); | 161 | inb(st01); |
162 | outb(dev_priv->saveAR_INDEX, VGA_AR_INDEX); | 162 | outb(dev_priv->saveAR_INDEX, VGA_AR_INDEX); |
@@ -206,7 +206,7 @@ static void i915_restore_vga(struct drm_device *dev) | |||
206 | /* CRT controller regs */ | 206 | /* CRT controller regs */ |
207 | /* Enable CR group 0 writes */ | 207 | /* Enable CR group 0 writes */ |
208 | i915_write_indexed(cr_index, cr_data, 0x11, dev_priv->saveCR[0x11]); | 208 | i915_write_indexed(cr_index, cr_data, 0x11, dev_priv->saveCR[0x11]); |
209 | for (i = 0; i < 0x24; i++) | 209 | for (i = 0; i <= 0x24; i++) |
210 | i915_write_indexed(cr_index, cr_data, i, dev_priv->saveCR[i]); | 210 | i915_write_indexed(cr_index, cr_data, i, dev_priv->saveCR[i]); |
211 | 211 | ||
212 | /* Graphics controller regs */ | 212 | /* Graphics controller regs */ |
@@ -223,7 +223,7 @@ static void i915_restore_vga(struct drm_device *dev) | |||
223 | 223 | ||
224 | /* Attribute controller registers */ | 224 | /* Attribute controller registers */ |
225 | inb(st01); | 225 | inb(st01); |
226 | for (i = 0; i < 20; i++) | 226 | for (i = 0; i <= 0x14; i++) |
227 | i915_write_ar(st01, i, dev_priv->saveAR[i], 0); | 227 | i915_write_ar(st01, i, dev_priv->saveAR[i], 0); |
228 | inb(st01); /* switch back to index mode */ | 228 | inb(st01); /* switch back to index mode */ |
229 | outb(dev_priv->saveAR_INDEX | 0x20, VGA_AR_INDEX); | 229 | outb(dev_priv->saveAR_INDEX | 0x20, VGA_AR_INDEX); |
@@ -256,6 +256,9 @@ static int i915_suspend(struct drm_device *dev, pm_message_t state) | |||
256 | pci_save_state(dev->pdev); | 256 | pci_save_state(dev->pdev); |
257 | pci_read_config_byte(dev->pdev, LBB, &dev_priv->saveLBB); | 257 | pci_read_config_byte(dev->pdev, LBB, &dev_priv->saveLBB); |
258 | 258 | ||
259 | /* Display arbitration control */ | ||
260 | dev_priv->saveDSPARB = I915_READ(DSPARB); | ||
261 | |||
259 | /* Pipe & plane A info */ | 262 | /* Pipe & plane A info */ |
260 | dev_priv->savePIPEACONF = I915_READ(PIPEACONF); | 263 | dev_priv->savePIPEACONF = I915_READ(PIPEACONF); |
261 | dev_priv->savePIPEASRC = I915_READ(PIPEASRC); | 264 | dev_priv->savePIPEASRC = I915_READ(PIPEASRC); |
@@ -349,6 +352,7 @@ static int i915_suspend(struct drm_device *dev, pm_message_t state) | |||
349 | dev_priv->saveVGACNTRL = I915_READ(VGACNTRL); | 352 | dev_priv->saveVGACNTRL = I915_READ(VGACNTRL); |
350 | 353 | ||
351 | /* Clock gating state */ | 354 | /* Clock gating state */ |
355 | dev_priv->saveD_STATE = I915_READ(D_STATE); | ||
352 | dev_priv->saveDSPCLK_GATE_D = I915_READ(DSPCLK_GATE_D); | 356 | dev_priv->saveDSPCLK_GATE_D = I915_READ(DSPCLK_GATE_D); |
353 | 357 | ||
354 | /* Cache mode state */ | 358 | /* Cache mode state */ |
@@ -388,6 +392,8 @@ static int i915_resume(struct drm_device *dev) | |||
388 | 392 | ||
389 | pci_write_config_byte(dev->pdev, LBB, dev_priv->saveLBB); | 393 | pci_write_config_byte(dev->pdev, LBB, dev_priv->saveLBB); |
390 | 394 | ||
395 | I915_WRITE(DSPARB, dev_priv->saveDSPARB); | ||
396 | |||
391 | /* Pipe & plane A info */ | 397 | /* Pipe & plane A info */ |
392 | /* Prime the clock */ | 398 | /* Prime the clock */ |
393 | if (dev_priv->saveDPLL_A & DPLL_VCO_ENABLE) { | 399 | if (dev_priv->saveDPLL_A & DPLL_VCO_ENABLE) { |
@@ -507,6 +513,7 @@ static int i915_resume(struct drm_device *dev) | |||
507 | udelay(150); | 513 | udelay(150); |
508 | 514 | ||
509 | /* Clock gating state */ | 515 | /* Clock gating state */ |
516 | I915_WRITE (D_STATE, dev_priv->saveD_STATE); | ||
510 | I915_WRITE (DSPCLK_GATE_D, dev_priv->saveDSPCLK_GATE_D); | 517 | I915_WRITE (DSPCLK_GATE_D, dev_priv->saveDSPCLK_GATE_D); |
511 | 518 | ||
512 | /* Cache mode state */ | 519 | /* Cache mode state */ |
@@ -533,7 +540,8 @@ static struct drm_driver driver = { | |||
533 | */ | 540 | */ |
534 | .driver_features = | 541 | .driver_features = |
535 | DRIVER_USE_AGP | DRIVER_REQUIRE_AGP | /* DRIVER_USE_MTRR |*/ | 542 | DRIVER_USE_AGP | DRIVER_REQUIRE_AGP | /* DRIVER_USE_MTRR |*/ |
536 | DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED, | 543 | DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED | DRIVER_IRQ_VBL | |
544 | DRIVER_IRQ_VBL2, | ||
537 | .load = i915_driver_load, | 545 | .load = i915_driver_load, |
538 | .unload = i915_driver_unload, | 546 | .unload = i915_driver_unload, |
539 | .lastclose = i915_driver_lastclose, | 547 | .lastclose = i915_driver_lastclose, |
@@ -541,9 +549,8 @@ static struct drm_driver driver = { | |||
541 | .suspend = i915_suspend, | 549 | .suspend = i915_suspend, |
542 | .resume = i915_resume, | 550 | .resume = i915_resume, |
543 | .device_is_agp = i915_driver_device_is_agp, | 551 | .device_is_agp = i915_driver_device_is_agp, |
544 | .get_vblank_counter = i915_get_vblank_counter, | 552 | .vblank_wait = i915_driver_vblank_wait, |
545 | .enable_vblank = i915_enable_vblank, | 553 | .vblank_wait2 = i915_driver_vblank_wait2, |
546 | .disable_vblank = i915_disable_vblank, | ||
547 | .irq_preinstall = i915_driver_irq_preinstall, | 554 | .irq_preinstall = i915_driver_irq_preinstall, |
548 | .irq_postinstall = i915_driver_irq_postinstall, | 555 | .irq_postinstall = i915_driver_irq_postinstall, |
549 | .irq_uninstall = i915_driver_irq_uninstall, | 556 | .irq_uninstall = i915_driver_irq_uninstall, |
diff --git a/drivers/char/drm/i915_drv.h b/drivers/char/drm/i915_drv.h index db7001f22561..1b20f7c0639c 100644 --- a/drivers/char/drm/i915_drv.h +++ b/drivers/char/drm/i915_drv.h | |||
@@ -76,9 +76,8 @@ struct mem_block { | |||
76 | typedef struct _drm_i915_vbl_swap { | 76 | typedef struct _drm_i915_vbl_swap { |
77 | struct list_head head; | 77 | struct list_head head; |
78 | drm_drawable_t drw_id; | 78 | drm_drawable_t drw_id; |
79 | unsigned int plane; | 79 | unsigned int pipe; |
80 | unsigned int sequence; | 80 | unsigned int sequence; |
81 | int flip; | ||
82 | } drm_i915_vbl_swap_t; | 81 | } drm_i915_vbl_swap_t; |
83 | 82 | ||
84 | typedef struct drm_i915_private { | 83 | typedef struct drm_i915_private { |
@@ -91,7 +90,7 @@ typedef struct drm_i915_private { | |||
91 | drm_dma_handle_t *status_page_dmah; | 90 | drm_dma_handle_t *status_page_dmah; |
92 | void *hw_status_page; | 91 | void *hw_status_page; |
93 | dma_addr_t dma_status_page; | 92 | dma_addr_t dma_status_page; |
94 | uint32_t counter; | 93 | unsigned long counter; |
95 | unsigned int status_gfx_addr; | 94 | unsigned int status_gfx_addr; |
96 | drm_local_map_t hws_map; | 95 | drm_local_map_t hws_map; |
97 | 96 | ||
@@ -104,18 +103,13 @@ typedef struct drm_i915_private { | |||
104 | 103 | ||
105 | wait_queue_head_t irq_queue; | 104 | wait_queue_head_t irq_queue; |
106 | atomic_t irq_received; | 105 | atomic_t irq_received; |
107 | atomic_t irq_emited; | 106 | atomic_t irq_emitted; |
108 | 107 | ||
109 | int tex_lru_log_granularity; | 108 | int tex_lru_log_granularity; |
110 | int allow_batchbuffer; | 109 | int allow_batchbuffer; |
111 | struct mem_block *agp_heap; | 110 | struct mem_block *agp_heap; |
112 | unsigned int sr01, adpa, ppcr, dvob, dvoc, lvds; | 111 | unsigned int sr01, adpa, ppcr, dvob, dvoc, lvds; |
113 | int vblank_pipe; | 112 | int vblank_pipe; |
114 | spinlock_t user_irq_lock; | ||
115 | int user_irq_refcount; | ||
116 | int fence_irq_on; | ||
117 | uint32_t irq_enable_reg; | ||
118 | int irq_enabled; | ||
119 | 113 | ||
120 | spinlock_t swaps_lock; | 114 | spinlock_t swaps_lock; |
121 | drm_i915_vbl_swap_t vbl_swaps; | 115 | drm_i915_vbl_swap_t vbl_swaps; |
@@ -125,6 +119,7 @@ typedef struct drm_i915_private { | |||
125 | u8 saveLBB; | 119 | u8 saveLBB; |
126 | u32 saveDSPACNTR; | 120 | u32 saveDSPACNTR; |
127 | u32 saveDSPBCNTR; | 121 | u32 saveDSPBCNTR; |
122 | u32 saveDSPARB; | ||
128 | u32 savePIPEACONF; | 123 | u32 savePIPEACONF; |
129 | u32 savePIPEBCONF; | 124 | u32 savePIPEBCONF; |
130 | u32 savePIPEASRC; | 125 | u32 savePIPEASRC; |
@@ -194,6 +189,7 @@ typedef struct drm_i915_private { | |||
194 | u32 saveIIR; | 189 | u32 saveIIR; |
195 | u32 saveIMR; | 190 | u32 saveIMR; |
196 | u32 saveCACHE_MODE_0; | 191 | u32 saveCACHE_MODE_0; |
192 | u32 saveD_STATE; | ||
197 | u32 saveDSPCLK_GATE_D; | 193 | u32 saveDSPCLK_GATE_D; |
198 | u32 saveMI_ARB_STATE; | 194 | u32 saveMI_ARB_STATE; |
199 | u32 saveSWF0[16]; | 195 | u32 saveSWF0[16]; |
@@ -203,10 +199,10 @@ typedef struct drm_i915_private { | |||
203 | u8 saveSR[8]; | 199 | u8 saveSR[8]; |
204 | u8 saveGR[25]; | 200 | u8 saveGR[25]; |
205 | u8 saveAR_INDEX; | 201 | u8 saveAR_INDEX; |
206 | u8 saveAR[20]; | 202 | u8 saveAR[21]; |
207 | u8 saveDACMASK; | 203 | u8 saveDACMASK; |
208 | u8 saveDACDATA[256*3]; /* 256 3-byte colors */ | 204 | u8 saveDACDATA[256*3]; /* 256 3-byte colors */ |
209 | u8 saveCR[36]; | 205 | u8 saveCR[37]; |
210 | } drm_i915_private_t; | 206 | } drm_i915_private_t; |
211 | 207 | ||
212 | extern struct drm_ioctl_desc i915_ioctls[]; | 208 | extern struct drm_ioctl_desc i915_ioctls[]; |
@@ -222,7 +218,7 @@ extern void i915_driver_preclose(struct drm_device *dev, | |||
222 | extern int i915_driver_device_is_agp(struct drm_device * dev); | 218 | extern int i915_driver_device_is_agp(struct drm_device * dev); |
223 | extern long i915_compat_ioctl(struct file *filp, unsigned int cmd, | 219 | extern long i915_compat_ioctl(struct file *filp, unsigned int cmd, |
224 | unsigned long arg); | 220 | unsigned long arg); |
225 | extern void i915_dispatch_flip(struct drm_device * dev, int pipes, int sync); | 221 | |
226 | /* i915_irq.c */ | 222 | /* i915_irq.c */ |
227 | extern int i915_irq_emit(struct drm_device *dev, void *data, | 223 | extern int i915_irq_emit(struct drm_device *dev, void *data, |
228 | struct drm_file *file_priv); | 224 | struct drm_file *file_priv); |
@@ -233,7 +229,7 @@ extern int i915_driver_vblank_wait(struct drm_device *dev, unsigned int *sequenc | |||
233 | extern int i915_driver_vblank_wait2(struct drm_device *dev, unsigned int *sequence); | 229 | extern int i915_driver_vblank_wait2(struct drm_device *dev, unsigned int *sequence); |
234 | extern irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS); | 230 | extern irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS); |
235 | extern void i915_driver_irq_preinstall(struct drm_device * dev); | 231 | extern void i915_driver_irq_preinstall(struct drm_device * dev); |
236 | extern int i915_driver_irq_postinstall(struct drm_device * dev); | 232 | extern void i915_driver_irq_postinstall(struct drm_device * dev); |
237 | extern void i915_driver_irq_uninstall(struct drm_device * dev); | 233 | extern void i915_driver_irq_uninstall(struct drm_device * dev); |
238 | extern int i915_vblank_pipe_set(struct drm_device *dev, void *data, | 234 | extern int i915_vblank_pipe_set(struct drm_device *dev, void *data, |
239 | struct drm_file *file_priv); | 235 | struct drm_file *file_priv); |
@@ -241,9 +237,6 @@ extern int i915_vblank_pipe_get(struct drm_device *dev, void *data, | |||
241 | struct drm_file *file_priv); | 237 | struct drm_file *file_priv); |
242 | extern int i915_vblank_swap(struct drm_device *dev, void *data, | 238 | extern int i915_vblank_swap(struct drm_device *dev, void *data, |
243 | struct drm_file *file_priv); | 239 | struct drm_file *file_priv); |
244 | extern int i915_enable_vblank(struct drm_device *dev, int crtc); | ||
245 | extern void i915_disable_vblank(struct drm_device *dev, int crtc); | ||
246 | extern u32 i915_get_vblank_counter(struct drm_device *dev, int crtc); | ||
247 | 240 | ||
248 | /* i915_mem.c */ | 241 | /* i915_mem.c */ |
249 | extern int i915_mem_alloc(struct drm_device *dev, void *data, | 242 | extern int i915_mem_alloc(struct drm_device *dev, void *data, |
@@ -388,91 +381,21 @@ extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller); | |||
388 | 381 | ||
389 | /* Interrupt bits: | 382 | /* Interrupt bits: |
390 | */ | 383 | */ |
391 | #define I915_PIPE_CONTROL_NOTIFY_INTERRUPT (1<<18) | 384 | #define USER_INT_FLAG (1<<1) |
392 | #define I915_DISPLAY_PORT_INTERRUPT (1<<17) | 385 | #define VSYNC_PIPEB_FLAG (1<<5) |
393 | #define I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT (1<<15) | 386 | #define VSYNC_PIPEA_FLAG (1<<7) |
394 | #define I915_GMCH_THERMAL_SENSOR_EVENT_INTERRUPT (1<<14) | 387 | #define HWB_OOM_FLAG (1<<13) /* binner out of memory */ |
395 | #define I915_HWB_OOM_INTERRUPT (1<<13) /* binner out of memory */ | ||
396 | #define I915_SYNC_STATUS_INTERRUPT (1<<12) | ||
397 | #define I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT (1<<11) | ||
398 | #define I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT (1<<10) | ||
399 | #define I915_OVERLAY_PLANE_FLIP_PENDING_INTERRUPT (1<<9) | ||
400 | #define I915_DISPLAY_PLANE_C_FLIP_PENDING_INTERRUPT (1<<8) | ||
401 | #define I915_DISPLAY_PIPE_A_VBLANK_INTERRUPT (1<<7) | ||
402 | #define I915_DISPLAY_PIPE_A_EVENT_INTERRUPT (1<<6) | ||
403 | #define I915_DISPLAY_PIPE_B_VBLANK_INTERRUPT (1<<5) | ||
404 | #define I915_DISPLAY_PIPE_B_EVENT_INTERRUPT (1<<4) | ||
405 | #define I915_DEBUG_INTERRUPT (1<<2) | ||
406 | #define I915_USER_INTERRUPT (1<<1) | ||
407 | |||
408 | 388 | ||
409 | #define I915REG_HWSTAM 0x02098 | 389 | #define I915REG_HWSTAM 0x02098 |
410 | #define I915REG_INT_IDENTITY_R 0x020a4 | 390 | #define I915REG_INT_IDENTITY_R 0x020a4 |
411 | #define I915REG_INT_MASK_R 0x020a8 | 391 | #define I915REG_INT_MASK_R 0x020a8 |
412 | #define I915REG_INT_ENABLE_R 0x020a0 | 392 | #define I915REG_INT_ENABLE_R 0x020a0 |
413 | #define I915REG_INSTPM 0x020c0 | ||
414 | |||
415 | #define PIPEADSL 0x70000 | ||
416 | #define PIPEBDSL 0x71000 | ||
417 | 393 | ||
418 | #define I915REG_PIPEASTAT 0x70024 | 394 | #define I915REG_PIPEASTAT 0x70024 |
419 | #define I915REG_PIPEBSTAT 0x71024 | 395 | #define I915REG_PIPEBSTAT 0x71024 |
420 | /* | ||
421 | * The two pipe frame counter registers are not synchronized, so | ||
422 | * reading a stable value is somewhat tricky. The following code | ||
423 | * should work: | ||
424 | * | ||
425 | * do { | ||
426 | * high1 = ((INREG(PIPEAFRAMEHIGH) & PIPE_FRAME_HIGH_MASK) >> | ||
427 | * PIPE_FRAME_HIGH_SHIFT; | ||
428 | * low1 = ((INREG(PIPEAFRAMEPIXEL) & PIPE_FRAME_LOW_MASK) >> | ||
429 | * PIPE_FRAME_LOW_SHIFT); | ||
430 | * high2 = ((INREG(PIPEAFRAMEHIGH) & PIPE_FRAME_HIGH_MASK) >> | ||
431 | * PIPE_FRAME_HIGH_SHIFT); | ||
432 | * } while (high1 != high2); | ||
433 | * frame = (high1 << 8) | low1; | ||
434 | */ | ||
435 | #define PIPEAFRAMEHIGH 0x70040 | ||
436 | #define PIPEBFRAMEHIGH 0x71040 | ||
437 | #define PIPE_FRAME_HIGH_MASK 0x0000ffff | ||
438 | #define PIPE_FRAME_HIGH_SHIFT 0 | ||
439 | #define PIPEAFRAMEPIXEL 0x70044 | ||
440 | #define PIPEBFRAMEPIXEL 0x71044 | ||
441 | 396 | ||
442 | #define PIPE_FRAME_LOW_MASK 0xff000000 | 397 | #define I915_VBLANK_INTERRUPT_ENABLE (1UL<<17) |
443 | #define PIPE_FRAME_LOW_SHIFT 24 | 398 | #define I915_VBLANK_CLEAR (1UL<<1) |
444 | /* | ||
445 | * Pixel within the current frame is counted in the PIPEAFRAMEPIXEL register | ||
446 | * and is 24 bits wide. | ||
447 | */ | ||
448 | #define PIPE_PIXEL_MASK 0x00ffffff | ||
449 | #define PIPE_PIXEL_SHIFT 0 | ||
450 | |||
451 | #define I915_FIFO_UNDERRUN_STATUS (1UL<<31) | ||
452 | #define I915_CRC_ERROR_ENABLE (1UL<<29) | ||
453 | #define I915_CRC_DONE_ENABLE (1UL<<28) | ||
454 | #define I915_GMBUS_EVENT_ENABLE (1UL<<27) | ||
455 | #define I915_VSYNC_INTERRUPT_ENABLE (1UL<<25) | ||
456 | #define I915_DISPLAY_LINE_COMPARE_ENABLE (1UL<<24) | ||
457 | #define I915_DPST_EVENT_ENABLE (1UL<<23) | ||
458 | #define I915_LEGACY_BLC_EVENT_ENABLE (1UL<<22) | ||
459 | #define I915_ODD_FIELD_INTERRUPT_ENABLE (1UL<<21) | ||
460 | #define I915_EVEN_FIELD_INTERRUPT_ENABLE (1UL<<20) | ||
461 | #define I915_START_VBLANK_INTERRUPT_ENABLE (1UL<<18) /* 965 or later */ | ||
462 | #define I915_VBLANK_INTERRUPT_ENABLE (1UL<<17) | ||
463 | #define I915_OVERLAY_UPDATED_ENABLE (1UL<<16) | ||
464 | #define I915_CRC_ERROR_INTERRUPT_STATUS (1UL<<13) | ||
465 | #define I915_CRC_DONE_INTERRUPT_STATUS (1UL<<12) | ||
466 | #define I915_GMBUS_INTERRUPT_STATUS (1UL<<11) | ||
467 | #define I915_VSYNC_INTERRUPT_STATUS (1UL<<9) | ||
468 | #define I915_DISPLAY_LINE_COMPARE_STATUS (1UL<<8) | ||
469 | #define I915_DPST_EVENT_STATUS (1UL<<7) | ||
470 | #define I915_LEGACY_BLC_EVENT_STATUS (1UL<<6) | ||
471 | #define I915_ODD_FIELD_INTERRUPT_STATUS (1UL<<5) | ||
472 | #define I915_EVEN_FIELD_INTERRUPT_STATUS (1UL<<4) | ||
473 | #define I915_START_VBLANK_INTERRUPT_STATUS (1UL<<2) /* 965 or later */ | ||
474 | #define I915_VBLANK_INTERRUPT_STATUS (1UL<<1) | ||
475 | #define I915_OVERLAY_UPDATED_STATUS (1UL<<0) | ||
476 | 399 | ||
477 | #define SRX_INDEX 0x3c4 | 400 | #define SRX_INDEX 0x3c4 |
478 | #define SRX_DATA 0x3c5 | 401 | #define SRX_DATA 0x3c5 |
@@ -749,6 +672,8 @@ extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller); | |||
749 | /** P1 value is 2 greater than this field */ | 672 | /** P1 value is 2 greater than this field */ |
750 | # define VGA0_PD_P1_MASK (0x1f << 0) | 673 | # define VGA0_PD_P1_MASK (0x1f << 0) |
751 | 674 | ||
675 | /* PCI D state control register */ | ||
676 | #define D_STATE 0x6104 | ||
752 | #define DSPCLK_GATE_D 0x6200 | 677 | #define DSPCLK_GATE_D 0x6200 |
753 | 678 | ||
754 | /* I830 CRTC registers */ | 679 | /* I830 CRTC registers */ |
@@ -1059,6 +984,12 @@ extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller); | |||
1059 | #define PIPECONF_INTERLACE_W_FIELD_INDICATION (6 << 21) | 984 | #define PIPECONF_INTERLACE_W_FIELD_INDICATION (6 << 21) |
1060 | #define PIPECONF_INTERLACE_FIELD_0_ONLY (7 << 21) | 985 | #define PIPECONF_INTERLACE_FIELD_0_ONLY (7 << 21) |
1061 | 986 | ||
987 | #define DSPARB 0x70030 | ||
988 | #define DSPARB_CSTART_MASK (0x7f << 7) | ||
989 | #define DSPARB_CSTART_SHIFT 7 | ||
990 | #define DSPARB_BSTART_MASK (0x7f) | ||
991 | #define DSPARB_BSTART_SHIFT 0 | ||
992 | |||
1062 | #define PIPEBCONF 0x71008 | 993 | #define PIPEBCONF 0x71008 |
1063 | #define PIPEBCONF_ENABLE (1<<31) | 994 | #define PIPEBCONF_ENABLE (1<<31) |
1064 | #define PIPEBCONF_DISABLE 0 | 995 | #define PIPEBCONF_DISABLE 0 |
diff --git a/drivers/char/drm/i915_irq.c b/drivers/char/drm/i915_irq.c index 023ce66ef3ab..f7f16e7a8bf3 100644 --- a/drivers/char/drm/i915_irq.c +++ b/drivers/char/drm/i915_irq.c | |||
@@ -38,109 +38,6 @@ | |||
38 | #define MAX_NOPID ((u32)~0) | 38 | #define MAX_NOPID ((u32)~0) |
39 | 39 | ||
40 | /** | 40 | /** |
41 | * i915_get_pipe - return the the pipe associated with a given plane | ||
42 | * @dev: DRM device | ||
43 | * @plane: plane to look for | ||
44 | * | ||
45 | * The Intel Mesa & 2D drivers call the vblank routines with a plane number | ||
46 | * rather than a pipe number, since they may not always be equal. This routine | ||
47 | * maps the given @plane back to a pipe number. | ||
48 | */ | ||
49 | static int | ||
50 | i915_get_pipe(struct drm_device *dev, int plane) | ||
51 | { | ||
52 | drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; | ||
53 | u32 dspcntr; | ||
54 | |||
55 | dspcntr = plane ? I915_READ(DSPBCNTR) : I915_READ(DSPACNTR); | ||
56 | |||
57 | return dspcntr & DISPPLANE_SEL_PIPE_MASK ? 1 : 0; | ||
58 | } | ||
59 | |||
60 | /** | ||
61 | * i915_get_plane - return the the plane associated with a given pipe | ||
62 | * @dev: DRM device | ||
63 | * @pipe: pipe to look for | ||
64 | * | ||
65 | * The Intel Mesa & 2D drivers call the vblank routines with a plane number | ||
66 | * rather than a plane number, since they may not always be equal. This routine | ||
67 | * maps the given @pipe back to a plane number. | ||
68 | */ | ||
69 | static int | ||
70 | i915_get_plane(struct drm_device *dev, int pipe) | ||
71 | { | ||
72 | if (i915_get_pipe(dev, 0) == pipe) | ||
73 | return 0; | ||
74 | return 1; | ||
75 | } | ||
76 | |||
77 | /** | ||
78 | * i915_pipe_enabled - check if a pipe is enabled | ||
79 | * @dev: DRM device | ||
80 | * @pipe: pipe to check | ||
81 | * | ||
82 | * Reading certain registers when the pipe is disabled can hang the chip. | ||
83 | * Use this routine to make sure the PLL is running and the pipe is active | ||
84 | * before reading such registers if unsure. | ||
85 | */ | ||
86 | static int | ||
87 | i915_pipe_enabled(struct drm_device *dev, int pipe) | ||
88 | { | ||
89 | drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; | ||
90 | unsigned long pipeconf = pipe ? PIPEBCONF : PIPEACONF; | ||
91 | |||
92 | if (I915_READ(pipeconf) & PIPEACONF_ENABLE) | ||
93 | return 1; | ||
94 | |||
95 | return 0; | ||
96 | } | ||
97 | |||
98 | /** | ||
99 | * Emit a synchronous flip. | ||
100 | * | ||
101 | * This function must be called with the drawable spinlock held. | ||
102 | */ | ||
103 | static void | ||
104 | i915_dispatch_vsync_flip(struct drm_device *dev, struct drm_drawable_info *drw, | ||
105 | int plane) | ||
106 | { | ||
107 | drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; | ||
108 | drm_i915_sarea_t *sarea_priv = dev_priv->sarea_priv; | ||
109 | u16 x1, y1, x2, y2; | ||
110 | int pf_planes = 1 << plane; | ||
111 | |||
112 | /* If the window is visible on the other plane, we have to flip on that | ||
113 | * plane as well. | ||
114 | */ | ||
115 | if (plane == 1) { | ||
116 | x1 = sarea_priv->planeA_x; | ||
117 | y1 = sarea_priv->planeA_y; | ||
118 | x2 = x1 + sarea_priv->planeA_w; | ||
119 | y2 = y1 + sarea_priv->planeA_h; | ||
120 | } else { | ||
121 | x1 = sarea_priv->planeB_x; | ||
122 | y1 = sarea_priv->planeB_y; | ||
123 | x2 = x1 + sarea_priv->planeB_w; | ||
124 | y2 = y1 + sarea_priv->planeB_h; | ||
125 | } | ||
126 | |||
127 | if (x2 > 0 && y2 > 0) { | ||
128 | int i, num_rects = drw->num_rects; | ||
129 | struct drm_clip_rect *rect = drw->rects; | ||
130 | |||
131 | for (i = 0; i < num_rects; i++) | ||
132 | if (!(rect[i].x1 >= x2 || rect[i].y1 >= y2 || | ||
133 | rect[i].x2 <= x1 || rect[i].y2 <= y1)) { | ||
134 | pf_planes = 0x3; | ||
135 | |||
136 | break; | ||
137 | } | ||
138 | } | ||
139 | |||
140 | i915_dispatch_flip(dev, pf_planes, 1); | ||
141 | } | ||
142 | |||
143 | /** | ||
144 | * Emit blits for scheduled buffer swaps. | 41 | * Emit blits for scheduled buffer swaps. |
145 | * | 42 | * |
146 | * This function will be called with the HW lock held. | 43 | * This function will be called with the HW lock held. |
@@ -148,19 +45,20 @@ i915_dispatch_vsync_flip(struct drm_device *dev, struct drm_drawable_info *drw, | |||
148 | static void i915_vblank_tasklet(struct drm_device *dev) | 45 | static void i915_vblank_tasklet(struct drm_device *dev) |
149 | { | 46 | { |
150 | drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; | 47 | drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; |
48 | unsigned long irqflags; | ||
151 | struct list_head *list, *tmp, hits, *hit; | 49 | struct list_head *list, *tmp, hits, *hit; |
152 | int nhits, nrects, slice[2], upper[2], lower[2], i, num_pages; | 50 | int nhits, nrects, slice[2], upper[2], lower[2], i; |
153 | unsigned counter[2]; | 51 | unsigned counter[2] = { atomic_read(&dev->vbl_received), |
52 | atomic_read(&dev->vbl_received2) }; | ||
154 | struct drm_drawable_info *drw; | 53 | struct drm_drawable_info *drw; |
155 | drm_i915_sarea_t *sarea_priv = dev_priv->sarea_priv; | 54 | drm_i915_sarea_t *sarea_priv = dev_priv->sarea_priv; |
156 | u32 cpp = dev_priv->cpp, offsets[3]; | 55 | u32 cpp = dev_priv->cpp; |
157 | u32 cmd = (cpp == 4) ? (XY_SRC_COPY_BLT_CMD | | 56 | u32 cmd = (cpp == 4) ? (XY_SRC_COPY_BLT_CMD | |
158 | XY_SRC_COPY_BLT_WRITE_ALPHA | | 57 | XY_SRC_COPY_BLT_WRITE_ALPHA | |
159 | XY_SRC_COPY_BLT_WRITE_RGB) | 58 | XY_SRC_COPY_BLT_WRITE_RGB) |
160 | : XY_SRC_COPY_BLT_CMD; | 59 | : XY_SRC_COPY_BLT_CMD; |
161 | u32 src_pitch = sarea_priv->pitch * cpp; | 60 | u32 src_pitch = sarea_priv->pitch * cpp; |
162 | u32 dst_pitch = sarea_priv->pitch * cpp; | 61 | u32 dst_pitch = sarea_priv->pitch * cpp; |
163 | /* COPY rop (0xcc), map cpp to magic color depth constants */ | ||
164 | u32 ropcpp = (0xcc << 16) | ((cpp - 1) << 24); | 62 | u32 ropcpp = (0xcc << 16) | ((cpp - 1) << 24); |
165 | RING_LOCALS; | 63 | RING_LOCALS; |
166 | 64 | ||
@@ -173,34 +71,24 @@ static void i915_vblank_tasklet(struct drm_device *dev) | |||
173 | src_pitch >>= 2; | 71 | src_pitch >>= 2; |
174 | } | 72 | } |
175 | 73 | ||
176 | counter[0] = drm_vblank_count(dev, 0); | ||
177 | counter[1] = drm_vblank_count(dev, 1); | ||
178 | |||
179 | DRM_DEBUG("\n"); | 74 | DRM_DEBUG("\n"); |
180 | 75 | ||
181 | INIT_LIST_HEAD(&hits); | 76 | INIT_LIST_HEAD(&hits); |
182 | 77 | ||
183 | nhits = nrects = 0; | 78 | nhits = nrects = 0; |
184 | 79 | ||
185 | /* No irqsave/restore necessary. This tasklet may be run in an | 80 | spin_lock_irqsave(&dev_priv->swaps_lock, irqflags); |
186 | * interrupt context or normal context, but we don't have to worry | ||
187 | * about getting interrupted by something acquiring the lock, because | ||
188 | * we are the interrupt context thing that acquires the lock. | ||
189 | */ | ||
190 | spin_lock(&dev_priv->swaps_lock); | ||
191 | 81 | ||
192 | /* Find buffer swaps scheduled for this vertical blank */ | 82 | /* Find buffer swaps scheduled for this vertical blank */ |
193 | list_for_each_safe(list, tmp, &dev_priv->vbl_swaps.head) { | 83 | list_for_each_safe(list, tmp, &dev_priv->vbl_swaps.head) { |
194 | drm_i915_vbl_swap_t *vbl_swap = | 84 | drm_i915_vbl_swap_t *vbl_swap = |
195 | list_entry(list, drm_i915_vbl_swap_t, head); | 85 | list_entry(list, drm_i915_vbl_swap_t, head); |
196 | int pipe = i915_get_pipe(dev, vbl_swap->plane); | ||
197 | 86 | ||
198 | if ((counter[pipe] - vbl_swap->sequence) > (1<<23)) | 87 | if ((counter[vbl_swap->pipe] - vbl_swap->sequence) > (1<<23)) |
199 | continue; | 88 | continue; |
200 | 89 | ||
201 | list_del(list); | 90 | list_del(list); |
202 | dev_priv->swaps_pending--; | 91 | dev_priv->swaps_pending--; |
203 | drm_vblank_put(dev, pipe); | ||
204 | 92 | ||
205 | spin_unlock(&dev_priv->swaps_lock); | 93 | spin_unlock(&dev_priv->swaps_lock); |
206 | spin_lock(&dev->drw_lock); | 94 | spin_lock(&dev->drw_lock); |
@@ -238,23 +126,43 @@ static void i915_vblank_tasklet(struct drm_device *dev) | |||
238 | spin_lock(&dev_priv->swaps_lock); | 126 | spin_lock(&dev_priv->swaps_lock); |
239 | } | 127 | } |
240 | 128 | ||
241 | spin_unlock(&dev_priv->swaps_lock); | 129 | if (nhits == 0) { |
242 | 130 | spin_unlock_irqrestore(&dev_priv->swaps_lock, irqflags); | |
243 | if (nhits == 0) | ||
244 | return; | 131 | return; |
132 | } | ||
133 | |||
134 | spin_unlock(&dev_priv->swaps_lock); | ||
245 | 135 | ||
246 | i915_kernel_lost_context(dev); | 136 | i915_kernel_lost_context(dev); |
247 | 137 | ||
248 | upper[0] = upper[1] = 0; | 138 | if (IS_I965G(dev)) { |
249 | slice[0] = max(sarea_priv->planeA_h / nhits, 1); | 139 | BEGIN_LP_RING(4); |
250 | slice[1] = max(sarea_priv->planeB_h / nhits, 1); | 140 | |
251 | lower[0] = sarea_priv->planeA_y + slice[0]; | 141 | OUT_RING(GFX_OP_DRAWRECT_INFO_I965); |
252 | lower[1] = sarea_priv->planeB_y + slice[0]; | 142 | OUT_RING(0); |
143 | OUT_RING(((sarea_priv->width - 1) & 0xffff) | ((sarea_priv->height - 1) << 16)); | ||
144 | OUT_RING(0); | ||
145 | ADVANCE_LP_RING(); | ||
146 | } else { | ||
147 | BEGIN_LP_RING(6); | ||
253 | 148 | ||
254 | offsets[0] = sarea_priv->front_offset; | 149 | OUT_RING(GFX_OP_DRAWRECT_INFO); |
255 | offsets[1] = sarea_priv->back_offset; | 150 | OUT_RING(0); |
256 | offsets[2] = sarea_priv->third_offset; | 151 | OUT_RING(0); |
257 | num_pages = sarea_priv->third_handle ? 3 : 2; | 152 | OUT_RING(sarea_priv->width | sarea_priv->height << 16); |
153 | OUT_RING(sarea_priv->width | sarea_priv->height << 16); | ||
154 | OUT_RING(0); | ||
155 | |||
156 | ADVANCE_LP_RING(); | ||
157 | } | ||
158 | |||
159 | sarea_priv->ctxOwner = DRM_KERNEL_CONTEXT; | ||
160 | |||
161 | upper[0] = upper[1] = 0; | ||
162 | slice[0] = max(sarea_priv->pipeA_h / nhits, 1); | ||
163 | slice[1] = max(sarea_priv->pipeB_h / nhits, 1); | ||
164 | lower[0] = sarea_priv->pipeA_y + slice[0]; | ||
165 | lower[1] = sarea_priv->pipeB_y + slice[0]; | ||
258 | 166 | ||
259 | spin_lock(&dev->drw_lock); | 167 | spin_lock(&dev->drw_lock); |
260 | 168 | ||
@@ -266,8 +174,6 @@ static void i915_vblank_tasklet(struct drm_device *dev) | |||
266 | for (i = 0; i++ < nhits; | 174 | for (i = 0; i++ < nhits; |
267 | upper[0] = lower[0], lower[0] += slice[0], | 175 | upper[0] = lower[0], lower[0] += slice[0], |
268 | upper[1] = lower[1], lower[1] += slice[1]) { | 176 | upper[1] = lower[1], lower[1] += slice[1]) { |
269 | int init_drawrect = 1; | ||
270 | |||
271 | if (i == nhits) | 177 | if (i == nhits) |
272 | lower[0] = lower[1] = sarea_priv->height; | 178 | lower[0] = lower[1] = sarea_priv->height; |
273 | 179 | ||
@@ -275,7 +181,7 @@ static void i915_vblank_tasklet(struct drm_device *dev) | |||
275 | drm_i915_vbl_swap_t *swap_hit = | 181 | drm_i915_vbl_swap_t *swap_hit = |
276 | list_entry(hit, drm_i915_vbl_swap_t, head); | 182 | list_entry(hit, drm_i915_vbl_swap_t, head); |
277 | struct drm_clip_rect *rect; | 183 | struct drm_clip_rect *rect; |
278 | int num_rects, plane, front, back; | 184 | int num_rects, pipe; |
279 | unsigned short top, bottom; | 185 | unsigned short top, bottom; |
280 | 186 | ||
281 | drw = drm_get_drawable_info(dev, swap_hit->drw_id); | 187 | drw = drm_get_drawable_info(dev, swap_hit->drw_id); |
@@ -283,50 +189,10 @@ static void i915_vblank_tasklet(struct drm_device *dev) | |||
283 | if (!drw) | 189 | if (!drw) |
284 | continue; | 190 | continue; |
285 | 191 | ||
286 | plane = swap_hit->plane; | ||
287 | |||
288 | if (swap_hit->flip) { | ||
289 | i915_dispatch_vsync_flip(dev, drw, plane); | ||
290 | continue; | ||
291 | } | ||
292 | |||
293 | if (init_drawrect) { | ||
294 | int width = sarea_priv->width; | ||
295 | int height = sarea_priv->height; | ||
296 | if (IS_I965G(dev)) { | ||
297 | BEGIN_LP_RING(4); | ||
298 | |||
299 | OUT_RING(GFX_OP_DRAWRECT_INFO_I965); | ||
300 | OUT_RING(0); | ||
301 | OUT_RING(((width - 1) & 0xffff) | ((height - 1) << 16)); | ||
302 | OUT_RING(0); | ||
303 | |||
304 | ADVANCE_LP_RING(); | ||
305 | } else { | ||
306 | BEGIN_LP_RING(6); | ||
307 | |||
308 | OUT_RING(GFX_OP_DRAWRECT_INFO); | ||
309 | OUT_RING(0); | ||
310 | OUT_RING(0); | ||
311 | OUT_RING(((width - 1) & 0xffff) | ((height - 1) << 16)); | ||
312 | OUT_RING(0); | ||
313 | OUT_RING(0); | ||
314 | |||
315 | ADVANCE_LP_RING(); | ||
316 | } | ||
317 | |||
318 | sarea_priv->ctxOwner = DRM_KERNEL_CONTEXT; | ||
319 | |||
320 | init_drawrect = 0; | ||
321 | } | ||
322 | |||
323 | rect = drw->rects; | 192 | rect = drw->rects; |
324 | top = upper[plane]; | 193 | pipe = swap_hit->pipe; |
325 | bottom = lower[plane]; | 194 | top = upper[pipe]; |
326 | 195 | bottom = lower[pipe]; | |
327 | front = (dev_priv->sarea_priv->pf_current_page >> | ||
328 | (2 * plane)) & 0x3; | ||
329 | back = (front + 1) % num_pages; | ||
330 | 196 | ||
331 | for (num_rects = drw->num_rects; num_rects--; rect++) { | 197 | for (num_rects = drw->num_rects; num_rects--; rect++) { |
332 | int y1 = max(rect->y1, top); | 198 | int y1 = max(rect->y1, top); |
@@ -341,17 +207,17 @@ static void i915_vblank_tasklet(struct drm_device *dev) | |||
341 | OUT_RING(ropcpp | dst_pitch); | 207 | OUT_RING(ropcpp | dst_pitch); |
342 | OUT_RING((y1 << 16) | rect->x1); | 208 | OUT_RING((y1 << 16) | rect->x1); |
343 | OUT_RING((y2 << 16) | rect->x2); | 209 | OUT_RING((y2 << 16) | rect->x2); |
344 | OUT_RING(offsets[front]); | 210 | OUT_RING(sarea_priv->front_offset); |
345 | OUT_RING((y1 << 16) | rect->x1); | 211 | OUT_RING((y1 << 16) | rect->x1); |
346 | OUT_RING(src_pitch); | 212 | OUT_RING(src_pitch); |
347 | OUT_RING(offsets[back]); | 213 | OUT_RING(sarea_priv->back_offset); |
348 | 214 | ||
349 | ADVANCE_LP_RING(); | 215 | ADVANCE_LP_RING(); |
350 | } | 216 | } |
351 | } | 217 | } |
352 | } | 218 | } |
353 | 219 | ||
354 | spin_unlock(&dev->drw_lock); | 220 | spin_unlock_irqrestore(&dev->drw_lock, irqflags); |
355 | 221 | ||
356 | list_for_each_safe(hit, tmp, &hits) { | 222 | list_for_each_safe(hit, tmp, &hits) { |
357 | drm_i915_vbl_swap_t *swap_hit = | 223 | drm_i915_vbl_swap_t *swap_hit = |
@@ -363,112 +229,67 @@ static void i915_vblank_tasklet(struct drm_device *dev) | |||
363 | } | 229 | } |
364 | } | 230 | } |
365 | 231 | ||
366 | u32 i915_get_vblank_counter(struct drm_device *dev, int plane) | ||
367 | { | ||
368 | drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; | ||
369 | unsigned long high_frame; | ||
370 | unsigned long low_frame; | ||
371 | u32 high1, high2, low, count; | ||
372 | int pipe; | ||
373 | |||
374 | pipe = i915_get_pipe(dev, plane); | ||
375 | high_frame = pipe ? PIPEBFRAMEHIGH : PIPEAFRAMEHIGH; | ||
376 | low_frame = pipe ? PIPEBFRAMEPIXEL : PIPEAFRAMEPIXEL; | ||
377 | |||
378 | if (!i915_pipe_enabled(dev, pipe)) { | ||
379 | printk(KERN_ERR "trying to get vblank count for disabled " | ||
380 | "pipe %d\n", pipe); | ||
381 | return 0; | ||
382 | } | ||
383 | |||
384 | /* | ||
385 | * High & low register fields aren't synchronized, so make sure | ||
386 | * we get a low value that's stable across two reads of the high | ||
387 | * register. | ||
388 | */ | ||
389 | do { | ||
390 | high1 = ((I915_READ(high_frame) & PIPE_FRAME_HIGH_MASK) >> | ||
391 | PIPE_FRAME_HIGH_SHIFT); | ||
392 | low = ((I915_READ(low_frame) & PIPE_FRAME_LOW_MASK) >> | ||
393 | PIPE_FRAME_LOW_SHIFT); | ||
394 | high2 = ((I915_READ(high_frame) & PIPE_FRAME_HIGH_MASK) >> | ||
395 | PIPE_FRAME_HIGH_SHIFT); | ||
396 | } while (high1 != high2); | ||
397 | |||
398 | count = (high1 << 8) | low; | ||
399 | |||
400 | /* count may be reset by other driver(e.g. 2D driver), | ||
401 | we have no way to know if it is wrapped or resetted | ||
402 | when count is zero. do a rough guess. | ||
403 | */ | ||
404 | if (count == 0 && dev->last_vblank[pipe] < dev->max_vblank_count/2) | ||
405 | dev->last_vblank[pipe] = 0; | ||
406 | |||
407 | return count; | ||
408 | } | ||
409 | |||
410 | irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS) | 232 | irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS) |
411 | { | 233 | { |
412 | struct drm_device *dev = (struct drm_device *) arg; | 234 | struct drm_device *dev = (struct drm_device *) arg; |
413 | drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; | 235 | drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; |
414 | u32 iir; | 236 | u16 temp; |
415 | u32 pipea_stats, pipeb_stats; | 237 | u32 pipea_stats, pipeb_stats; |
416 | int vblank = 0; | ||
417 | |||
418 | iir = I915_READ(I915REG_INT_IDENTITY_R); | ||
419 | if (iir == 0) { | ||
420 | DRM_DEBUG ("iir 0x%08x im 0x%08x ie 0x%08x pipea 0x%08x pipeb 0x%08x\n", | ||
421 | iir, | ||
422 | I915_READ(I915REG_INT_MASK_R), | ||
423 | I915_READ(I915REG_INT_ENABLE_R), | ||
424 | I915_READ(I915REG_PIPEASTAT), | ||
425 | I915_READ(I915REG_PIPEBSTAT)); | ||
426 | return IRQ_NONE; | ||
427 | } | ||
428 | 238 | ||
429 | /* | 239 | pipea_stats = I915_READ(I915REG_PIPEASTAT); |
430 | * Clear the PIPE(A|B)STAT regs before the IIR otherwise | 240 | pipeb_stats = I915_READ(I915REG_PIPEBSTAT); |
431 | * we may get extra interrupts. | ||
432 | */ | ||
433 | if (iir & I915_DISPLAY_PIPE_A_EVENT_INTERRUPT) { | ||
434 | pipea_stats = I915_READ(I915REG_PIPEASTAT); | ||
435 | if (pipea_stats & (I915_START_VBLANK_INTERRUPT_STATUS| | ||
436 | I915_VBLANK_INTERRUPT_STATUS)) | ||
437 | { | ||
438 | vblank++; | ||
439 | drm_handle_vblank(dev, i915_get_plane(dev, 0)); | ||
440 | } | ||
441 | I915_WRITE(I915REG_PIPEASTAT, pipea_stats); | ||
442 | } | ||
443 | if (iir & I915_DISPLAY_PIPE_B_EVENT_INTERRUPT) { | ||
444 | pipeb_stats = I915_READ(I915REG_PIPEBSTAT); | ||
445 | if (pipeb_stats & (I915_START_VBLANK_INTERRUPT_STATUS| | ||
446 | I915_VBLANK_INTERRUPT_STATUS)) | ||
447 | { | ||
448 | vblank++; | ||
449 | drm_handle_vblank(dev, i915_get_plane(dev, 1)); | ||
450 | } | ||
451 | I915_WRITE(I915REG_PIPEBSTAT, pipeb_stats); | ||
452 | } | ||
453 | 241 | ||
454 | if (dev_priv->sarea_priv) | 242 | temp = I915_READ16(I915REG_INT_IDENTITY_R); |
455 | dev_priv->sarea_priv->last_dispatch = READ_BREADCRUMB(dev_priv); | ||
456 | 243 | ||
457 | I915_WRITE(I915REG_INT_IDENTITY_R, iir); | 244 | temp &= (USER_INT_FLAG | VSYNC_PIPEA_FLAG | VSYNC_PIPEB_FLAG); |
458 | (void) I915_READ(I915REG_INT_IDENTITY_R); /* Flush posted write */ | ||
459 | 245 | ||
460 | if (iir & I915_USER_INTERRUPT) { | 246 | DRM_DEBUG("%s flag=%08x\n", __FUNCTION__, temp); |
247 | |||
248 | if (temp == 0) | ||
249 | return IRQ_NONE; | ||
250 | |||
251 | I915_WRITE16(I915REG_INT_IDENTITY_R, temp); | ||
252 | (void) I915_READ16(I915REG_INT_IDENTITY_R); | ||
253 | DRM_READMEMORYBARRIER(); | ||
254 | |||
255 | dev_priv->sarea_priv->last_dispatch = READ_BREADCRUMB(dev_priv); | ||
256 | |||
257 | if (temp & USER_INT_FLAG) | ||
461 | DRM_WAKEUP(&dev_priv->irq_queue); | 258 | DRM_WAKEUP(&dev_priv->irq_queue); |
462 | } | 259 | |
463 | if (vblank) { | 260 | if (temp & (VSYNC_PIPEA_FLAG | VSYNC_PIPEB_FLAG)) { |
261 | int vblank_pipe = dev_priv->vblank_pipe; | ||
262 | |||
263 | if ((vblank_pipe & | ||
264 | (DRM_I915_VBLANK_PIPE_A | DRM_I915_VBLANK_PIPE_B)) | ||
265 | == (DRM_I915_VBLANK_PIPE_A | DRM_I915_VBLANK_PIPE_B)) { | ||
266 | if (temp & VSYNC_PIPEA_FLAG) | ||
267 | atomic_inc(&dev->vbl_received); | ||
268 | if (temp & VSYNC_PIPEB_FLAG) | ||
269 | atomic_inc(&dev->vbl_received2); | ||
270 | } else if (((temp & VSYNC_PIPEA_FLAG) && | ||
271 | (vblank_pipe & DRM_I915_VBLANK_PIPE_A)) || | ||
272 | ((temp & VSYNC_PIPEB_FLAG) && | ||
273 | (vblank_pipe & DRM_I915_VBLANK_PIPE_B))) | ||
274 | atomic_inc(&dev->vbl_received); | ||
275 | |||
276 | DRM_WAKEUP(&dev->vbl_queue); | ||
277 | drm_vbl_send_signals(dev); | ||
278 | |||
464 | if (dev_priv->swaps_pending > 0) | 279 | if (dev_priv->swaps_pending > 0) |
465 | drm_locked_tasklet(dev, i915_vblank_tasklet); | 280 | drm_locked_tasklet(dev, i915_vblank_tasklet); |
281 | I915_WRITE(I915REG_PIPEASTAT, | ||
282 | pipea_stats|I915_VBLANK_INTERRUPT_ENABLE| | ||
283 | I915_VBLANK_CLEAR); | ||
284 | I915_WRITE(I915REG_PIPEBSTAT, | ||
285 | pipeb_stats|I915_VBLANK_INTERRUPT_ENABLE| | ||
286 | I915_VBLANK_CLEAR); | ||
466 | } | 287 | } |
467 | 288 | ||
468 | return IRQ_HANDLED; | 289 | return IRQ_HANDLED; |
469 | } | 290 | } |
470 | 291 | ||
471 | static int i915_emit_irq(struct drm_device *dev) | 292 | static int i915_emit_irq(struct drm_device * dev) |
472 | { | 293 | { |
473 | drm_i915_private_t *dev_priv = dev->dev_private; | 294 | drm_i915_private_t *dev_priv = dev->dev_private; |
474 | RING_LOCALS; | 295 | RING_LOCALS; |
@@ -515,12 +336,42 @@ static int i915_wait_irq(struct drm_device * dev, int irq_nr) | |||
515 | READ_BREADCRUMB(dev_priv), (int)dev_priv->counter); | 336 | READ_BREADCRUMB(dev_priv), (int)dev_priv->counter); |
516 | } | 337 | } |
517 | 338 | ||
518 | if (dev_priv->sarea_priv) | 339 | dev_priv->sarea_priv->last_dispatch = READ_BREADCRUMB(dev_priv); |
519 | dev_priv->sarea_priv->last_dispatch = | ||
520 | READ_BREADCRUMB(dev_priv); | ||
521 | return ret; | 340 | return ret; |
522 | } | 341 | } |
523 | 342 | ||
343 | static int i915_driver_vblank_do_wait(struct drm_device *dev, unsigned int *sequence, | ||
344 | atomic_t *counter) | ||
345 | { | ||
346 | drm_i915_private_t *dev_priv = dev->dev_private; | ||
347 | unsigned int cur_vblank; | ||
348 | int ret = 0; | ||
349 | |||
350 | if (!dev_priv) { | ||
351 | DRM_ERROR("called with no initialization\n"); | ||
352 | return -EINVAL; | ||
353 | } | ||
354 | |||
355 | DRM_WAIT_ON(ret, dev->vbl_queue, 3 * DRM_HZ, | ||
356 | (((cur_vblank = atomic_read(counter)) | ||
357 | - *sequence) <= (1<<23))); | ||
358 | |||
359 | *sequence = cur_vblank; | ||
360 | |||
361 | return ret; | ||
362 | } | ||
363 | |||
364 | |||
365 | int i915_driver_vblank_wait(struct drm_device *dev, unsigned int *sequence) | ||
366 | { | ||
367 | return i915_driver_vblank_do_wait(dev, sequence, &dev->vbl_received); | ||
368 | } | ||
369 | |||
370 | int i915_driver_vblank_wait2(struct drm_device *dev, unsigned int *sequence) | ||
371 | { | ||
372 | return i915_driver_vblank_do_wait(dev, sequence, &dev->vbl_received2); | ||
373 | } | ||
374 | |||
524 | /* Needs the lock as it touches the ring. | 375 | /* Needs the lock as it touches the ring. |
525 | */ | 376 | */ |
526 | int i915_irq_emit(struct drm_device *dev, void *data, | 377 | int i915_irq_emit(struct drm_device *dev, void *data, |
@@ -563,96 +414,18 @@ int i915_irq_wait(struct drm_device *dev, void *data, | |||
563 | return i915_wait_irq(dev, irqwait->irq_seq); | 414 | return i915_wait_irq(dev, irqwait->irq_seq); |
564 | } | 415 | } |
565 | 416 | ||
566 | int i915_enable_vblank(struct drm_device *dev, int plane) | ||
567 | { | ||
568 | drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; | ||
569 | int pipe = i915_get_pipe(dev, plane); | ||
570 | u32 pipestat_reg = 0; | ||
571 | u32 pipestat; | ||
572 | |||
573 | switch (pipe) { | ||
574 | case 0: | ||
575 | pipestat_reg = I915REG_PIPEASTAT; | ||
576 | dev_priv->irq_enable_reg |= I915_DISPLAY_PIPE_A_EVENT_INTERRUPT; | ||
577 | break; | ||
578 | case 1: | ||
579 | pipestat_reg = I915REG_PIPEBSTAT; | ||
580 | dev_priv->irq_enable_reg |= I915_DISPLAY_PIPE_B_EVENT_INTERRUPT; | ||
581 | break; | ||
582 | default: | ||
583 | DRM_ERROR("tried to enable vblank on non-existent pipe %d\n", | ||
584 | pipe); | ||
585 | break; | ||
586 | } | ||
587 | |||
588 | if (pipestat_reg) | ||
589 | { | ||
590 | pipestat = I915_READ (pipestat_reg); | ||
591 | /* | ||
592 | * Older chips didn't have the start vblank interrupt, | ||
593 | * but | ||
594 | */ | ||
595 | if (IS_I965G (dev)) | ||
596 | pipestat |= I915_START_VBLANK_INTERRUPT_ENABLE; | ||
597 | else | ||
598 | pipestat |= I915_VBLANK_INTERRUPT_ENABLE; | ||
599 | /* | ||
600 | * Clear any pending status | ||
601 | */ | ||
602 | pipestat |= (I915_START_VBLANK_INTERRUPT_STATUS | | ||
603 | I915_VBLANK_INTERRUPT_STATUS); | ||
604 | I915_WRITE(pipestat_reg, pipestat); | ||
605 | } | ||
606 | I915_WRITE(I915REG_INT_ENABLE_R, dev_priv->irq_enable_reg); | ||
607 | |||
608 | return 0; | ||
609 | } | ||
610 | |||
611 | void i915_disable_vblank(struct drm_device *dev, int plane) | ||
612 | { | ||
613 | drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; | ||
614 | int pipe = i915_get_pipe(dev, plane); | ||
615 | u32 pipestat_reg = 0; | ||
616 | u32 pipestat; | ||
617 | |||
618 | switch (pipe) { | ||
619 | case 0: | ||
620 | pipestat_reg = I915REG_PIPEASTAT; | ||
621 | dev_priv->irq_enable_reg &= ~I915_DISPLAY_PIPE_A_EVENT_INTERRUPT; | ||
622 | break; | ||
623 | case 1: | ||
624 | pipestat_reg = I915REG_PIPEBSTAT; | ||
625 | dev_priv->irq_enable_reg &= ~I915_DISPLAY_PIPE_B_EVENT_INTERRUPT; | ||
626 | break; | ||
627 | default: | ||
628 | DRM_ERROR("tried to disable vblank on non-existent pipe %d\n", | ||
629 | pipe); | ||
630 | break; | ||
631 | } | ||
632 | |||
633 | I915_WRITE(I915REG_INT_ENABLE_R, dev_priv->irq_enable_reg); | ||
634 | if (pipestat_reg) | ||
635 | { | ||
636 | pipestat = I915_READ (pipestat_reg); | ||
637 | pipestat &= ~(I915_START_VBLANK_INTERRUPT_ENABLE | | ||
638 | I915_VBLANK_INTERRUPT_ENABLE); | ||
639 | /* | ||
640 | * Clear any pending status | ||
641 | */ | ||
642 | pipestat |= (I915_START_VBLANK_INTERRUPT_STATUS | | ||
643 | I915_VBLANK_INTERRUPT_STATUS); | ||
644 | I915_WRITE(pipestat_reg, pipestat); | ||
645 | } | ||
646 | } | ||
647 | |||
648 | static void i915_enable_interrupt (struct drm_device *dev) | 417 | static void i915_enable_interrupt (struct drm_device *dev) |
649 | { | 418 | { |
650 | drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; | 419 | drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; |
420 | u16 flag; | ||
651 | 421 | ||
652 | dev_priv->irq_enable_reg |= I915_USER_INTERRUPT; | 422 | flag = 0; |
423 | if (dev_priv->vblank_pipe & DRM_I915_VBLANK_PIPE_A) | ||
424 | flag |= VSYNC_PIPEA_FLAG; | ||
425 | if (dev_priv->vblank_pipe & DRM_I915_VBLANK_PIPE_B) | ||
426 | flag |= VSYNC_PIPEB_FLAG; | ||
653 | 427 | ||
654 | I915_WRITE(I915REG_INT_ENABLE_R, dev_priv->irq_enable_reg); | 428 | I915_WRITE16(I915REG_INT_ENABLE_R, USER_INT_FLAG | flag); |
655 | dev_priv->irq_enabled = 1; | ||
656 | } | 429 | } |
657 | 430 | ||
658 | /* Set the vblank monitor pipe | 431 | /* Set the vblank monitor pipe |
@@ -675,6 +448,8 @@ int i915_vblank_pipe_set(struct drm_device *dev, void *data, | |||
675 | 448 | ||
676 | dev_priv->vblank_pipe = pipe->pipe; | 449 | dev_priv->vblank_pipe = pipe->pipe; |
677 | 450 | ||
451 | i915_enable_interrupt (dev); | ||
452 | |||
678 | return 0; | 453 | return 0; |
679 | } | 454 | } |
680 | 455 | ||
@@ -692,9 +467,9 @@ int i915_vblank_pipe_get(struct drm_device *dev, void *data, | |||
692 | 467 | ||
693 | flag = I915_READ(I915REG_INT_ENABLE_R); | 468 | flag = I915_READ(I915REG_INT_ENABLE_R); |
694 | pipe->pipe = 0; | 469 | pipe->pipe = 0; |
695 | if (flag & I915_DISPLAY_PIPE_A_EVENT_INTERRUPT) | 470 | if (flag & VSYNC_PIPEA_FLAG) |
696 | pipe->pipe |= DRM_I915_VBLANK_PIPE_A; | 471 | pipe->pipe |= DRM_I915_VBLANK_PIPE_A; |
697 | if (flag & I915_DISPLAY_PIPE_B_EVENT_INTERRUPT) | 472 | if (flag & VSYNC_PIPEB_FLAG) |
698 | pipe->pipe |= DRM_I915_VBLANK_PIPE_B; | 473 | pipe->pipe |= DRM_I915_VBLANK_PIPE_B; |
699 | 474 | ||
700 | return 0; | 475 | return 0; |
@@ -709,30 +484,27 @@ int i915_vblank_swap(struct drm_device *dev, void *data, | |||
709 | drm_i915_private_t *dev_priv = dev->dev_private; | 484 | drm_i915_private_t *dev_priv = dev->dev_private; |
710 | drm_i915_vblank_swap_t *swap = data; | 485 | drm_i915_vblank_swap_t *swap = data; |
711 | drm_i915_vbl_swap_t *vbl_swap; | 486 | drm_i915_vbl_swap_t *vbl_swap; |
712 | unsigned int pipe, seqtype, curseq, plane; | 487 | unsigned int pipe, seqtype, curseq; |
713 | unsigned long irqflags; | 488 | unsigned long irqflags; |
714 | struct list_head *list; | 489 | struct list_head *list; |
715 | int ret; | ||
716 | 490 | ||
717 | if (!dev_priv) { | 491 | if (!dev_priv) { |
718 | DRM_ERROR("%s called with no initialization\n", __func__); | 492 | DRM_ERROR("%s called with no initialization\n", __func__); |
719 | return -EINVAL; | 493 | return -EINVAL; |
720 | } | 494 | } |
721 | 495 | ||
722 | if (!dev_priv->sarea_priv || dev_priv->sarea_priv->rotation) { | 496 | if (dev_priv->sarea_priv->rotation) { |
723 | DRM_DEBUG("Rotation not supported\n"); | 497 | DRM_DEBUG("Rotation not supported\n"); |
724 | return -EINVAL; | 498 | return -EINVAL; |
725 | } | 499 | } |
726 | 500 | ||
727 | if (swap->seqtype & ~(_DRM_VBLANK_RELATIVE | _DRM_VBLANK_ABSOLUTE | | 501 | if (swap->seqtype & ~(_DRM_VBLANK_RELATIVE | _DRM_VBLANK_ABSOLUTE | |
728 | _DRM_VBLANK_SECONDARY | _DRM_VBLANK_NEXTONMISS | | 502 | _DRM_VBLANK_SECONDARY | _DRM_VBLANK_NEXTONMISS)) { |
729 | _DRM_VBLANK_FLIP)) { | ||
730 | DRM_ERROR("Invalid sequence type 0x%x\n", swap->seqtype); | 503 | DRM_ERROR("Invalid sequence type 0x%x\n", swap->seqtype); |
731 | return -EINVAL; | 504 | return -EINVAL; |
732 | } | 505 | } |
733 | 506 | ||
734 | plane = (swap->seqtype & _DRM_VBLANK_SECONDARY) ? 1 : 0; | 507 | pipe = (swap->seqtype & _DRM_VBLANK_SECONDARY) ? 1 : 0; |
735 | pipe = i915_get_pipe(dev, plane); | ||
736 | 508 | ||
737 | seqtype = swap->seqtype & (_DRM_VBLANK_RELATIVE | _DRM_VBLANK_ABSOLUTE); | 509 | seqtype = swap->seqtype & (_DRM_VBLANK_RELATIVE | _DRM_VBLANK_ABSOLUTE); |
738 | 510 | ||
@@ -743,11 +515,6 @@ int i915_vblank_swap(struct drm_device *dev, void *data, | |||
743 | 515 | ||
744 | spin_lock_irqsave(&dev->drw_lock, irqflags); | 516 | spin_lock_irqsave(&dev->drw_lock, irqflags); |
745 | 517 | ||
746 | /* It makes no sense to schedule a swap for a drawable that doesn't have | ||
747 | * valid information at this point. E.g. this could mean that the X | ||
748 | * server is too old to push drawable information to the DRM, in which | ||
749 | * case all such swaps would become ineffective. | ||
750 | */ | ||
751 | if (!drm_get_drawable_info(dev, swap->drawable)) { | 518 | if (!drm_get_drawable_info(dev, swap->drawable)) { |
752 | spin_unlock_irqrestore(&dev->drw_lock, irqflags); | 519 | spin_unlock_irqrestore(&dev->drw_lock, irqflags); |
753 | DRM_DEBUG("Invalid drawable ID %d\n", swap->drawable); | 520 | DRM_DEBUG("Invalid drawable ID %d\n", swap->drawable); |
@@ -756,8 +523,7 @@ int i915_vblank_swap(struct drm_device *dev, void *data, | |||
756 | 523 | ||
757 | spin_unlock_irqrestore(&dev->drw_lock, irqflags); | 524 | spin_unlock_irqrestore(&dev->drw_lock, irqflags); |
758 | 525 | ||
759 | drm_update_vblank_count(dev, pipe); | 526 | curseq = atomic_read(pipe ? &dev->vbl_received2 : &dev->vbl_received); |
760 | curseq = drm_vblank_count(dev, pipe); | ||
761 | 527 | ||
762 | if (seqtype == _DRM_VBLANK_RELATIVE) | 528 | if (seqtype == _DRM_VBLANK_RELATIVE) |
763 | swap->sequence += curseq; | 529 | swap->sequence += curseq; |
@@ -771,43 +537,14 @@ int i915_vblank_swap(struct drm_device *dev, void *data, | |||
771 | } | 537 | } |
772 | } | 538 | } |
773 | 539 | ||
774 | if (swap->seqtype & _DRM_VBLANK_FLIP) { | ||
775 | swap->sequence--; | ||
776 | |||
777 | if ((curseq - swap->sequence) <= (1<<23)) { | ||
778 | struct drm_drawable_info *drw; | ||
779 | |||
780 | LOCK_TEST_WITH_RETURN(dev, file_priv); | ||
781 | |||
782 | spin_lock_irqsave(&dev->drw_lock, irqflags); | ||
783 | |||
784 | drw = drm_get_drawable_info(dev, swap->drawable); | ||
785 | |||
786 | if (!drw) { | ||
787 | spin_unlock_irqrestore(&dev->drw_lock, | ||
788 | irqflags); | ||
789 | DRM_DEBUG("Invalid drawable ID %d\n", | ||
790 | swap->drawable); | ||
791 | return -EINVAL; | ||
792 | } | ||
793 | |||
794 | i915_dispatch_vsync_flip(dev, drw, plane); | ||
795 | |||
796 | spin_unlock_irqrestore(&dev->drw_lock, irqflags); | ||
797 | |||
798 | return 0; | ||
799 | } | ||
800 | } | ||
801 | |||
802 | spin_lock_irqsave(&dev_priv->swaps_lock, irqflags); | 540 | spin_lock_irqsave(&dev_priv->swaps_lock, irqflags); |
803 | 541 | ||
804 | list_for_each(list, &dev_priv->vbl_swaps.head) { | 542 | list_for_each(list, &dev_priv->vbl_swaps.head) { |
805 | vbl_swap = list_entry(list, drm_i915_vbl_swap_t, head); | 543 | vbl_swap = list_entry(list, drm_i915_vbl_swap_t, head); |
806 | 544 | ||
807 | if (vbl_swap->drw_id == swap->drawable && | 545 | if (vbl_swap->drw_id == swap->drawable && |
808 | vbl_swap->plane == plane && | 546 | vbl_swap->pipe == pipe && |
809 | vbl_swap->sequence == swap->sequence) { | 547 | vbl_swap->sequence == swap->sequence) { |
810 | vbl_swap->flip = (swap->seqtype & _DRM_VBLANK_FLIP); | ||
811 | spin_unlock_irqrestore(&dev_priv->swaps_lock, irqflags); | 548 | spin_unlock_irqrestore(&dev_priv->swaps_lock, irqflags); |
812 | DRM_DEBUG("Already scheduled\n"); | 549 | DRM_DEBUG("Already scheduled\n"); |
813 | return 0; | 550 | return 0; |
@@ -830,19 +567,9 @@ int i915_vblank_swap(struct drm_device *dev, void *data, | |||
830 | 567 | ||
831 | DRM_DEBUG("\n"); | 568 | DRM_DEBUG("\n"); |
832 | 569 | ||
833 | ret = drm_vblank_get(dev, pipe); | ||
834 | if (ret) { | ||
835 | drm_free(vbl_swap, sizeof(*vbl_swap), DRM_MEM_DRIVER); | ||
836 | return ret; | ||
837 | } | ||
838 | |||
839 | vbl_swap->drw_id = swap->drawable; | 570 | vbl_swap->drw_id = swap->drawable; |
840 | vbl_swap->plane = plane; | 571 | vbl_swap->pipe = pipe; |
841 | vbl_swap->sequence = swap->sequence; | 572 | vbl_swap->sequence = swap->sequence; |
842 | vbl_swap->flip = (swap->seqtype & _DRM_VBLANK_FLIP); | ||
843 | |||
844 | if (vbl_swap->flip) | ||
845 | swap->sequence++; | ||
846 | 573 | ||
847 | spin_lock_irqsave(&dev_priv->swaps_lock, irqflags); | 574 | spin_lock_irqsave(&dev_priv->swaps_lock, irqflags); |
848 | 575 | ||
@@ -860,57 +587,37 @@ void i915_driver_irq_preinstall(struct drm_device * dev) | |||
860 | { | 587 | { |
861 | drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; | 588 | drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; |
862 | 589 | ||
863 | I915_WRITE16(I915REG_HWSTAM, 0xeffe); | 590 | I915_WRITE16(I915REG_HWSTAM, 0xfffe); |
864 | I915_WRITE16(I915REG_INT_MASK_R, 0x0); | 591 | I915_WRITE16(I915REG_INT_MASK_R, 0x0); |
865 | I915_WRITE16(I915REG_INT_ENABLE_R, 0x0); | 592 | I915_WRITE16(I915REG_INT_ENABLE_R, 0x0); |
866 | } | 593 | } |
867 | 594 | ||
868 | int i915_driver_irq_postinstall(struct drm_device * dev) | 595 | void i915_driver_irq_postinstall(struct drm_device * dev) |
869 | { | 596 | { |
870 | drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; | 597 | drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; |
871 | int ret, num_pipes = 2; | ||
872 | 598 | ||
873 | spin_lock_init(&dev_priv->swaps_lock); | 599 | spin_lock_init(&dev_priv->swaps_lock); |
874 | INIT_LIST_HEAD(&dev_priv->vbl_swaps.head); | 600 | INIT_LIST_HEAD(&dev_priv->vbl_swaps.head); |
875 | dev_priv->swaps_pending = 0; | 601 | dev_priv->swaps_pending = 0; |
876 | 602 | ||
877 | dev_priv->user_irq_refcount = 0; | 603 | if (!dev_priv->vblank_pipe) |
878 | dev_priv->irq_enable_reg = 0; | 604 | dev_priv->vblank_pipe = DRM_I915_VBLANK_PIPE_A; |
879 | |||
880 | ret = drm_vblank_init(dev, num_pipes); | ||
881 | if (ret) | ||
882 | return ret; | ||
883 | |||
884 | dev->max_vblank_count = 0xffffff; /* only 24 bits of frame count */ | ||
885 | |||
886 | i915_enable_interrupt(dev); | 605 | i915_enable_interrupt(dev); |
887 | DRM_INIT_WAITQUEUE(&dev_priv->irq_queue); | 606 | DRM_INIT_WAITQUEUE(&dev_priv->irq_queue); |
888 | |||
889 | /* | ||
890 | * Initialize the hardware status page IRQ location. | ||
891 | */ | ||
892 | |||
893 | I915_WRITE(I915REG_INSTPM, (1 << 5) | (1 << 21)); | ||
894 | return 0; | ||
895 | } | 607 | } |
896 | 608 | ||
897 | void i915_driver_irq_uninstall(struct drm_device * dev) | 609 | void i915_driver_irq_uninstall(struct drm_device * dev) |
898 | { | 610 | { |
899 | drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; | 611 | drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; |
900 | u32 temp; | 612 | u16 temp; |
901 | 613 | ||
902 | if (!dev_priv) | 614 | if (!dev_priv) |
903 | return; | 615 | return; |
904 | 616 | ||
905 | dev_priv->irq_enabled = 0; | 617 | I915_WRITE16(I915REG_HWSTAM, 0xffff); |
906 | I915_WRITE(I915REG_HWSTAM, 0xffffffff); | 618 | I915_WRITE16(I915REG_INT_MASK_R, 0xffff); |
907 | I915_WRITE(I915REG_INT_MASK_R, 0xffffffff); | 619 | I915_WRITE16(I915REG_INT_ENABLE_R, 0x0); |
908 | I915_WRITE(I915REG_INT_ENABLE_R, 0x0); | 620 | |
909 | 621 | temp = I915_READ16(I915REG_INT_IDENTITY_R); | |
910 | temp = I915_READ(I915REG_PIPEASTAT); | 622 | I915_WRITE16(I915REG_INT_IDENTITY_R, temp); |
911 | I915_WRITE(I915REG_PIPEASTAT, temp); | ||
912 | temp = I915_READ(I915REG_PIPEBSTAT); | ||
913 | I915_WRITE(I915REG_PIPEBSTAT, temp); | ||
914 | temp = I915_READ(I915REG_INT_IDENTITY_R); | ||
915 | I915_WRITE(I915REG_INT_IDENTITY_R, temp); | ||
916 | } | 623 | } |
diff --git a/drivers/char/drm/mga_drv.c b/drivers/char/drm/mga_drv.c index 6b3790939e76..5572939fc7d1 100644 --- a/drivers/char/drm/mga_drv.c +++ b/drivers/char/drm/mga_drv.c | |||
@@ -45,16 +45,15 @@ static struct pci_device_id pciidlist[] = { | |||
45 | static struct drm_driver driver = { | 45 | static struct drm_driver driver = { |
46 | .driver_features = | 46 | .driver_features = |
47 | DRIVER_USE_AGP | DRIVER_USE_MTRR | DRIVER_PCI_DMA | | 47 | DRIVER_USE_AGP | DRIVER_USE_MTRR | DRIVER_PCI_DMA | |
48 | DRIVER_HAVE_DMA | DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED, | 48 | DRIVER_HAVE_DMA | DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED | |
49 | DRIVER_IRQ_VBL, | ||
49 | .dev_priv_size = sizeof(drm_mga_buf_priv_t), | 50 | .dev_priv_size = sizeof(drm_mga_buf_priv_t), |
50 | .load = mga_driver_load, | 51 | .load = mga_driver_load, |
51 | .unload = mga_driver_unload, | 52 | .unload = mga_driver_unload, |
52 | .lastclose = mga_driver_lastclose, | 53 | .lastclose = mga_driver_lastclose, |
53 | .dma_quiescent = mga_driver_dma_quiescent, | 54 | .dma_quiescent = mga_driver_dma_quiescent, |
54 | .device_is_agp = mga_driver_device_is_agp, | 55 | .device_is_agp = mga_driver_device_is_agp, |
55 | .get_vblank_counter = mga_get_vblank_counter, | 56 | .vblank_wait = mga_driver_vblank_wait, |
56 | .enable_vblank = mga_enable_vblank, | ||
57 | .disable_vblank = mga_disable_vblank, | ||
58 | .irq_preinstall = mga_driver_irq_preinstall, | 57 | .irq_preinstall = mga_driver_irq_preinstall, |
59 | .irq_postinstall = mga_driver_irq_postinstall, | 58 | .irq_postinstall = mga_driver_irq_postinstall, |
60 | .irq_uninstall = mga_driver_irq_uninstall, | 59 | .irq_uninstall = mga_driver_irq_uninstall, |
diff --git a/drivers/char/drm/mga_drv.h b/drivers/char/drm/mga_drv.h index 8f7291f36363..f6ebd24bd587 100644 --- a/drivers/char/drm/mga_drv.h +++ b/drivers/char/drm/mga_drv.h | |||
@@ -120,7 +120,6 @@ typedef struct drm_mga_private { | |||
120 | u32 clear_cmd; | 120 | u32 clear_cmd; |
121 | u32 maccess; | 121 | u32 maccess; |
122 | 122 | ||
123 | atomic_t vbl_received; /**< Number of vblanks received. */ | ||
124 | wait_queue_head_t fence_queue; | 123 | wait_queue_head_t fence_queue; |
125 | atomic_t last_fence_retired; | 124 | atomic_t last_fence_retired; |
126 | u32 next_fence_to_post; | 125 | u32 next_fence_to_post; |
@@ -182,14 +181,11 @@ extern int mga_warp_install_microcode(drm_mga_private_t * dev_priv); | |||
182 | extern int mga_warp_init(drm_mga_private_t * dev_priv); | 181 | extern int mga_warp_init(drm_mga_private_t * dev_priv); |
183 | 182 | ||
184 | /* mga_irq.c */ | 183 | /* mga_irq.c */ |
185 | extern int mga_enable_vblank(struct drm_device *dev, int crtc); | ||
186 | extern void mga_disable_vblank(struct drm_device *dev, int crtc); | ||
187 | extern u32 mga_get_vblank_counter(struct drm_device *dev, int crtc); | ||
188 | extern int mga_driver_fence_wait(struct drm_device * dev, unsigned int *sequence); | 184 | extern int mga_driver_fence_wait(struct drm_device * dev, unsigned int *sequence); |
189 | extern int mga_driver_vblank_wait(struct drm_device * dev, unsigned int *sequence); | 185 | extern int mga_driver_vblank_wait(struct drm_device * dev, unsigned int *sequence); |
190 | extern irqreturn_t mga_driver_irq_handler(DRM_IRQ_ARGS); | 186 | extern irqreturn_t mga_driver_irq_handler(DRM_IRQ_ARGS); |
191 | extern void mga_driver_irq_preinstall(struct drm_device * dev); | 187 | extern void mga_driver_irq_preinstall(struct drm_device * dev); |
192 | extern int mga_driver_irq_postinstall(struct drm_device * dev); | 188 | extern void mga_driver_irq_postinstall(struct drm_device * dev); |
193 | extern void mga_driver_irq_uninstall(struct drm_device * dev); | 189 | extern void mga_driver_irq_uninstall(struct drm_device * dev); |
194 | extern long mga_compat_ioctl(struct file *filp, unsigned int cmd, | 190 | extern long mga_compat_ioctl(struct file *filp, unsigned int cmd, |
195 | unsigned long arg); | 191 | unsigned long arg); |
diff --git a/drivers/char/drm/mga_irq.c b/drivers/char/drm/mga_irq.c index 06852fb4b278..9302cb8f0f83 100644 --- a/drivers/char/drm/mga_irq.c +++ b/drivers/char/drm/mga_irq.c | |||
@@ -35,20 +35,6 @@ | |||
35 | #include "mga_drm.h" | 35 | #include "mga_drm.h" |
36 | #include "mga_drv.h" | 36 | #include "mga_drv.h" |
37 | 37 | ||
38 | u32 mga_get_vblank_counter(struct drm_device *dev, int crtc) | ||
39 | { | ||
40 | const drm_mga_private_t *const dev_priv = | ||
41 | (drm_mga_private_t *) dev->dev_private; | ||
42 | |||
43 | if (crtc != 0) { | ||
44 | return 0; | ||
45 | } | ||
46 | |||
47 | |||
48 | return atomic_read(&dev_priv->vbl_received); | ||
49 | } | ||
50 | |||
51 | |||
52 | irqreturn_t mga_driver_irq_handler(DRM_IRQ_ARGS) | 38 | irqreturn_t mga_driver_irq_handler(DRM_IRQ_ARGS) |
53 | { | 39 | { |
54 | struct drm_device *dev = (struct drm_device *) arg; | 40 | struct drm_device *dev = (struct drm_device *) arg; |
@@ -61,8 +47,9 @@ irqreturn_t mga_driver_irq_handler(DRM_IRQ_ARGS) | |||
61 | /* VBLANK interrupt */ | 47 | /* VBLANK interrupt */ |
62 | if (status & MGA_VLINEPEN) { | 48 | if (status & MGA_VLINEPEN) { |
63 | MGA_WRITE(MGA_ICLEAR, MGA_VLINEICLR); | 49 | MGA_WRITE(MGA_ICLEAR, MGA_VLINEICLR); |
64 | atomic_inc(&dev_priv->vbl_received); | 50 | atomic_inc(&dev->vbl_received); |
65 | drm_handle_vblank(dev, 0); | 51 | DRM_WAKEUP(&dev->vbl_queue); |
52 | drm_vbl_send_signals(dev); | ||
66 | handled = 1; | 53 | handled = 1; |
67 | } | 54 | } |
68 | 55 | ||
@@ -91,34 +78,22 @@ irqreturn_t mga_driver_irq_handler(DRM_IRQ_ARGS) | |||
91 | return IRQ_NONE; | 78 | return IRQ_NONE; |
92 | } | 79 | } |
93 | 80 | ||
94 | int mga_enable_vblank(struct drm_device *dev, int crtc) | 81 | int mga_driver_vblank_wait(struct drm_device * dev, unsigned int *sequence) |
95 | { | 82 | { |
96 | drm_mga_private_t *dev_priv = (drm_mga_private_t *) dev->dev_private; | 83 | unsigned int cur_vblank; |
97 | 84 | int ret = 0; | |
98 | if (crtc != 0) { | ||
99 | DRM_ERROR("tried to enable vblank on non-existent crtc %d\n", | ||
100 | crtc); | ||
101 | return 0; | ||
102 | } | ||
103 | |||
104 | MGA_WRITE(MGA_IEN, MGA_VLINEIEN | MGA_SOFTRAPEN); | ||
105 | return 0; | ||
106 | } | ||
107 | 85 | ||
86 | /* Assume that the user has missed the current sequence number | ||
87 | * by about a day rather than she wants to wait for years | ||
88 | * using vertical blanks... | ||
89 | */ | ||
90 | DRM_WAIT_ON(ret, dev->vbl_queue, 3 * DRM_HZ, | ||
91 | (((cur_vblank = atomic_read(&dev->vbl_received)) | ||
92 | - *sequence) <= (1 << 23))); | ||
108 | 93 | ||
109 | void mga_disable_vblank(struct drm_device *dev, int crtc) | 94 | *sequence = cur_vblank; |
110 | { | ||
111 | if (crtc != 0) { | ||
112 | DRM_ERROR("tried to disable vblank on non-existent crtc %d\n", | ||
113 | crtc); | ||
114 | } | ||
115 | 95 | ||
116 | /* Do *NOT* disable the vertical refresh interrupt. MGA doesn't have | 96 | return ret; |
117 | * a nice hardware counter that tracks the number of refreshes when | ||
118 | * the interrupt is disabled, and the kernel doesn't know the refresh | ||
119 | * rate to calculate an estimate. | ||
120 | */ | ||
121 | /* MGA_WRITE(MGA_IEN, MGA_VLINEIEN | MGA_SOFTRAPEN); */ | ||
122 | } | 97 | } |
123 | 98 | ||
124 | int mga_driver_fence_wait(struct drm_device * dev, unsigned int *sequence) | 99 | int mga_driver_fence_wait(struct drm_device * dev, unsigned int *sequence) |
@@ -150,22 +125,14 @@ void mga_driver_irq_preinstall(struct drm_device * dev) | |||
150 | MGA_WRITE(MGA_ICLEAR, ~0); | 125 | MGA_WRITE(MGA_ICLEAR, ~0); |
151 | } | 126 | } |
152 | 127 | ||
153 | int mga_driver_irq_postinstall(struct drm_device * dev) | 128 | void mga_driver_irq_postinstall(struct drm_device * dev) |
154 | { | 129 | { |
155 | drm_mga_private_t *dev_priv = (drm_mga_private_t *) dev->dev_private; | 130 | drm_mga_private_t *dev_priv = (drm_mga_private_t *) dev->dev_private; |
156 | int ret; | ||
157 | |||
158 | ret = drm_vblank_init(dev, 1); | ||
159 | if (ret) | ||
160 | return ret; | ||
161 | 131 | ||
162 | DRM_INIT_WAITQUEUE(&dev_priv->fence_queue); | 132 | DRM_INIT_WAITQUEUE(&dev_priv->fence_queue); |
163 | 133 | ||
164 | /* Turn on soft trap interrupt. Vertical blank interrupts are enabled | 134 | /* Turn on vertical blank interrupt and soft trap interrupt. */ |
165 | * in mga_enable_vblank. | 135 | MGA_WRITE(MGA_IEN, MGA_VLINEIEN | MGA_SOFTRAPEN); |
166 | */ | ||
167 | MGA_WRITE(MGA_IEN, MGA_SOFTRAPEN); | ||
168 | return 0; | ||
169 | } | 136 | } |
170 | 137 | ||
171 | void mga_driver_irq_uninstall(struct drm_device * dev) | 138 | void mga_driver_irq_uninstall(struct drm_device * dev) |
diff --git a/drivers/char/drm/r128_drv.c b/drivers/char/drm/r128_drv.c index 2888aa01ebc7..6108e7587e12 100644 --- a/drivers/char/drm/r128_drv.c +++ b/drivers/char/drm/r128_drv.c | |||
@@ -43,13 +43,12 @@ static struct pci_device_id pciidlist[] = { | |||
43 | static struct drm_driver driver = { | 43 | static struct drm_driver driver = { |
44 | .driver_features = | 44 | .driver_features = |
45 | DRIVER_USE_AGP | DRIVER_USE_MTRR | DRIVER_PCI_DMA | DRIVER_SG | | 45 | DRIVER_USE_AGP | DRIVER_USE_MTRR | DRIVER_PCI_DMA | DRIVER_SG | |
46 | DRIVER_HAVE_DMA | DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED, | 46 | DRIVER_HAVE_DMA | DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED | |
47 | DRIVER_IRQ_VBL, | ||
47 | .dev_priv_size = sizeof(drm_r128_buf_priv_t), | 48 | .dev_priv_size = sizeof(drm_r128_buf_priv_t), |
48 | .preclose = r128_driver_preclose, | 49 | .preclose = r128_driver_preclose, |
49 | .lastclose = r128_driver_lastclose, | 50 | .lastclose = r128_driver_lastclose, |
50 | .get_vblank_counter = r128_get_vblank_counter, | 51 | .vblank_wait = r128_driver_vblank_wait, |
51 | .enable_vblank = r128_enable_vblank, | ||
52 | .disable_vblank = r128_disable_vblank, | ||
53 | .irq_preinstall = r128_driver_irq_preinstall, | 52 | .irq_preinstall = r128_driver_irq_preinstall, |
54 | .irq_postinstall = r128_driver_irq_postinstall, | 53 | .irq_postinstall = r128_driver_irq_postinstall, |
55 | .irq_uninstall = r128_driver_irq_uninstall, | 54 | .irq_uninstall = r128_driver_irq_uninstall, |
diff --git a/drivers/char/drm/r128_drv.h b/drivers/char/drm/r128_drv.h index 80af9e09e75d..011105e51ac6 100644 --- a/drivers/char/drm/r128_drv.h +++ b/drivers/char/drm/r128_drv.h | |||
@@ -97,8 +97,6 @@ typedef struct drm_r128_private { | |||
97 | u32 crtc_offset; | 97 | u32 crtc_offset; |
98 | u32 crtc_offset_cntl; | 98 | u32 crtc_offset_cntl; |
99 | 99 | ||
100 | atomic_t vbl_received; | ||
101 | |||
102 | u32 color_fmt; | 100 | u32 color_fmt; |
103 | unsigned int front_offset; | 101 | unsigned int front_offset; |
104 | unsigned int front_pitch; | 102 | unsigned int front_pitch; |
@@ -151,12 +149,11 @@ extern int r128_wait_ring(drm_r128_private_t * dev_priv, int n); | |||
151 | extern int r128_do_cce_idle(drm_r128_private_t * dev_priv); | 149 | extern int r128_do_cce_idle(drm_r128_private_t * dev_priv); |
152 | extern int r128_do_cleanup_cce(struct drm_device * dev); | 150 | extern int r128_do_cleanup_cce(struct drm_device * dev); |
153 | 151 | ||
154 | extern int r128_enable_vblank(struct drm_device *dev, int crtc); | 152 | extern int r128_driver_vblank_wait(struct drm_device * dev, unsigned int *sequence); |
155 | extern void r128_disable_vblank(struct drm_device *dev, int crtc); | 153 | |
156 | extern u32 r128_get_vblank_counter(struct drm_device *dev, int crtc); | ||
157 | extern irqreturn_t r128_driver_irq_handler(DRM_IRQ_ARGS); | 154 | extern irqreturn_t r128_driver_irq_handler(DRM_IRQ_ARGS); |
158 | extern void r128_driver_irq_preinstall(struct drm_device * dev); | 155 | extern void r128_driver_irq_preinstall(struct drm_device * dev); |
159 | extern int r128_driver_irq_postinstall(struct drm_device * dev); | 156 | extern void r128_driver_irq_postinstall(struct drm_device * dev); |
160 | extern void r128_driver_irq_uninstall(struct drm_device * dev); | 157 | extern void r128_driver_irq_uninstall(struct drm_device * dev); |
161 | extern void r128_driver_lastclose(struct drm_device * dev); | 158 | extern void r128_driver_lastclose(struct drm_device * dev); |
162 | extern void r128_driver_preclose(struct drm_device * dev, | 159 | extern void r128_driver_preclose(struct drm_device * dev, |
diff --git a/drivers/char/drm/r128_irq.c b/drivers/char/drm/r128_irq.c index 5b95bd898f95..c76fdca7662d 100644 --- a/drivers/char/drm/r128_irq.c +++ b/drivers/char/drm/r128_irq.c | |||
@@ -35,16 +35,6 @@ | |||
35 | #include "r128_drm.h" | 35 | #include "r128_drm.h" |
36 | #include "r128_drv.h" | 36 | #include "r128_drv.h" |
37 | 37 | ||
38 | u32 r128_get_vblank_counter(struct drm_device *dev, int crtc) | ||
39 | { | ||
40 | const drm_r128_private_t *dev_priv = dev->dev_private; | ||
41 | |||
42 | if (crtc != 0) | ||
43 | return 0; | ||
44 | |||
45 | return atomic_read(&dev_priv->vbl_received); | ||
46 | } | ||
47 | |||
48 | irqreturn_t r128_driver_irq_handler(DRM_IRQ_ARGS) | 38 | irqreturn_t r128_driver_irq_handler(DRM_IRQ_ARGS) |
49 | { | 39 | { |
50 | struct drm_device *dev = (struct drm_device *) arg; | 40 | struct drm_device *dev = (struct drm_device *) arg; |
@@ -56,38 +46,30 @@ irqreturn_t r128_driver_irq_handler(DRM_IRQ_ARGS) | |||
56 | /* VBLANK interrupt */ | 46 | /* VBLANK interrupt */ |
57 | if (status & R128_CRTC_VBLANK_INT) { | 47 | if (status & R128_CRTC_VBLANK_INT) { |
58 | R128_WRITE(R128_GEN_INT_STATUS, R128_CRTC_VBLANK_INT_AK); | 48 | R128_WRITE(R128_GEN_INT_STATUS, R128_CRTC_VBLANK_INT_AK); |
59 | atomic_inc(&dev_priv->vbl_received); | 49 | atomic_inc(&dev->vbl_received); |
60 | drm_handle_vblank(dev, 0); | 50 | DRM_WAKEUP(&dev->vbl_queue); |
51 | drm_vbl_send_signals(dev); | ||
61 | return IRQ_HANDLED; | 52 | return IRQ_HANDLED; |
62 | } | 53 | } |
63 | return IRQ_NONE; | 54 | return IRQ_NONE; |
64 | } | 55 | } |
65 | 56 | ||
66 | int r128_enable_vblank(struct drm_device *dev, int crtc) | 57 | int r128_driver_vblank_wait(struct drm_device * dev, unsigned int *sequence) |
67 | { | 58 | { |
68 | drm_r128_private_t *dev_priv = dev->dev_private; | 59 | unsigned int cur_vblank; |
69 | 60 | int ret = 0; | |
70 | if (crtc != 0) { | ||
71 | DRM_ERROR("%s: bad crtc %d\n", __FUNCTION__, crtc); | ||
72 | return -EINVAL; | ||
73 | } | ||
74 | 61 | ||
75 | R128_WRITE(R128_GEN_INT_CNTL, R128_CRTC_VBLANK_INT_EN); | 62 | /* Assume that the user has missed the current sequence number |
76 | return 0; | 63 | * by about a day rather than she wants to wait for years |
77 | } | 64 | * using vertical blanks... |
65 | */ | ||
66 | DRM_WAIT_ON(ret, dev->vbl_queue, 3 * DRM_HZ, | ||
67 | (((cur_vblank = atomic_read(&dev->vbl_received)) | ||
68 | - *sequence) <= (1 << 23))); | ||
78 | 69 | ||
79 | void r128_disable_vblank(struct drm_device *dev, int crtc) | 70 | *sequence = cur_vblank; |
80 | { | ||
81 | if (crtc != 0) | ||
82 | DRM_ERROR("%s: bad crtc %d\n", __FUNCTION__, crtc); | ||
83 | 71 | ||
84 | /* | 72 | return ret; |
85 | * FIXME: implement proper interrupt disable by using the vblank | ||
86 | * counter register (if available) | ||
87 | * | ||
88 | * R128_WRITE(R128_GEN_INT_CNTL, | ||
89 | * R128_READ(R128_GEN_INT_CNTL) & ~R128_CRTC_VBLANK_INT_EN); | ||
90 | */ | ||
91 | } | 73 | } |
92 | 74 | ||
93 | void r128_driver_irq_preinstall(struct drm_device * dev) | 75 | void r128_driver_irq_preinstall(struct drm_device * dev) |
@@ -100,9 +82,12 @@ void r128_driver_irq_preinstall(struct drm_device * dev) | |||
100 | R128_WRITE(R128_GEN_INT_STATUS, R128_CRTC_VBLANK_INT_AK); | 82 | R128_WRITE(R128_GEN_INT_STATUS, R128_CRTC_VBLANK_INT_AK); |
101 | } | 83 | } |
102 | 84 | ||
103 | int r128_driver_irq_postinstall(struct drm_device * dev) | 85 | void r128_driver_irq_postinstall(struct drm_device * dev) |
104 | { | 86 | { |
105 | return drm_vblank_init(dev, 1); | 87 | drm_r128_private_t *dev_priv = (drm_r128_private_t *) dev->dev_private; |
88 | |||
89 | /* Turn on VBL interrupt */ | ||
90 | R128_WRITE(R128_GEN_INT_CNTL, R128_CRTC_VBLANK_INT_EN); | ||
106 | } | 91 | } |
107 | 92 | ||
108 | void r128_driver_irq_uninstall(struct drm_device * dev) | 93 | void r128_driver_irq_uninstall(struct drm_device * dev) |
diff --git a/drivers/char/drm/radeon_drv.c b/drivers/char/drm/radeon_drv.c index a2610319624d..349ac3d3b848 100644 --- a/drivers/char/drm/radeon_drv.c +++ b/drivers/char/drm/radeon_drv.c | |||
@@ -59,7 +59,8 @@ static struct pci_device_id pciidlist[] = { | |||
59 | static struct drm_driver driver = { | 59 | static struct drm_driver driver = { |
60 | .driver_features = | 60 | .driver_features = |
61 | DRIVER_USE_AGP | DRIVER_USE_MTRR | DRIVER_PCI_DMA | DRIVER_SG | | 61 | DRIVER_USE_AGP | DRIVER_USE_MTRR | DRIVER_PCI_DMA | DRIVER_SG | |
62 | DRIVER_HAVE_IRQ | DRIVER_HAVE_DMA | DRIVER_IRQ_SHARED, | 62 | DRIVER_HAVE_IRQ | DRIVER_HAVE_DMA | DRIVER_IRQ_SHARED | |
63 | DRIVER_IRQ_VBL | DRIVER_IRQ_VBL2, | ||
63 | .dev_priv_size = sizeof(drm_radeon_buf_priv_t), | 64 | .dev_priv_size = sizeof(drm_radeon_buf_priv_t), |
64 | .load = radeon_driver_load, | 65 | .load = radeon_driver_load, |
65 | .firstopen = radeon_driver_firstopen, | 66 | .firstopen = radeon_driver_firstopen, |
@@ -68,9 +69,8 @@ static struct drm_driver driver = { | |||
68 | .postclose = radeon_driver_postclose, | 69 | .postclose = radeon_driver_postclose, |
69 | .lastclose = radeon_driver_lastclose, | 70 | .lastclose = radeon_driver_lastclose, |
70 | .unload = radeon_driver_unload, | 71 | .unload = radeon_driver_unload, |
71 | .get_vblank_counter = radeon_get_vblank_counter, | 72 | .vblank_wait = radeon_driver_vblank_wait, |
72 | .enable_vblank = radeon_enable_vblank, | 73 | .vblank_wait2 = radeon_driver_vblank_wait2, |
73 | .disable_vblank = radeon_disable_vblank, | ||
74 | .dri_library_name = dri_library_name, | 74 | .dri_library_name = dri_library_name, |
75 | .irq_preinstall = radeon_driver_irq_preinstall, | 75 | .irq_preinstall = radeon_driver_irq_preinstall, |
76 | .irq_postinstall = radeon_driver_irq_postinstall, | 76 | .irq_postinstall = radeon_driver_irq_postinstall, |
diff --git a/drivers/char/drm/radeon_drv.h b/drivers/char/drm/radeon_drv.h index b791420bd3d9..173ae620223a 100644 --- a/drivers/char/drm/radeon_drv.h +++ b/drivers/char/drm/radeon_drv.h | |||
@@ -304,9 +304,6 @@ typedef struct drm_radeon_private { | |||
304 | 304 | ||
305 | u32 scratch_ages[5]; | 305 | u32 scratch_ages[5]; |
306 | 306 | ||
307 | unsigned int crtc_last_cnt; | ||
308 | unsigned int crtc2_last_cnt; | ||
309 | |||
310 | /* starting from here on, data is preserved accross an open */ | 307 | /* starting from here on, data is preserved accross an open */ |
311 | uint32_t flags; /* see radeon_chip_flags */ | 308 | uint32_t flags; /* see radeon_chip_flags */ |
312 | unsigned long fb_aper_offset; | 309 | unsigned long fb_aper_offset; |
@@ -377,13 +374,13 @@ extern int radeon_irq_emit(struct drm_device *dev, void *data, struct drm_file * | |||
377 | extern int radeon_irq_wait(struct drm_device *dev, void *data, struct drm_file *file_priv); | 374 | extern int radeon_irq_wait(struct drm_device *dev, void *data, struct drm_file *file_priv); |
378 | 375 | ||
379 | extern void radeon_do_release(struct drm_device * dev); | 376 | extern void radeon_do_release(struct drm_device * dev); |
380 | extern u32 radeon_get_vblank_counter(struct drm_device *dev, int crtc); | 377 | extern int radeon_driver_vblank_wait(struct drm_device * dev, |
381 | extern int radeon_enable_vblank(struct drm_device *dev, int crtc); | 378 | unsigned int *sequence); |
382 | extern void radeon_disable_vblank(struct drm_device *dev, int crtc); | 379 | extern int radeon_driver_vblank_wait2(struct drm_device * dev, |
383 | extern void radeon_do_release(struct drm_device * dev); | 380 | unsigned int *sequence); |
384 | extern irqreturn_t radeon_driver_irq_handler(DRM_IRQ_ARGS); | 381 | extern irqreturn_t radeon_driver_irq_handler(DRM_IRQ_ARGS); |
385 | extern void radeon_driver_irq_preinstall(struct drm_device * dev); | 382 | extern void radeon_driver_irq_preinstall(struct drm_device * dev); |
386 | extern int radeon_driver_irq_postinstall(struct drm_device * dev); | 383 | extern void radeon_driver_irq_postinstall(struct drm_device * dev); |
387 | extern void radeon_driver_irq_uninstall(struct drm_device * dev); | 384 | extern void radeon_driver_irq_uninstall(struct drm_device * dev); |
388 | extern int radeon_vblank_crtc_get(struct drm_device *dev); | 385 | extern int radeon_vblank_crtc_get(struct drm_device *dev); |
389 | extern int radeon_vblank_crtc_set(struct drm_device *dev, int64_t value); | 386 | extern int radeon_vblank_crtc_set(struct drm_device *dev, int64_t value); |
@@ -561,12 +558,6 @@ extern int r300_do_cp_cmdbuf(struct drm_device * dev, | |||
561 | ? DRM_READ32( dev_priv->ring_rptr, RADEON_SCRATCHOFF(x) ) \ | 558 | ? DRM_READ32( dev_priv->ring_rptr, RADEON_SCRATCHOFF(x) ) \ |
562 | : RADEON_READ( RADEON_SCRATCH_REG0 + 4*(x) ) ) | 559 | : RADEON_READ( RADEON_SCRATCH_REG0 + 4*(x) ) ) |
563 | 560 | ||
564 | #define RADEON_CRTC_CRNT_FRAME 0x0214 | ||
565 | #define RADEON_CRTC2_CRNT_FRAME 0x0314 | ||
566 | |||
567 | #define RADEON_CRTC_STATUS 0x005c | ||
568 | #define RADEON_CRTC2_STATUS 0x03fc | ||
569 | |||
570 | #define RADEON_GEN_INT_CNTL 0x0040 | 561 | #define RADEON_GEN_INT_CNTL 0x0040 |
571 | # define RADEON_CRTC_VBLANK_MASK (1 << 0) | 562 | # define RADEON_CRTC_VBLANK_MASK (1 << 0) |
572 | # define RADEON_CRTC2_VBLANK_MASK (1 << 9) | 563 | # define RADEON_CRTC2_VBLANK_MASK (1 << 9) |
diff --git a/drivers/char/drm/radeon_irq.c b/drivers/char/drm/radeon_irq.c index 507d6b747a13..009af3814b6f 100644 --- a/drivers/char/drm/radeon_irq.c +++ b/drivers/char/drm/radeon_irq.c | |||
@@ -35,61 +35,12 @@ | |||
35 | #include "radeon_drm.h" | 35 | #include "radeon_drm.h" |
36 | #include "radeon_drv.h" | 36 | #include "radeon_drv.h" |
37 | 37 | ||
38 | static void radeon_irq_set_state(struct drm_device *dev, u32 mask, int state) | 38 | static __inline__ u32 radeon_acknowledge_irqs(drm_radeon_private_t * dev_priv, |
39 | u32 mask) | ||
39 | { | 40 | { |
40 | drm_radeon_private_t *dev_priv = dev->dev_private; | 41 | u32 irqs = RADEON_READ(RADEON_GEN_INT_STATUS) & mask; |
41 | |||
42 | if (state) | ||
43 | dev_priv->irq_enable_reg |= mask; | ||
44 | else | ||
45 | dev_priv->irq_enable_reg &= ~mask; | ||
46 | |||
47 | RADEON_WRITE(RADEON_GEN_INT_CNTL, dev_priv->irq_enable_reg); | ||
48 | } | ||
49 | |||
50 | int radeon_enable_vblank(struct drm_device *dev, int crtc) | ||
51 | { | ||
52 | switch (crtc) { | ||
53 | case 0: | ||
54 | radeon_irq_set_state(dev, RADEON_CRTC_VBLANK_MASK, 1); | ||
55 | break; | ||
56 | case 1: | ||
57 | radeon_irq_set_state(dev, RADEON_CRTC2_VBLANK_MASK, 1); | ||
58 | break; | ||
59 | default: | ||
60 | DRM_ERROR("tried to enable vblank on non-existent crtc %d\n", | ||
61 | crtc); | ||
62 | return EINVAL; | ||
63 | } | ||
64 | |||
65 | return 0; | ||
66 | } | ||
67 | |||
68 | void radeon_disable_vblank(struct drm_device *dev, int crtc) | ||
69 | { | ||
70 | switch (crtc) { | ||
71 | case 0: | ||
72 | radeon_irq_set_state(dev, RADEON_CRTC_VBLANK_MASK, 0); | ||
73 | break; | ||
74 | case 1: | ||
75 | radeon_irq_set_state(dev, RADEON_CRTC2_VBLANK_MASK, 0); | ||
76 | break; | ||
77 | default: | ||
78 | DRM_ERROR("tried to enable vblank on non-existent crtc %d\n", | ||
79 | crtc); | ||
80 | break; | ||
81 | } | ||
82 | } | ||
83 | |||
84 | static __inline__ u32 radeon_acknowledge_irqs(drm_radeon_private_t * dev_priv) | ||
85 | { | ||
86 | u32 irqs = RADEON_READ(RADEON_GEN_INT_STATUS) & | ||
87 | (RADEON_SW_INT_TEST | RADEON_CRTC_VBLANK_STAT | | ||
88 | RADEON_CRTC2_VBLANK_STAT); | ||
89 | |||
90 | if (irqs) | 42 | if (irqs) |
91 | RADEON_WRITE(RADEON_GEN_INT_STATUS, irqs); | 43 | RADEON_WRITE(RADEON_GEN_INT_STATUS, irqs); |
92 | |||
93 | return irqs; | 44 | return irqs; |
94 | } | 45 | } |
95 | 46 | ||
@@ -121,21 +72,39 @@ irqreturn_t radeon_driver_irq_handler(DRM_IRQ_ARGS) | |||
121 | /* Only consider the bits we're interested in - others could be used | 72 | /* Only consider the bits we're interested in - others could be used |
122 | * outside the DRM | 73 | * outside the DRM |
123 | */ | 74 | */ |
124 | stat = radeon_acknowledge_irqs(dev_priv); | 75 | stat = radeon_acknowledge_irqs(dev_priv, (RADEON_SW_INT_TEST_ACK | |
76 | RADEON_CRTC_VBLANK_STAT | | ||
77 | RADEON_CRTC2_VBLANK_STAT)); | ||
125 | if (!stat) | 78 | if (!stat) |
126 | return IRQ_NONE; | 79 | return IRQ_NONE; |
127 | 80 | ||
128 | stat &= dev_priv->irq_enable_reg; | 81 | stat &= dev_priv->irq_enable_reg; |
129 | 82 | ||
130 | /* SW interrupt */ | 83 | /* SW interrupt */ |
131 | if (stat & RADEON_SW_INT_TEST) | 84 | if (stat & RADEON_SW_INT_TEST) { |
132 | DRM_WAKEUP(&dev_priv->swi_queue); | 85 | DRM_WAKEUP(&dev_priv->swi_queue); |
86 | } | ||
133 | 87 | ||
134 | /* VBLANK interrupt */ | 88 | /* VBLANK interrupt */ |
135 | if (stat & RADEON_CRTC_VBLANK_STAT) | 89 | if (stat & (RADEON_CRTC_VBLANK_STAT|RADEON_CRTC2_VBLANK_STAT)) { |
136 | drm_handle_vblank(dev, 0); | 90 | int vblank_crtc = dev_priv->vblank_crtc; |
137 | if (stat & RADEON_CRTC2_VBLANK_STAT) | 91 | |
138 | drm_handle_vblank(dev, 1); | 92 | if ((vblank_crtc & |
93 | (DRM_RADEON_VBLANK_CRTC1 | DRM_RADEON_VBLANK_CRTC2)) == | ||
94 | (DRM_RADEON_VBLANK_CRTC1 | DRM_RADEON_VBLANK_CRTC2)) { | ||
95 | if (stat & RADEON_CRTC_VBLANK_STAT) | ||
96 | atomic_inc(&dev->vbl_received); | ||
97 | if (stat & RADEON_CRTC2_VBLANK_STAT) | ||
98 | atomic_inc(&dev->vbl_received2); | ||
99 | } else if (((stat & RADEON_CRTC_VBLANK_STAT) && | ||
100 | (vblank_crtc & DRM_RADEON_VBLANK_CRTC1)) || | ||
101 | ((stat & RADEON_CRTC2_VBLANK_STAT) && | ||
102 | (vblank_crtc & DRM_RADEON_VBLANK_CRTC2))) | ||
103 | atomic_inc(&dev->vbl_received); | ||
104 | |||
105 | DRM_WAKEUP(&dev->vbl_queue); | ||
106 | drm_vbl_send_signals(dev); | ||
107 | } | ||
139 | 108 | ||
140 | return IRQ_HANDLED; | 109 | return IRQ_HANDLED; |
141 | } | 110 | } |
@@ -175,27 +144,54 @@ static int radeon_wait_irq(struct drm_device * dev, int swi_nr) | |||
175 | return ret; | 144 | return ret; |
176 | } | 145 | } |
177 | 146 | ||
178 | u32 radeon_get_vblank_counter(struct drm_device *dev, int crtc) | 147 | static int radeon_driver_vblank_do_wait(struct drm_device * dev, |
148 | unsigned int *sequence, int crtc) | ||
179 | { | 149 | { |
180 | drm_radeon_private_t *dev_priv = dev->dev_private; | 150 | drm_radeon_private_t *dev_priv = |
181 | u32 crtc_cnt_reg, crtc_status_reg; | 151 | (drm_radeon_private_t *) dev->dev_private; |
182 | 152 | unsigned int cur_vblank; | |
153 | int ret = 0; | ||
154 | int ack = 0; | ||
155 | atomic_t *counter; | ||
183 | if (!dev_priv) { | 156 | if (!dev_priv) { |
184 | DRM_ERROR("called with no initialization\n"); | 157 | DRM_ERROR("called with no initialization\n"); |
185 | return -EINVAL; | 158 | return -EINVAL; |
186 | } | 159 | } |
187 | 160 | ||
188 | if (crtc == 0) { | 161 | if (crtc == DRM_RADEON_VBLANK_CRTC1) { |
189 | crtc_cnt_reg = RADEON_CRTC_CRNT_FRAME; | 162 | counter = &dev->vbl_received; |
190 | crtc_status_reg = RADEON_CRTC_STATUS; | 163 | ack |= RADEON_CRTC_VBLANK_STAT; |
191 | } else if (crtc == 1) { | 164 | } else if (crtc == DRM_RADEON_VBLANK_CRTC2) { |
192 | crtc_cnt_reg = RADEON_CRTC2_CRNT_FRAME; | 165 | counter = &dev->vbl_received2; |
193 | crtc_status_reg = RADEON_CRTC2_STATUS; | 166 | ack |= RADEON_CRTC2_VBLANK_STAT; |
194 | } else { | 167 | } else |
195 | return -EINVAL; | 168 | return -EINVAL; |
196 | } | ||
197 | 169 | ||
198 | return RADEON_READ(crtc_cnt_reg) + (RADEON_READ(crtc_status_reg) & 1); | 170 | radeon_acknowledge_irqs(dev_priv, ack); |
171 | |||
172 | dev_priv->stats.boxes |= RADEON_BOX_WAIT_IDLE; | ||
173 | |||
174 | /* Assume that the user has missed the current sequence number | ||
175 | * by about a day rather than she wants to wait for years | ||
176 | * using vertical blanks... | ||
177 | */ | ||
178 | DRM_WAIT_ON(ret, dev->vbl_queue, 3 * DRM_HZ, | ||
179 | (((cur_vblank = atomic_read(counter)) | ||
180 | - *sequence) <= (1 << 23))); | ||
181 | |||
182 | *sequence = cur_vblank; | ||
183 | |||
184 | return ret; | ||
185 | } | ||
186 | |||
187 | int radeon_driver_vblank_wait(struct drm_device *dev, unsigned int *sequence) | ||
188 | { | ||
189 | return radeon_driver_vblank_do_wait(dev, sequence, DRM_RADEON_VBLANK_CRTC1); | ||
190 | } | ||
191 | |||
192 | int radeon_driver_vblank_wait2(struct drm_device *dev, unsigned int *sequence) | ||
193 | { | ||
194 | return radeon_driver_vblank_do_wait(dev, sequence, DRM_RADEON_VBLANK_CRTC2); | ||
199 | } | 195 | } |
200 | 196 | ||
201 | /* Needs the lock as it touches the ring. | 197 | /* Needs the lock as it touches the ring. |
@@ -238,6 +234,21 @@ int radeon_irq_wait(struct drm_device *dev, void *data, struct drm_file *file_pr | |||
238 | return radeon_wait_irq(dev, irqwait->irq_seq); | 234 | return radeon_wait_irq(dev, irqwait->irq_seq); |
239 | } | 235 | } |
240 | 236 | ||
237 | static void radeon_enable_interrupt(struct drm_device *dev) | ||
238 | { | ||
239 | drm_radeon_private_t *dev_priv = (drm_radeon_private_t *) dev->dev_private; | ||
240 | |||
241 | dev_priv->irq_enable_reg = RADEON_SW_INT_ENABLE; | ||
242 | if (dev_priv->vblank_crtc & DRM_RADEON_VBLANK_CRTC1) | ||
243 | dev_priv->irq_enable_reg |= RADEON_CRTC_VBLANK_MASK; | ||
244 | |||
245 | if (dev_priv->vblank_crtc & DRM_RADEON_VBLANK_CRTC2) | ||
246 | dev_priv->irq_enable_reg |= RADEON_CRTC2_VBLANK_MASK; | ||
247 | |||
248 | RADEON_WRITE(RADEON_GEN_INT_CNTL, dev_priv->irq_enable_reg); | ||
249 | dev_priv->irq_enabled = 1; | ||
250 | } | ||
251 | |||
241 | /* drm_dma.h hooks | 252 | /* drm_dma.h hooks |
242 | */ | 253 | */ |
243 | void radeon_driver_irq_preinstall(struct drm_device * dev) | 254 | void radeon_driver_irq_preinstall(struct drm_device * dev) |
@@ -249,27 +260,20 @@ void radeon_driver_irq_preinstall(struct drm_device * dev) | |||
249 | RADEON_WRITE(RADEON_GEN_INT_CNTL, 0); | 260 | RADEON_WRITE(RADEON_GEN_INT_CNTL, 0); |
250 | 261 | ||
251 | /* Clear bits if they're already high */ | 262 | /* Clear bits if they're already high */ |
252 | radeon_acknowledge_irqs(dev_priv); | 263 | radeon_acknowledge_irqs(dev_priv, (RADEON_SW_INT_TEST_ACK | |
264 | RADEON_CRTC_VBLANK_STAT | | ||
265 | RADEON_CRTC2_VBLANK_STAT)); | ||
253 | } | 266 | } |
254 | 267 | ||
255 | int radeon_driver_irq_postinstall(struct drm_device * dev) | 268 | void radeon_driver_irq_postinstall(struct drm_device * dev) |
256 | { | 269 | { |
257 | drm_radeon_private_t *dev_priv = | 270 | drm_radeon_private_t *dev_priv = |
258 | (drm_radeon_private_t *) dev->dev_private; | 271 | (drm_radeon_private_t *) dev->dev_private; |
259 | int ret; | ||
260 | 272 | ||
261 | atomic_set(&dev_priv->swi_emitted, 0); | 273 | atomic_set(&dev_priv->swi_emitted, 0); |
262 | DRM_INIT_WAITQUEUE(&dev_priv->swi_queue); | 274 | DRM_INIT_WAITQUEUE(&dev_priv->swi_queue); |
263 | 275 | ||
264 | ret = drm_vblank_init(dev, 2); | 276 | radeon_enable_interrupt(dev); |
265 | if (ret) | ||
266 | return ret; | ||
267 | |||
268 | dev->max_vblank_count = 0x001fffff; | ||
269 | |||
270 | radeon_irq_set_state(dev, RADEON_SW_INT_ENABLE, 1); | ||
271 | |||
272 | return 0; | ||
273 | } | 277 | } |
274 | 278 | ||
275 | void radeon_driver_irq_uninstall(struct drm_device * dev) | 279 | void radeon_driver_irq_uninstall(struct drm_device * dev) |
@@ -311,5 +315,6 @@ int radeon_vblank_crtc_set(struct drm_device *dev, int64_t value) | |||
311 | return -EINVAL; | 315 | return -EINVAL; |
312 | } | 316 | } |
313 | dev_priv->vblank_crtc = (unsigned int)value; | 317 | dev_priv->vblank_crtc = (unsigned int)value; |
318 | radeon_enable_interrupt(dev); | ||
314 | return 0; | 319 | return 0; |
315 | } | 320 | } |
diff --git a/drivers/char/drm/via_drv.c b/drivers/char/drm/via_drv.c index 37870a4a3dc7..80c01cdfa37d 100644 --- a/drivers/char/drm/via_drv.c +++ b/drivers/char/drm/via_drv.c | |||
@@ -40,13 +40,11 @@ static struct pci_device_id pciidlist[] = { | |||
40 | static struct drm_driver driver = { | 40 | static struct drm_driver driver = { |
41 | .driver_features = | 41 | .driver_features = |
42 | DRIVER_USE_AGP | DRIVER_USE_MTRR | DRIVER_HAVE_IRQ | | 42 | DRIVER_USE_AGP | DRIVER_USE_MTRR | DRIVER_HAVE_IRQ | |
43 | DRIVER_IRQ_SHARED, | 43 | DRIVER_IRQ_SHARED | DRIVER_IRQ_VBL, |
44 | .load = via_driver_load, | 44 | .load = via_driver_load, |
45 | .unload = via_driver_unload, | 45 | .unload = via_driver_unload, |
46 | .context_dtor = via_final_context, | 46 | .context_dtor = via_final_context, |
47 | .get_vblank_counter = via_get_vblank_counter, | 47 | .vblank_wait = via_driver_vblank_wait, |
48 | .enable_vblank = via_enable_vblank, | ||
49 | .disable_vblank = via_disable_vblank, | ||
50 | .irq_preinstall = via_driver_irq_preinstall, | 48 | .irq_preinstall = via_driver_irq_preinstall, |
51 | .irq_postinstall = via_driver_irq_postinstall, | 49 | .irq_postinstall = via_driver_irq_postinstall, |
52 | .irq_uninstall = via_driver_irq_uninstall, | 50 | .irq_uninstall = via_driver_irq_uninstall, |
diff --git a/drivers/char/drm/via_drv.h b/drivers/char/drm/via_drv.h index fe67030e39ac..2daae81874cd 100644 --- a/drivers/char/drm/via_drv.h +++ b/drivers/char/drm/via_drv.h | |||
@@ -75,7 +75,6 @@ typedef struct drm_via_private { | |||
75 | struct timeval last_vblank; | 75 | struct timeval last_vblank; |
76 | int last_vblank_valid; | 76 | int last_vblank_valid; |
77 | unsigned usec_per_vblank; | 77 | unsigned usec_per_vblank; |
78 | atomic_t vbl_received; | ||
79 | drm_via_state_t hc_state; | 78 | drm_via_state_t hc_state; |
80 | char pci_buf[VIA_PCI_BUF_SIZE]; | 79 | char pci_buf[VIA_PCI_BUF_SIZE]; |
81 | const uint32_t *fire_offsets[VIA_FIRE_BUF_SIZE]; | 80 | const uint32_t *fire_offsets[VIA_FIRE_BUF_SIZE]; |
@@ -131,13 +130,11 @@ extern int via_init_context(struct drm_device * dev, int context); | |||
131 | extern int via_final_context(struct drm_device * dev, int context); | 130 | extern int via_final_context(struct drm_device * dev, int context); |
132 | 131 | ||
133 | extern int via_do_cleanup_map(struct drm_device * dev); | 132 | extern int via_do_cleanup_map(struct drm_device * dev); |
134 | extern u32 via_get_vblank_counter(struct drm_device *dev, int crtc); | 133 | extern int via_driver_vblank_wait(struct drm_device * dev, unsigned int *sequence); |
135 | extern int via_enable_vblank(struct drm_device *dev, int crtc); | ||
136 | extern void via_disable_vblank(struct drm_device *dev, int crtc); | ||
137 | 134 | ||
138 | extern irqreturn_t via_driver_irq_handler(DRM_IRQ_ARGS); | 135 | extern irqreturn_t via_driver_irq_handler(DRM_IRQ_ARGS); |
139 | extern void via_driver_irq_preinstall(struct drm_device * dev); | 136 | extern void via_driver_irq_preinstall(struct drm_device * dev); |
140 | extern int via_driver_irq_postinstall(struct drm_device * dev); | 137 | extern void via_driver_irq_postinstall(struct drm_device * dev); |
141 | extern void via_driver_irq_uninstall(struct drm_device * dev); | 138 | extern void via_driver_irq_uninstall(struct drm_device * dev); |
142 | 139 | ||
143 | extern int via_dma_cleanup(struct drm_device * dev); | 140 | extern int via_dma_cleanup(struct drm_device * dev); |
diff --git a/drivers/char/drm/via_irq.c b/drivers/char/drm/via_irq.c index f1ab6fc7c07e..c6bb978a1106 100644 --- a/drivers/char/drm/via_irq.c +++ b/drivers/char/drm/via_irq.c | |||
@@ -92,17 +92,8 @@ static int via_irqmap_unichrome[] = {-1, -1, -1, 0, -1, 1}; | |||
92 | static unsigned time_diff(struct timeval *now, struct timeval *then) | 92 | static unsigned time_diff(struct timeval *now, struct timeval *then) |
93 | { | 93 | { |
94 | return (now->tv_usec >= then->tv_usec) ? | 94 | return (now->tv_usec >= then->tv_usec) ? |
95 | now->tv_usec - then->tv_usec : | 95 | now->tv_usec - then->tv_usec : |
96 | 1000000 - (then->tv_usec - now->tv_usec); | 96 | 1000000 - (then->tv_usec - now->tv_usec); |
97 | } | ||
98 | |||
99 | u32 via_get_vblank_counter(struct drm_device *dev, int crtc) | ||
100 | { | ||
101 | drm_via_private_t *dev_priv = dev->dev_private; | ||
102 | if (crtc != 0) | ||
103 | return 0; | ||
104 | |||
105 | return atomic_read(&dev_priv->vbl_received); | ||
106 | } | 97 | } |
107 | 98 | ||
108 | irqreturn_t via_driver_irq_handler(DRM_IRQ_ARGS) | 99 | irqreturn_t via_driver_irq_handler(DRM_IRQ_ARGS) |
@@ -117,8 +108,8 @@ irqreturn_t via_driver_irq_handler(DRM_IRQ_ARGS) | |||
117 | 108 | ||
118 | status = VIA_READ(VIA_REG_INTERRUPT); | 109 | status = VIA_READ(VIA_REG_INTERRUPT); |
119 | if (status & VIA_IRQ_VBLANK_PENDING) { | 110 | if (status & VIA_IRQ_VBLANK_PENDING) { |
120 | atomic_inc(&dev_priv->vbl_received); | 111 | atomic_inc(&dev->vbl_received); |
121 | if (!(atomic_read(&dev_priv->vbl_received) & 0x0F)) { | 112 | if (!(atomic_read(&dev->vbl_received) & 0x0F)) { |
122 | do_gettimeofday(&cur_vblank); | 113 | do_gettimeofday(&cur_vblank); |
123 | if (dev_priv->last_vblank_valid) { | 114 | if (dev_priv->last_vblank_valid) { |
124 | dev_priv->usec_per_vblank = | 115 | dev_priv->usec_per_vblank = |
@@ -128,11 +119,12 @@ irqreturn_t via_driver_irq_handler(DRM_IRQ_ARGS) | |||
128 | dev_priv->last_vblank = cur_vblank; | 119 | dev_priv->last_vblank = cur_vblank; |
129 | dev_priv->last_vblank_valid = 1; | 120 | dev_priv->last_vblank_valid = 1; |
130 | } | 121 | } |
131 | if (!(atomic_read(&dev_priv->vbl_received) & 0xFF)) { | 122 | if (!(atomic_read(&dev->vbl_received) & 0xFF)) { |
132 | DRM_DEBUG("US per vblank is: %u\n", | 123 | DRM_DEBUG("US per vblank is: %u\n", |
133 | dev_priv->usec_per_vblank); | 124 | dev_priv->usec_per_vblank); |
134 | } | 125 | } |
135 | drm_handle_vblank(dev, 0); | 126 | DRM_WAKEUP(&dev->vbl_queue); |
127 | drm_vbl_send_signals(dev); | ||
136 | handled = 1; | 128 | handled = 1; |
137 | } | 129 | } |
138 | 130 | ||
@@ -171,34 +163,31 @@ static __inline__ void viadrv_acknowledge_irqs(drm_via_private_t * dev_priv) | |||
171 | } | 163 | } |
172 | } | 164 | } |
173 | 165 | ||
174 | int via_enable_vblank(struct drm_device *dev, int crtc) | 166 | int via_driver_vblank_wait(struct drm_device * dev, unsigned int *sequence) |
175 | { | 167 | { |
176 | drm_via_private_t *dev_priv = dev->dev_private; | 168 | drm_via_private_t *dev_priv = (drm_via_private_t *) dev->dev_private; |
177 | u32 status; | 169 | unsigned int cur_vblank; |
170 | int ret = 0; | ||
178 | 171 | ||
179 | if (crtc != 0) { | 172 | DRM_DEBUG("\n"); |
180 | DRM_ERROR("%s: bad crtc %d\n", __FUNCTION__, crtc); | 173 | if (!dev_priv) { |
174 | DRM_ERROR("called with no initialization\n"); | ||
181 | return -EINVAL; | 175 | return -EINVAL; |
182 | } | 176 | } |
183 | 177 | ||
184 | status = VIA_READ(VIA_REG_INTERRUPT); | 178 | viadrv_acknowledge_irqs(dev_priv); |
185 | VIA_WRITE(VIA_REG_INTERRUPT, status & VIA_IRQ_VBLANK_ENABLE); | ||
186 | 179 | ||
187 | VIA_WRITE8(0x83d4, 0x11); | 180 | /* Assume that the user has missed the current sequence number |
188 | VIA_WRITE8(0x83d5, VIA_READ8(0x83d5) | 0x30); | 181 | * by about a day rather than she wants to wait for years |
182 | * using vertical blanks... | ||
183 | */ | ||
189 | 184 | ||
190 | return 0; | 185 | DRM_WAIT_ON(ret, dev->vbl_queue, 3 * DRM_HZ, |
191 | } | 186 | (((cur_vblank = atomic_read(&dev->vbl_received)) - |
187 | *sequence) <= (1 << 23))); | ||
192 | 188 | ||
193 | void via_disable_vblank(struct drm_device *dev, int crtc) | 189 | *sequence = cur_vblank; |
194 | { | 190 | return ret; |
195 | drm_via_private_t *dev_priv = dev->dev_private; | ||
196 | |||
197 | VIA_WRITE8(0x83d4, 0x11); | ||
198 | VIA_WRITE8(0x83d5, VIA_READ8(0x83d5) & ~0x30); | ||
199 | |||
200 | if (crtc != 0) | ||
201 | DRM_ERROR("%s: bad crtc %d\n", __FUNCTION__, crtc); | ||
202 | } | 191 | } |
203 | 192 | ||
204 | static int | 193 | static int |
@@ -303,25 +292,23 @@ void via_driver_irq_preinstall(struct drm_device * dev) | |||
303 | } | 292 | } |
304 | } | 293 | } |
305 | 294 | ||
306 | int via_driver_irq_postinstall(struct drm_device * dev) | 295 | void via_driver_irq_postinstall(struct drm_device * dev) |
307 | { | 296 | { |
308 | drm_via_private_t *dev_priv = (drm_via_private_t *) dev->dev_private; | 297 | drm_via_private_t *dev_priv = (drm_via_private_t *) dev->dev_private; |
309 | u32 status; | 298 | u32 status; |
310 | 299 | ||
311 | DRM_DEBUG("via_driver_irq_postinstall\n"); | 300 | DRM_DEBUG("\n"); |
312 | if (!dev_priv) | 301 | if (dev_priv) { |
313 | return -EINVAL; | 302 | status = VIA_READ(VIA_REG_INTERRUPT); |
303 | VIA_WRITE(VIA_REG_INTERRUPT, status | VIA_IRQ_GLOBAL | ||
304 | | dev_priv->irq_enable_mask); | ||
314 | 305 | ||
315 | drm_vblank_init(dev, 1); | 306 | /* Some magic, oh for some data sheets ! */ |
316 | status = VIA_READ(VIA_REG_INTERRUPT); | ||
317 | VIA_WRITE(VIA_REG_INTERRUPT, status | VIA_IRQ_GLOBAL | ||
318 | | dev_priv->irq_enable_mask); | ||
319 | 307 | ||
320 | /* Some magic, oh for some data sheets ! */ | 308 | VIA_WRITE8(0x83d4, 0x11); |
321 | VIA_WRITE8(0x83d4, 0x11); | 309 | VIA_WRITE8(0x83d5, VIA_READ8(0x83d5) | 0x30); |
322 | VIA_WRITE8(0x83d5, VIA_READ8(0x83d5) | 0x30); | ||
323 | 310 | ||
324 | return 0; | 311 | } |
325 | } | 312 | } |
326 | 313 | ||
327 | void via_driver_irq_uninstall(struct drm_device * dev) | 314 | void via_driver_irq_uninstall(struct drm_device * dev) |
diff --git a/drivers/char/snsc_event.c b/drivers/char/snsc_event.c index 53b3d44f8c06..55a95892ccf9 100644 --- a/drivers/char/snsc_event.c +++ b/drivers/char/snsc_event.c | |||
@@ -17,7 +17,7 @@ | |||
17 | 17 | ||
18 | #include <linux/interrupt.h> | 18 | #include <linux/interrupt.h> |
19 | #include <linux/sched.h> | 19 | #include <linux/sched.h> |
20 | #include <linux/byteorder/generic.h> | 20 | #include <asm/byteorder.h> |
21 | #include <asm/sn/sn_sal.h> | 21 | #include <asm/sn/sn_sal.h> |
22 | #include <asm/unaligned.h> | 22 | #include <asm/unaligned.h> |
23 | #include "snsc.h" | 23 | #include "snsc.h" |
diff --git a/drivers/char/vme_scc.c b/drivers/char/vme_scc.c index e122a0e87bb0..f17ac043b551 100644 --- a/drivers/char/vme_scc.c +++ b/drivers/char/vme_scc.c | |||
@@ -89,9 +89,7 @@ static void scc_break_ctl(struct tty_struct *tty, int break_state); | |||
89 | 89 | ||
90 | static struct tty_driver *scc_driver; | 90 | static struct tty_driver *scc_driver; |
91 | 91 | ||
92 | struct scc_port scc_ports[2]; | 92 | static struct scc_port scc_ports[2]; |
93 | |||
94 | int scc_initialized = 0; | ||
95 | 93 | ||
96 | /*--------------------------------------------------------------------------- | 94 | /*--------------------------------------------------------------------------- |
97 | * Interface from generic_serial.c back here | 95 | * Interface from generic_serial.c back here |
diff --git a/drivers/i2c/busses/i2c-amd756.c b/drivers/i2c/busses/i2c-amd756.c index 2fa43183d375..43508d61eb7c 100644 --- a/drivers/i2c/busses/i2c-amd756.c +++ b/drivers/i2c/busses/i2c-amd756.c | |||
@@ -290,7 +290,7 @@ static u32 amd756_func(struct i2c_adapter *adapter) | |||
290 | { | 290 | { |
291 | return I2C_FUNC_SMBUS_QUICK | I2C_FUNC_SMBUS_BYTE | | 291 | return I2C_FUNC_SMBUS_QUICK | I2C_FUNC_SMBUS_BYTE | |
292 | I2C_FUNC_SMBUS_BYTE_DATA | I2C_FUNC_SMBUS_WORD_DATA | | 292 | I2C_FUNC_SMBUS_BYTE_DATA | I2C_FUNC_SMBUS_WORD_DATA | |
293 | I2C_FUNC_SMBUS_BLOCK_DATA | I2C_FUNC_SMBUS_PROC_CALL; | 293 | I2C_FUNC_SMBUS_BLOCK_DATA; |
294 | } | 294 | } |
295 | 295 | ||
296 | static const struct i2c_algorithm smbus_algorithm = { | 296 | static const struct i2c_algorithm smbus_algorithm = { |
diff --git a/drivers/i2c/busses/i2c-nforce2.c b/drivers/i2c/busses/i2c-nforce2.c index 3dac920e53ea..43c9f8df9509 100644 --- a/drivers/i2c/busses/i2c-nforce2.c +++ b/drivers/i2c/busses/i2c-nforce2.c | |||
@@ -50,6 +50,7 @@ | |||
50 | #include <linux/init.h> | 50 | #include <linux/init.h> |
51 | #include <linux/i2c.h> | 51 | #include <linux/i2c.h> |
52 | #include <linux/delay.h> | 52 | #include <linux/delay.h> |
53 | #include <linux/dmi.h> | ||
53 | #include <asm/io.h> | 54 | #include <asm/io.h> |
54 | 55 | ||
55 | MODULE_LICENSE("GPL"); | 56 | MODULE_LICENSE("GPL"); |
@@ -109,6 +110,18 @@ struct nforce2_smbus { | |||
109 | /* Misc definitions */ | 110 | /* Misc definitions */ |
110 | #define MAX_TIMEOUT 100 | 111 | #define MAX_TIMEOUT 100 |
111 | 112 | ||
113 | /* We disable the second SMBus channel on these boards */ | ||
114 | static struct dmi_system_id __devinitdata nforce2_dmi_blacklist2[] = { | ||
115 | { | ||
116 | .ident = "DFI Lanparty NF4 Expert", | ||
117 | .matches = { | ||
118 | DMI_MATCH(DMI_BOARD_VENDOR, "DFI Corp,LTD"), | ||
119 | DMI_MATCH(DMI_BOARD_NAME, "LP UT NF4 Expert"), | ||
120 | }, | ||
121 | }, | ||
122 | { } | ||
123 | }; | ||
124 | |||
112 | static struct pci_driver nforce2_driver; | 125 | static struct pci_driver nforce2_driver; |
113 | 126 | ||
114 | static void nforce2_abort(struct i2c_adapter *adap) | 127 | static void nforce2_abort(struct i2c_adapter *adap) |
@@ -367,10 +380,17 @@ static int __devinit nforce2_probe(struct pci_dev *dev, const struct pci_device_ | |||
367 | smbuses[0].base = 0; /* to have a check value */ | 380 | smbuses[0].base = 0; /* to have a check value */ |
368 | } | 381 | } |
369 | /* SMBus adapter 2 */ | 382 | /* SMBus adapter 2 */ |
370 | res2 = nforce2_probe_smb(dev, 5, NFORCE_PCI_SMB2, &smbuses[1], "SMB2"); | 383 | if (dmi_check_system(nforce2_dmi_blacklist2)) { |
371 | if (res2 < 0) { | 384 | dev_err(&dev->dev, "Disabling SMB2 for safety reasons.\n"); |
372 | dev_err(&dev->dev, "Error probing SMB2.\n"); | 385 | res2 = -EPERM; |
373 | smbuses[1].base = 0; /* to have a check value */ | 386 | smbuses[1].base = 0; |
387 | } else { | ||
388 | res2 = nforce2_probe_smb(dev, 5, NFORCE_PCI_SMB2, &smbuses[1], | ||
389 | "SMB2"); | ||
390 | if (res2 < 0) { | ||
391 | dev_err(&dev->dev, "Error probing SMB2.\n"); | ||
392 | smbuses[1].base = 0; /* to have a check value */ | ||
393 | } | ||
374 | } | 394 | } |
375 | if ((res1 < 0) && (res2 < 0)) { | 395 | if ((res1 < 0) && (res2 < 0)) { |
376 | /* we did not find even one of the SMBuses, so we give up */ | 396 | /* we did not find even one of the SMBuses, so we give up */ |
diff --git a/drivers/i2c/chips/max6875.c b/drivers/i2c/chips/max6875.c index fb7ea5637eca..cf507b3f60f3 100644 --- a/drivers/i2c/chips/max6875.c +++ b/drivers/i2c/chips/max6875.c | |||
@@ -207,9 +207,6 @@ static int max6875_detect(struct i2c_adapter *adapter, int address, int kind) | |||
207 | fake_client->flags = 0; | 207 | fake_client->flags = 0; |
208 | strlcpy(fake_client->name, "max6875 subclient", I2C_NAME_SIZE); | 208 | strlcpy(fake_client->name, "max6875 subclient", I2C_NAME_SIZE); |
209 | 209 | ||
210 | /* Prevent 24RF08 corruption (in case of user error) */ | ||
211 | i2c_smbus_write_quick(real_client, 0); | ||
212 | |||
213 | if ((err = i2c_attach_client(real_client)) != 0) | 210 | if ((err = i2c_attach_client(real_client)) != 0) |
214 | goto exit_kfree2; | 211 | goto exit_kfree2; |
215 | 212 | ||
diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c index c99ebeadb558..d0175f4f8fc6 100644 --- a/drivers/i2c/i2c-core.c +++ b/drivers/i2c/i2c-core.c | |||
@@ -74,10 +74,7 @@ static int i2c_device_match(struct device *dev, struct device_driver *drv) | |||
74 | if (driver->id_table) | 74 | if (driver->id_table) |
75 | return i2c_match_id(driver->id_table, client) != NULL; | 75 | return i2c_match_id(driver->id_table, client) != NULL; |
76 | 76 | ||
77 | /* new style drivers use the same kind of driver matching policy | 77 | return 0; |
78 | * as platform devices or SPI: compare device and driver IDs. | ||
79 | */ | ||
80 | return strcmp(client->driver_name, drv->name) == 0; | ||
81 | } | 78 | } |
82 | 79 | ||
83 | #ifdef CONFIG_HOTPLUG | 80 | #ifdef CONFIG_HOTPLUG |
@@ -91,14 +88,9 @@ static int i2c_device_uevent(struct device *dev, struct kobj_uevent_env *env) | |||
91 | if (dev->driver) | 88 | if (dev->driver) |
92 | return 0; | 89 | return 0; |
93 | 90 | ||
94 | if (client->driver_name[0]) { | 91 | if (add_uevent_var(env, "MODALIAS=%s%s", |
95 | if (add_uevent_var(env, "MODALIAS=%s", client->driver_name)) | 92 | I2C_MODULE_PREFIX, client->name)) |
96 | return -ENOMEM; | 93 | return -ENOMEM; |
97 | } else { | ||
98 | if (add_uevent_var(env, "MODALIAS=%s%s", | ||
99 | I2C_MODULE_PREFIX, client->name)) | ||
100 | return -ENOMEM; | ||
101 | } | ||
102 | dev_dbg(dev, "uevent\n"); | 94 | dev_dbg(dev, "uevent\n"); |
103 | return 0; | 95 | return 0; |
104 | } | 96 | } |
@@ -206,9 +198,7 @@ static ssize_t show_client_name(struct device *dev, struct device_attribute *att | |||
206 | static ssize_t show_modalias(struct device *dev, struct device_attribute *attr, char *buf) | 198 | static ssize_t show_modalias(struct device *dev, struct device_attribute *attr, char *buf) |
207 | { | 199 | { |
208 | struct i2c_client *client = to_i2c_client(dev); | 200 | struct i2c_client *client = to_i2c_client(dev); |
209 | return client->driver_name[0] | 201 | return sprintf(buf, "%s%s\n", I2C_MODULE_PREFIX, client->name); |
210 | ? sprintf(buf, "%s\n", client->driver_name) | ||
211 | : sprintf(buf, "%s%s\n", I2C_MODULE_PREFIX, client->name); | ||
212 | } | 202 | } |
213 | 203 | ||
214 | static struct device_attribute i2c_dev_attrs[] = { | 204 | static struct device_attribute i2c_dev_attrs[] = { |
@@ -282,8 +272,6 @@ i2c_new_device(struct i2c_adapter *adap, struct i2c_board_info const *info) | |||
282 | client->addr = info->addr; | 272 | client->addr = info->addr; |
283 | client->irq = info->irq; | 273 | client->irq = info->irq; |
284 | 274 | ||
285 | strlcpy(client->driver_name, info->driver_name, | ||
286 | sizeof(client->driver_name)); | ||
287 | strlcpy(client->name, info->type, sizeof(client->name)); | 275 | strlcpy(client->name, info->type, sizeof(client->name)); |
288 | 276 | ||
289 | /* a new style driver may be bound to this device when we | 277 | /* a new style driver may be bound to this device when we |
diff --git a/drivers/ide/legacy/macide.c b/drivers/ide/legacy/macide.c index 1f527bbf8d96..caa2632dd08e 100644 --- a/drivers/ide/legacy/macide.c +++ b/drivers/ide/legacy/macide.c | |||
@@ -95,6 +95,9 @@ static int __init macide_init(void) | |||
95 | int irq; | 95 | int irq; |
96 | hw_regs_t hw; | 96 | hw_regs_t hw; |
97 | 97 | ||
98 | if (!MACH_IS_MAC) | ||
99 | return -ENODEV; | ||
100 | |||
98 | switch (macintosh_config->ide_type) { | 101 | switch (macintosh_config->ide_type) { |
99 | case MAC_IDE_QUADRA: | 102 | case MAC_IDE_QUADRA: |
100 | base = IDE_BASE; | 103 | base = IDE_BASE; |
diff --git a/drivers/input/keyboard/hilkbd.c b/drivers/input/keyboard/hilkbd.c index 50d80ecf0b80..aacf71f3cd44 100644 --- a/drivers/input/keyboard/hilkbd.c +++ b/drivers/input/keyboard/hilkbd.c | |||
@@ -217,6 +217,10 @@ hil_keyb_init(void) | |||
217 | return -ENOMEM; | 217 | return -ENOMEM; |
218 | 218 | ||
219 | #if defined(CONFIG_HP300) | 219 | #if defined(CONFIG_HP300) |
220 | if (!MACH_IS_HP300) { | ||
221 | err = -ENODEV; | ||
222 | goto err1; | ||
223 | } | ||
220 | if (!hwreg_present((void *)(HILBASE + HIL_DATA))) { | 224 | if (!hwreg_present((void *)(HILBASE + HIL_DATA))) { |
221 | printk(KERN_ERR "HIL: hardware register was not found\n"); | 225 | printk(KERN_ERR "HIL: hardware register was not found\n"); |
222 | err = -ENODEV; | 226 | err = -ENODEV; |
diff --git a/drivers/input/misc/hp_sdc_rtc.c b/drivers/input/misc/hp_sdc_rtc.c index ab76ea442fa5..45e5d05b01de 100644 --- a/drivers/input/misc/hp_sdc_rtc.c +++ b/drivers/input/misc/hp_sdc_rtc.c | |||
@@ -691,6 +691,11 @@ static int __init hp_sdc_rtc_init(void) | |||
691 | { | 691 | { |
692 | int ret; | 692 | int ret; |
693 | 693 | ||
694 | #ifdef __mc68000__ | ||
695 | if (!MACH_IS_HP300) | ||
696 | return -ENODEV; | ||
697 | #endif | ||
698 | |||
694 | init_MUTEX(&i8042tregs); | 699 | init_MUTEX(&i8042tregs); |
695 | 700 | ||
696 | if ((ret = hp_sdc_request_timer_irq(&hp_sdc_rtc_isr))) | 701 | if ((ret = hp_sdc_request_timer_irq(&hp_sdc_rtc_isr))) |
diff --git a/drivers/input/serio/hp_sdc_mlc.c b/drivers/input/serio/hp_sdc_mlc.c index f1fd3b638a37..587398f5c9df 100644 --- a/drivers/input/serio/hp_sdc_mlc.c +++ b/drivers/input/serio/hp_sdc_mlc.c | |||
@@ -306,6 +306,11 @@ static int __init hp_sdc_mlc_init(void) | |||
306 | { | 306 | { |
307 | hil_mlc *mlc = &hp_sdc_mlc; | 307 | hil_mlc *mlc = &hp_sdc_mlc; |
308 | 308 | ||
309 | #ifdef __mc68000__ | ||
310 | if (!MACH_IS_HP300) | ||
311 | return -ENODEV; | ||
312 | #endif | ||
313 | |||
309 | printk(KERN_INFO PREFIX "Registering the System Domain Controller's HIL MLC.\n"); | 314 | printk(KERN_INFO PREFIX "Registering the System Domain Controller's HIL MLC.\n"); |
310 | 315 | ||
311 | hp_sdc_mlc_priv.emtestmode = 0; | 316 | hp_sdc_mlc_priv.emtestmode = 0; |
diff --git a/drivers/input/serio/q40kbd.c b/drivers/input/serio/q40kbd.c index cb89aff2e160..d962a8d78b14 100644 --- a/drivers/input/serio/q40kbd.c +++ b/drivers/input/serio/q40kbd.c | |||
@@ -156,7 +156,7 @@ static int __init q40kbd_init(void) | |||
156 | int error; | 156 | int error; |
157 | 157 | ||
158 | if (!MACH_IS_Q40) | 158 | if (!MACH_IS_Q40) |
159 | return -EIO; | 159 | return -ENODEV; |
160 | 160 | ||
161 | error = platform_driver_register(&q40kbd_driver); | 161 | error = platform_driver_register(&q40kbd_driver); |
162 | if (error) | 162 | if (error) |
diff --git a/drivers/media/video/cs5345.c b/drivers/media/video/cs5345.c index 2a429f9e32cd..03411503457e 100644 --- a/drivers/media/video/cs5345.c +++ b/drivers/media/video/cs5345.c | |||
@@ -160,10 +160,17 @@ static int cs5345_probe(struct i2c_client *client, | |||
160 | 160 | ||
161 | /* ----------------------------------------------------------------------- */ | 161 | /* ----------------------------------------------------------------------- */ |
162 | 162 | ||
163 | static const struct i2c_device_id cs5345_id[] = { | ||
164 | { "cs5345", 0 }, | ||
165 | { } | ||
166 | }; | ||
167 | MODULE_DEVICE_TABLE(i2c, cs5345_id); | ||
168 | |||
163 | static struct v4l2_i2c_driver_data v4l2_i2c_data = { | 169 | static struct v4l2_i2c_driver_data v4l2_i2c_data = { |
164 | .name = "cs5345", | 170 | .name = "cs5345", |
165 | .driverid = I2C_DRIVERID_CS5345, | 171 | .driverid = I2C_DRIVERID_CS5345, |
166 | .command = cs5345_command, | 172 | .command = cs5345_command, |
167 | .probe = cs5345_probe, | 173 | .probe = cs5345_probe, |
174 | .id_table = cs5345_id, | ||
168 | }; | 175 | }; |
169 | 176 | ||
diff --git a/drivers/media/video/cs53l32a.c b/drivers/media/video/cs53l32a.c index 2dfd0afc62db..d965af860ab2 100644 --- a/drivers/media/video/cs53l32a.c +++ b/drivers/media/video/cs53l32a.c | |||
@@ -144,7 +144,8 @@ static int cs53l32a_probe(struct i2c_client *client, | |||
144 | if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA)) | 144 | if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA)) |
145 | return -EIO; | 145 | return -EIO; |
146 | 146 | ||
147 | snprintf(client->name, sizeof(client->name) - 1, "cs53l32a"); | 147 | if (!id) |
148 | strlcpy(client->name, "cs53l32a", sizeof(client->name)); | ||
148 | 149 | ||
149 | v4l_info(client, "chip found @ 0x%x (%s)\n", | 150 | v4l_info(client, "chip found @ 0x%x (%s)\n", |
150 | client->addr << 1, client->adapter->name); | 151 | client->addr << 1, client->adapter->name); |
@@ -175,10 +176,17 @@ static int cs53l32a_probe(struct i2c_client *client, | |||
175 | return 0; | 176 | return 0; |
176 | } | 177 | } |
177 | 178 | ||
179 | static const struct i2c_device_id cs53l32a_id[] = { | ||
180 | { "cs53l32a", 0 }, | ||
181 | { } | ||
182 | }; | ||
183 | MODULE_DEVICE_TABLE(i2c, cs53l32a_id); | ||
184 | |||
178 | static struct v4l2_i2c_driver_data v4l2_i2c_data = { | 185 | static struct v4l2_i2c_driver_data v4l2_i2c_data = { |
179 | .name = "cs53l32a", | 186 | .name = "cs53l32a", |
180 | .driverid = I2C_DRIVERID_CS53L32A, | 187 | .driverid = I2C_DRIVERID_CS53L32A, |
181 | .command = cs53l32a_command, | 188 | .command = cs53l32a_command, |
182 | .probe = cs53l32a_probe, | 189 | .probe = cs53l32a_probe, |
190 | .id_table = cs53l32a_id, | ||
183 | }; | 191 | }; |
184 | 192 | ||
diff --git a/drivers/media/video/cx18/cx18-i2c.c b/drivers/media/video/cx18/cx18-i2c.c index 4f08a4058d1a..1d6c51a75313 100644 --- a/drivers/media/video/cx18/cx18-i2c.c +++ b/drivers/media/video/cx18/cx18-i2c.c | |||
@@ -74,7 +74,7 @@ static const u8 hw_bus[] = { | |||
74 | }; | 74 | }; |
75 | 75 | ||
76 | /* This array should match the CX18_HW_ defines */ | 76 | /* This array should match the CX18_HW_ defines */ |
77 | static const char * const hw_drivernames[] = { | 77 | static const char * const hw_devicenames[] = { |
78 | "tuner", | 78 | "tuner", |
79 | "tveeprom", | 79 | "tveeprom", |
80 | "cs5345", | 80 | "cs5345", |
@@ -95,8 +95,7 @@ int cx18_i2c_register(struct cx18 *cx, unsigned idx) | |||
95 | id = hw_driverids[idx]; | 95 | id = hw_driverids[idx]; |
96 | bus = hw_bus[idx]; | 96 | bus = hw_bus[idx]; |
97 | memset(&info, 0, sizeof(info)); | 97 | memset(&info, 0, sizeof(info)); |
98 | strlcpy(info.driver_name, hw_drivernames[idx], | 98 | strlcpy(info.type, hw_devicenames[idx], sizeof(info.type)); |
99 | sizeof(info.driver_name)); | ||
100 | info.addr = hw_addrs[idx]; | 99 | info.addr = hw_addrs[idx]; |
101 | for (i = 0; i < I2C_CLIENTS_MAX; i++) | 100 | for (i = 0; i < I2C_CLIENTS_MAX; i++) |
102 | if (cx->i2c_clients[i] == NULL) | 101 | if (cx->i2c_clients[i] == NULL) |
@@ -279,7 +278,7 @@ static const char *cx18_i2c_id_name(u32 id) | |||
279 | 278 | ||
280 | for (i = 0; i < ARRAY_SIZE(hw_driverids); i++) | 279 | for (i = 0; i < ARRAY_SIZE(hw_driverids); i++) |
281 | if (hw_driverids[i] == id) | 280 | if (hw_driverids[i] == id) |
282 | return hw_drivernames[i]; | 281 | return hw_devicenames[i]; |
283 | return "unknown device"; | 282 | return "unknown device"; |
284 | } | 283 | } |
285 | 284 | ||
@@ -290,7 +289,7 @@ static const char *cx18_i2c_hw_name(u32 hw) | |||
290 | 289 | ||
291 | for (i = 0; i < ARRAY_SIZE(hw_driverids); i++) | 290 | for (i = 0; i < ARRAY_SIZE(hw_driverids); i++) |
292 | if (1 << i == hw) | 291 | if (1 << i == hw) |
293 | return hw_drivernames[i]; | 292 | return hw_devicenames[i]; |
294 | return "unknown device"; | 293 | return "unknown device"; |
295 | } | 294 | } |
296 | 295 | ||
diff --git a/drivers/media/video/cx25840/cx25840-core.c b/drivers/media/video/cx25840/cx25840-core.c index 88823810497c..607efdcd22f8 100644 --- a/drivers/media/video/cx25840/cx25840-core.c +++ b/drivers/media/video/cx25840/cx25840-core.c | |||
@@ -1284,10 +1284,17 @@ static int cx25840_remove(struct i2c_client *client) | |||
1284 | return 0; | 1284 | return 0; |
1285 | } | 1285 | } |
1286 | 1286 | ||
1287 | static const struct i2c_device_id cx25840_id[] = { | ||
1288 | { "cx25840", 0 }, | ||
1289 | { } | ||
1290 | }; | ||
1291 | MODULE_DEVICE_TABLE(i2c, cx25840_id); | ||
1292 | |||
1287 | static struct v4l2_i2c_driver_data v4l2_i2c_data = { | 1293 | static struct v4l2_i2c_driver_data v4l2_i2c_data = { |
1288 | .name = "cx25840", | 1294 | .name = "cx25840", |
1289 | .driverid = I2C_DRIVERID_CX25840, | 1295 | .driverid = I2C_DRIVERID_CX25840, |
1290 | .command = cx25840_command, | 1296 | .command = cx25840_command, |
1291 | .probe = cx25840_probe, | 1297 | .probe = cx25840_probe, |
1292 | .remove = cx25840_remove, | 1298 | .remove = cx25840_remove, |
1299 | .id_table = cx25840_id, | ||
1293 | }; | 1300 | }; |
diff --git a/drivers/media/video/et61x251/et61x251_core.c b/drivers/media/video/et61x251/et61x251_core.c index 5e749c528a62..15d037ae25c5 100644 --- a/drivers/media/video/et61x251/et61x251_core.c +++ b/drivers/media/video/et61x251/et61x251_core.c | |||
@@ -34,7 +34,7 @@ | |||
34 | #include <linux/mm.h> | 34 | #include <linux/mm.h> |
35 | #include <linux/vmalloc.h> | 35 | #include <linux/vmalloc.h> |
36 | #include <linux/page-flags.h> | 36 | #include <linux/page-flags.h> |
37 | #include <linux/byteorder/generic.h> | 37 | #include <asm/byteorder.h> |
38 | #include <asm/page.h> | 38 | #include <asm/page.h> |
39 | #include <asm/uaccess.h> | 39 | #include <asm/uaccess.h> |
40 | 40 | ||
diff --git a/drivers/media/video/ivtv/ivtv-i2c.c b/drivers/media/video/ivtv/ivtv-i2c.c index 771adf47e944..32129f3ea836 100644 --- a/drivers/media/video/ivtv/ivtv-i2c.c +++ b/drivers/media/video/ivtv/ivtv-i2c.c | |||
@@ -136,7 +136,7 @@ static const u8 hw_addrs[] = { | |||
136 | }; | 136 | }; |
137 | 137 | ||
138 | /* This array should match the IVTV_HW_ defines */ | 138 | /* This array should match the IVTV_HW_ defines */ |
139 | static const char * const hw_drivernames[] = { | 139 | static const char * const hw_devicenames[] = { |
140 | "cx25840", | 140 | "cx25840", |
141 | "saa7115", | 141 | "saa7115", |
142 | "saa7127", | 142 | "saa7127", |
@@ -145,7 +145,7 @@ static const char * const hw_drivernames[] = { | |||
145 | "wm8775", | 145 | "wm8775", |
146 | "cs53l32a", | 146 | "cs53l32a", |
147 | "tveeprom", | 147 | "tveeprom", |
148 | "saa7115", | 148 | "saa7114", |
149 | "upd64031a", | 149 | "upd64031a", |
150 | "upd64083", | 150 | "upd64083", |
151 | "saa717x", | 151 | "saa717x", |
@@ -167,8 +167,7 @@ int ivtv_i2c_register(struct ivtv *itv, unsigned idx) | |||
167 | return -1; | 167 | return -1; |
168 | id = hw_driverids[idx]; | 168 | id = hw_driverids[idx]; |
169 | memset(&info, 0, sizeof(info)); | 169 | memset(&info, 0, sizeof(info)); |
170 | strlcpy(info.driver_name, hw_drivernames[idx], | 170 | strlcpy(info.type, hw_devicenames[idx], sizeof(info.type)); |
171 | sizeof(info.driver_name)); | ||
172 | info.addr = hw_addrs[idx]; | 171 | info.addr = hw_addrs[idx]; |
173 | for (i = 0; itv->i2c_clients[i] && i < I2C_CLIENTS_MAX; i++) {} | 172 | for (i = 0; itv->i2c_clients[i] && i < I2C_CLIENTS_MAX; i++) {} |
174 | 173 | ||
@@ -657,7 +656,7 @@ static const char *ivtv_i2c_id_name(u32 id) | |||
657 | 656 | ||
658 | for (i = 0; i < ARRAY_SIZE(hw_driverids); i++) | 657 | for (i = 0; i < ARRAY_SIZE(hw_driverids); i++) |
659 | if (hw_driverids[i] == id) | 658 | if (hw_driverids[i] == id) |
660 | return hw_drivernames[i]; | 659 | return hw_devicenames[i]; |
661 | return "unknown device"; | 660 | return "unknown device"; |
662 | } | 661 | } |
663 | 662 | ||
@@ -668,7 +667,7 @@ static const char *ivtv_i2c_hw_name(u32 hw) | |||
668 | 667 | ||
669 | for (i = 0; i < ARRAY_SIZE(hw_driverids); i++) | 668 | for (i = 0; i < ARRAY_SIZE(hw_driverids); i++) |
670 | if (1 << i == hw) | 669 | if (1 << i == hw) |
671 | return hw_drivernames[i]; | 670 | return hw_devicenames[i]; |
672 | return "unknown device"; | 671 | return "unknown device"; |
673 | } | 672 | } |
674 | 673 | ||
@@ -770,7 +769,7 @@ int init_ivtv_i2c(struct ivtv *itv) | |||
770 | * same size and GPIO must be the last entry. | 769 | * same size and GPIO must be the last entry. |
771 | */ | 770 | */ |
772 | if (ARRAY_SIZE(hw_driverids) != ARRAY_SIZE(hw_addrs) || | 771 | if (ARRAY_SIZE(hw_driverids) != ARRAY_SIZE(hw_addrs) || |
773 | ARRAY_SIZE(hw_drivernames) != ARRAY_SIZE(hw_addrs) || | 772 | ARRAY_SIZE(hw_devicenames) != ARRAY_SIZE(hw_addrs) || |
774 | IVTV_HW_GPIO != (1 << (ARRAY_SIZE(hw_addrs) - 1)) || | 773 | IVTV_HW_GPIO != (1 << (ARRAY_SIZE(hw_addrs) - 1)) || |
775 | hw_driverids[ARRAY_SIZE(hw_addrs) - 1]) { | 774 | hw_driverids[ARRAY_SIZE(hw_addrs) - 1]) { |
776 | IVTV_ERR("Mismatched I2C hardware arrays\n"); | 775 | IVTV_ERR("Mismatched I2C hardware arrays\n"); |
diff --git a/drivers/media/video/m52790.c b/drivers/media/video/m52790.c index 5b9dfa2c51b4..8e0160d275ca 100644 --- a/drivers/media/video/m52790.c +++ b/drivers/media/video/m52790.c | |||
@@ -135,8 +135,6 @@ static int m52790_probe(struct i2c_client *client, | |||
135 | if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA)) | 135 | if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA)) |
136 | return -EIO; | 136 | return -EIO; |
137 | 137 | ||
138 | snprintf(client->name, sizeof(client->name) - 1, "m52790"); | ||
139 | |||
140 | v4l_info(client, "chip found @ 0x%x (%s)\n", | 138 | v4l_info(client, "chip found @ 0x%x (%s)\n", |
141 | client->addr << 1, client->adapter->name); | 139 | client->addr << 1, client->adapter->name); |
142 | 140 | ||
@@ -159,11 +157,18 @@ static int m52790_remove(struct i2c_client *client) | |||
159 | 157 | ||
160 | /* ----------------------------------------------------------------------- */ | 158 | /* ----------------------------------------------------------------------- */ |
161 | 159 | ||
160 | static const struct i2c_device_id m52790_id[] = { | ||
161 | { "m52790", 0 }, | ||
162 | { } | ||
163 | }; | ||
164 | MODULE_DEVICE_TABLE(i2c, m52790_id); | ||
165 | |||
162 | static struct v4l2_i2c_driver_data v4l2_i2c_data = { | 166 | static struct v4l2_i2c_driver_data v4l2_i2c_data = { |
163 | .name = "m52790", | 167 | .name = "m52790", |
164 | .driverid = I2C_DRIVERID_M52790, | 168 | .driverid = I2C_DRIVERID_M52790, |
165 | .command = m52790_command, | 169 | .command = m52790_command, |
166 | .probe = m52790_probe, | 170 | .probe = m52790_probe, |
167 | .remove = m52790_remove, | 171 | .remove = m52790_remove, |
172 | .id_table = m52790_id, | ||
168 | }; | 173 | }; |
169 | 174 | ||
diff --git a/drivers/media/video/msp3400-driver.c b/drivers/media/video/msp3400-driver.c index e6273162e123..310dbaba55ff 100644 --- a/drivers/media/video/msp3400-driver.c +++ b/drivers/media/video/msp3400-driver.c | |||
@@ -815,7 +815,8 @@ static int msp_probe(struct i2c_client *client, const struct i2c_device_id *id) | |||
815 | int msp_product, msp_prod_hi, msp_prod_lo; | 815 | int msp_product, msp_prod_hi, msp_prod_lo; |
816 | int msp_rom; | 816 | int msp_rom; |
817 | 817 | ||
818 | snprintf(client->name, sizeof(client->name) - 1, "msp3400"); | 818 | if (!id) |
819 | strlcpy(client->name, "msp3400", sizeof(client->name)); | ||
819 | 820 | ||
820 | if (msp_reset(client) == -1) { | 821 | if (msp_reset(client) == -1) { |
821 | v4l_dbg(1, msp_debug, client, "msp3400 not found\n"); | 822 | v4l_dbg(1, msp_debug, client, "msp3400 not found\n"); |
@@ -864,9 +865,6 @@ static int msp_probe(struct i2c_client *client, const struct i2c_device_id *id) | |||
864 | msp_revision = (state->rev1 & 0x0f) + '@'; | 865 | msp_revision = (state->rev1 & 0x0f) + '@'; |
865 | msp_hard = ((state->rev1 >> 8) & 0xff) + '@'; | 866 | msp_hard = ((state->rev1 >> 8) & 0xff) + '@'; |
866 | msp_rom = state->rev2 & 0x1f; | 867 | msp_rom = state->rev2 & 0x1f; |
867 | snprintf(client->name, sizeof(client->name), "MSP%d4%02d%c-%c%d", | ||
868 | msp_family, msp_product, | ||
869 | msp_revision, msp_hard, msp_rom); | ||
870 | /* Rev B=2, C=3, D=4, G=7 */ | 868 | /* Rev B=2, C=3, D=4, G=7 */ |
871 | state->ident = msp_family * 10000 + 4000 + msp_product * 10 + | 869 | state->ident = msp_family * 10000 + 4000 + msp_product * 10 + |
872 | msp_revision - '@'; | 870 | msp_revision - '@'; |
@@ -931,7 +929,9 @@ static int msp_probe(struct i2c_client *client, const struct i2c_device_id *id) | |||
931 | } | 929 | } |
932 | 930 | ||
933 | /* hello world :-) */ | 931 | /* hello world :-) */ |
934 | v4l_info(client, "%s found @ 0x%x (%s)\n", client->name, | 932 | v4l_info(client, "MSP%d4%02d%c-%c%d found @ 0x%x (%s)\n", |
933 | msp_family, msp_product, | ||
934 | msp_revision, msp_hard, msp_rom, | ||
935 | client->addr << 1, client->adapter->name); | 935 | client->addr << 1, client->adapter->name); |
936 | v4l_info(client, "%s ", client->name); | 936 | v4l_info(client, "%s ", client->name); |
937 | if (state->has_nicam && state->has_radio) | 937 | if (state->has_nicam && state->has_radio) |
@@ -987,6 +987,12 @@ static int msp_remove(struct i2c_client *client) | |||
987 | 987 | ||
988 | /* ----------------------------------------------------------------------- */ | 988 | /* ----------------------------------------------------------------------- */ |
989 | 989 | ||
990 | static const struct i2c_device_id msp_id[] = { | ||
991 | { "msp3400", 0 }, | ||
992 | { } | ||
993 | }; | ||
994 | MODULE_DEVICE_TABLE(i2c, msp_id); | ||
995 | |||
990 | static struct v4l2_i2c_driver_data v4l2_i2c_data = { | 996 | static struct v4l2_i2c_driver_data v4l2_i2c_data = { |
991 | .name = "msp3400", | 997 | .name = "msp3400", |
992 | .driverid = I2C_DRIVERID_MSP3400, | 998 | .driverid = I2C_DRIVERID_MSP3400, |
@@ -995,6 +1001,7 @@ static struct v4l2_i2c_driver_data v4l2_i2c_data = { | |||
995 | .remove = msp_remove, | 1001 | .remove = msp_remove, |
996 | .suspend = msp_suspend, | 1002 | .suspend = msp_suspend, |
997 | .resume = msp_resume, | 1003 | .resume = msp_resume, |
1004 | .id_table = msp_id, | ||
998 | }; | 1005 | }; |
999 | 1006 | ||
1000 | 1007 | ||
diff --git a/drivers/media/video/saa7115.c b/drivers/media/video/saa7115.c index e684108637ad..435c083cc542 100644 --- a/drivers/media/video/saa7115.c +++ b/drivers/media/video/saa7115.c | |||
@@ -1456,14 +1456,13 @@ static int saa7115_probe(struct i2c_client *client, | |||
1456 | struct saa711x_state *state; | 1456 | struct saa711x_state *state; |
1457 | int i; | 1457 | int i; |
1458 | char name[17]; | 1458 | char name[17]; |
1459 | u8 chip_id; | 1459 | char chip_id; |
1460 | int autodetect = !id || id->driver_data == 1; | ||
1460 | 1461 | ||
1461 | /* Check if the adapter supports the needed features */ | 1462 | /* Check if the adapter supports the needed features */ |
1462 | if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA)) | 1463 | if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA)) |
1463 | return -EIO; | 1464 | return -EIO; |
1464 | 1465 | ||
1465 | snprintf(client->name, sizeof(client->name) - 1, "saa7115"); | ||
1466 | |||
1467 | for (i = 0; i < 0x0f; i++) { | 1466 | for (i = 0; i < 0x0f; i++) { |
1468 | saa711x_write(client, 0, i); | 1467 | saa711x_write(client, 0, i); |
1469 | name[i] = (saa711x_read(client, 0) & 0x0f) + '0'; | 1468 | name[i] = (saa711x_read(client, 0) & 0x0f) + '0'; |
@@ -1472,8 +1471,7 @@ static int saa7115_probe(struct i2c_client *client, | |||
1472 | } | 1471 | } |
1473 | name[i] = '\0'; | 1472 | name[i] = '\0'; |
1474 | 1473 | ||
1475 | saa711x_write(client, 0, 5); | 1474 | chip_id = name[5]; |
1476 | chip_id = saa711x_read(client, 0) & 0x0f; | ||
1477 | 1475 | ||
1478 | /* Check whether this chip is part of the saa711x series */ | 1476 | /* Check whether this chip is part of the saa711x series */ |
1479 | if (memcmp(name, "1f711", 5)) { | 1477 | if (memcmp(name, "1f711", 5)) { |
@@ -1482,8 +1480,14 @@ static int saa7115_probe(struct i2c_client *client, | |||
1482 | return -ENODEV; | 1480 | return -ENODEV; |
1483 | } | 1481 | } |
1484 | 1482 | ||
1485 | snprintf(client->name, sizeof(client->name) - 1, "saa711%d",chip_id); | 1483 | /* Safety check */ |
1486 | v4l_info(client, "saa711%d found (%s) @ 0x%x (%s)\n", chip_id, name, client->addr << 1, client->adapter->name); | 1484 | if (!autodetect && id->name[6] != chip_id) { |
1485 | v4l_warn(client, "found saa711%c while %s was expected\n", | ||
1486 | chip_id, id->name); | ||
1487 | } | ||
1488 | snprintf(client->name, sizeof(client->name), "saa711%c", chip_id); | ||
1489 | v4l_info(client, "saa711%c found (%s) @ 0x%x (%s)\n", chip_id, name, | ||
1490 | client->addr << 1, client->adapter->name); | ||
1487 | 1491 | ||
1488 | state = kzalloc(sizeof(struct saa711x_state), GFP_KERNEL); | 1492 | state = kzalloc(sizeof(struct saa711x_state), GFP_KERNEL); |
1489 | i2c_set_clientdata(client, state); | 1493 | i2c_set_clientdata(client, state); |
@@ -1499,19 +1503,19 @@ static int saa7115_probe(struct i2c_client *client, | |||
1499 | state->hue = 0; | 1503 | state->hue = 0; |
1500 | state->sat = 64; | 1504 | state->sat = 64; |
1501 | switch (chip_id) { | 1505 | switch (chip_id) { |
1502 | case 1: | 1506 | case '1': |
1503 | state->ident = V4L2_IDENT_SAA7111; | 1507 | state->ident = V4L2_IDENT_SAA7111; |
1504 | break; | 1508 | break; |
1505 | case 3: | 1509 | case '3': |
1506 | state->ident = V4L2_IDENT_SAA7113; | 1510 | state->ident = V4L2_IDENT_SAA7113; |
1507 | break; | 1511 | break; |
1508 | case 4: | 1512 | case '4': |
1509 | state->ident = V4L2_IDENT_SAA7114; | 1513 | state->ident = V4L2_IDENT_SAA7114; |
1510 | break; | 1514 | break; |
1511 | case 5: | 1515 | case '5': |
1512 | state->ident = V4L2_IDENT_SAA7115; | 1516 | state->ident = V4L2_IDENT_SAA7115; |
1513 | break; | 1517 | break; |
1514 | case 8: | 1518 | case '8': |
1515 | state->ident = V4L2_IDENT_SAA7118; | 1519 | state->ident = V4L2_IDENT_SAA7118; |
1516 | break; | 1520 | break; |
1517 | default: | 1521 | default: |
@@ -1553,6 +1557,17 @@ static int saa7115_remove(struct i2c_client *client) | |||
1553 | return 0; | 1557 | return 0; |
1554 | } | 1558 | } |
1555 | 1559 | ||
1560 | static const struct i2c_device_id saa7115_id[] = { | ||
1561 | { "saa711x", 1 }, /* autodetect */ | ||
1562 | { "saa7111", 0 }, | ||
1563 | { "saa7113", 0 }, | ||
1564 | { "saa7114", 0 }, | ||
1565 | { "saa7115", 0 }, | ||
1566 | { "saa7118", 0 }, | ||
1567 | { } | ||
1568 | }; | ||
1569 | MODULE_DEVICE_TABLE(i2c, saa7115_id); | ||
1570 | |||
1556 | static struct v4l2_i2c_driver_data v4l2_i2c_data = { | 1571 | static struct v4l2_i2c_driver_data v4l2_i2c_data = { |
1557 | .name = "saa7115", | 1572 | .name = "saa7115", |
1558 | .driverid = I2C_DRIVERID_SAA711X, | 1573 | .driverid = I2C_DRIVERID_SAA711X, |
@@ -1560,5 +1575,6 @@ static struct v4l2_i2c_driver_data v4l2_i2c_data = { | |||
1560 | .probe = saa7115_probe, | 1575 | .probe = saa7115_probe, |
1561 | .remove = saa7115_remove, | 1576 | .remove = saa7115_remove, |
1562 | .legacy_class = I2C_CLASS_TV_ANALOG | I2C_CLASS_TV_DIGITAL, | 1577 | .legacy_class = I2C_CLASS_TV_ANALOG | I2C_CLASS_TV_DIGITAL, |
1578 | .id_table = saa7115_id, | ||
1563 | }; | 1579 | }; |
1564 | 1580 | ||
diff --git a/drivers/media/video/saa7127.c b/drivers/media/video/saa7127.c index e750cd65c1c3..79d11a658bdf 100644 --- a/drivers/media/video/saa7127.c +++ b/drivers/media/video/saa7127.c | |||
@@ -672,8 +672,6 @@ static int saa7127_probe(struct i2c_client *client, | |||
672 | if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA)) | 672 | if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA)) |
673 | return -EIO; | 673 | return -EIO; |
674 | 674 | ||
675 | snprintf(client->name, sizeof(client->name) - 1, "saa7127"); | ||
676 | |||
677 | v4l_dbg(1, debug, client, "detecting saa7127 client on address 0x%x\n", | 675 | v4l_dbg(1, debug, client, "detecting saa7127 client on address 0x%x\n", |
678 | client->addr << 1); | 676 | client->addr << 1); |
679 | 677 | ||
@@ -741,11 +739,18 @@ static int saa7127_remove(struct i2c_client *client) | |||
741 | 739 | ||
742 | /* ----------------------------------------------------------------------- */ | 740 | /* ----------------------------------------------------------------------- */ |
743 | 741 | ||
742 | static struct i2c_device_id saa7127_id[] = { | ||
743 | { "saa7127", 0 }, | ||
744 | { } | ||
745 | }; | ||
746 | MODULE_DEVICE_TABLE(i2c, saa7127_id); | ||
747 | |||
744 | static struct v4l2_i2c_driver_data v4l2_i2c_data = { | 748 | static struct v4l2_i2c_driver_data v4l2_i2c_data = { |
745 | .name = "saa7127", | 749 | .name = "saa7127", |
746 | .driverid = I2C_DRIVERID_SAA7127, | 750 | .driverid = I2C_DRIVERID_SAA7127, |
747 | .command = saa7127_command, | 751 | .command = saa7127_command, |
748 | .probe = saa7127_probe, | 752 | .probe = saa7127_probe, |
749 | .remove = saa7127_remove, | 753 | .remove = saa7127_remove, |
754 | .id_table = saa7127_id, | ||
750 | }; | 755 | }; |
751 | 756 | ||
diff --git a/drivers/media/video/saa717x.c b/drivers/media/video/saa717x.c index 72c4081feff5..2220f9569941 100644 --- a/drivers/media/video/saa717x.c +++ b/drivers/media/video/saa717x.c | |||
@@ -1429,8 +1429,6 @@ static int saa717x_probe(struct i2c_client *client, | |||
1429 | if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA)) | 1429 | if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA)) |
1430 | return -EIO; | 1430 | return -EIO; |
1431 | 1431 | ||
1432 | snprintf(client->name, sizeof(client->name) - 1, "saa717x"); | ||
1433 | |||
1434 | if (saa717x_write(client, 0x5a4, 0xfe) && | 1432 | if (saa717x_write(client, 0x5a4, 0xfe) && |
1435 | saa717x_write(client, 0x5a5, 0x0f) && | 1433 | saa717x_write(client, 0x5a5, 0x0f) && |
1436 | saa717x_write(client, 0x5a6, 0x00) && | 1434 | saa717x_write(client, 0x5a6, 0x00) && |
@@ -1507,6 +1505,12 @@ static int saa717x_remove(struct i2c_client *client) | |||
1507 | 1505 | ||
1508 | /* ----------------------------------------------------------------------- */ | 1506 | /* ----------------------------------------------------------------------- */ |
1509 | 1507 | ||
1508 | static const struct i2c_device_id saa717x_id[] = { | ||
1509 | { "saa717x", 0 }, | ||
1510 | { } | ||
1511 | }; | ||
1512 | MODULE_DEVICE_TABLE(i2c, saa717x_id); | ||
1513 | |||
1510 | static struct v4l2_i2c_driver_data v4l2_i2c_data = { | 1514 | static struct v4l2_i2c_driver_data v4l2_i2c_data = { |
1511 | .name = "saa717x", | 1515 | .name = "saa717x", |
1512 | .driverid = I2C_DRIVERID_SAA717X, | 1516 | .driverid = I2C_DRIVERID_SAA717X, |
@@ -1514,4 +1518,5 @@ static struct v4l2_i2c_driver_data v4l2_i2c_data = { | |||
1514 | .probe = saa717x_probe, | 1518 | .probe = saa717x_probe, |
1515 | .remove = saa717x_remove, | 1519 | .remove = saa717x_remove, |
1516 | .legacy_class = I2C_CLASS_TV_ANALOG | I2C_CLASS_TV_DIGITAL, | 1520 | .legacy_class = I2C_CLASS_TV_ANALOG | I2C_CLASS_TV_DIGITAL, |
1521 | .id_table = saa717x_id, | ||
1517 | }; | 1522 | }; |
diff --git a/drivers/media/video/sn9c102/sn9c102_core.c b/drivers/media/video/sn9c102/sn9c102_core.c index 5748b1e1a128..7f9c7bcf3c85 100644 --- a/drivers/media/video/sn9c102/sn9c102_core.c +++ b/drivers/media/video/sn9c102/sn9c102_core.c | |||
@@ -34,7 +34,7 @@ | |||
34 | #include <linux/mm.h> | 34 | #include <linux/mm.h> |
35 | #include <linux/vmalloc.h> | 35 | #include <linux/vmalloc.h> |
36 | #include <linux/page-flags.h> | 36 | #include <linux/page-flags.h> |
37 | #include <linux/byteorder/generic.h> | 37 | #include <asm/byteorder.h> |
38 | #include <asm/page.h> | 38 | #include <asm/page.h> |
39 | #include <asm/uaccess.h> | 39 | #include <asm/uaccess.h> |
40 | 40 | ||
diff --git a/drivers/media/video/tuner-core.c b/drivers/media/video/tuner-core.c index 5a75788b92ae..198f0afb812e 100644 --- a/drivers/media/video/tuner-core.c +++ b/drivers/media/video/tuner-core.c | |||
@@ -1115,7 +1115,6 @@ static int tuner_probe(struct i2c_client *client, | |||
1115 | if (NULL == t) | 1115 | if (NULL == t) |
1116 | return -ENOMEM; | 1116 | return -ENOMEM; |
1117 | t->i2c = client; | 1117 | t->i2c = client; |
1118 | strlcpy(client->name, "(tuner unset)", sizeof(client->name)); | ||
1119 | i2c_set_clientdata(client, t); | 1118 | i2c_set_clientdata(client, t); |
1120 | t->type = UNSET; | 1119 | t->type = UNSET; |
1121 | t->audmode = V4L2_TUNER_MODE_STEREO; | 1120 | t->audmode = V4L2_TUNER_MODE_STEREO; |
@@ -1273,11 +1272,26 @@ static int tuner_remove(struct i2c_client *client) | |||
1273 | 1272 | ||
1274 | list_del(&t->list); | 1273 | list_del(&t->list); |
1275 | kfree(t); | 1274 | kfree(t); |
1275 | |||
1276 | /* The probing code has overwritten the device name, restore it so | ||
1277 | that reloading the driver will work. Ideally the device name | ||
1278 | should not be overwritten in the first place, but for now that | ||
1279 | will do. */ | ||
1280 | strlcpy(client->name, "tuner", I2C_NAME_SIZE); | ||
1276 | return 0; | 1281 | return 0; |
1277 | } | 1282 | } |
1278 | 1283 | ||
1279 | /* ----------------------------------------------------------------------- */ | 1284 | /* ----------------------------------------------------------------------- */ |
1280 | 1285 | ||
1286 | /* This driver supports many devices and the idea is to let the driver | ||
1287 | detect which device is present. So rather than listing all supported | ||
1288 | devices here, we pretend to support a single, fake device type. */ | ||
1289 | static const struct i2c_device_id tuner_id[] = { | ||
1290 | { "tuner", }, /* autodetect */ | ||
1291 | { } | ||
1292 | }; | ||
1293 | MODULE_DEVICE_TABLE(i2c, tuner_id); | ||
1294 | |||
1281 | static struct v4l2_i2c_driver_data v4l2_i2c_data = { | 1295 | static struct v4l2_i2c_driver_data v4l2_i2c_data = { |
1282 | .name = "tuner", | 1296 | .name = "tuner", |
1283 | .driverid = I2C_DRIVERID_TUNER, | 1297 | .driverid = I2C_DRIVERID_TUNER, |
@@ -1287,6 +1301,7 @@ static struct v4l2_i2c_driver_data v4l2_i2c_data = { | |||
1287 | .suspend = tuner_suspend, | 1301 | .suspend = tuner_suspend, |
1288 | .resume = tuner_resume, | 1302 | .resume = tuner_resume, |
1289 | .legacy_probe = tuner_legacy_probe, | 1303 | .legacy_probe = tuner_legacy_probe, |
1304 | .id_table = tuner_id, | ||
1290 | }; | 1305 | }; |
1291 | 1306 | ||
1292 | 1307 | ||
diff --git a/drivers/media/video/upd64031a.c b/drivers/media/video/upd64031a.c index 93bfd19dec7d..b4628874933b 100644 --- a/drivers/media/video/upd64031a.c +++ b/drivers/media/video/upd64031a.c | |||
@@ -228,6 +228,11 @@ static int upd64031a_remove(struct i2c_client *client) | |||
228 | 228 | ||
229 | /* ----------------------------------------------------------------------- */ | 229 | /* ----------------------------------------------------------------------- */ |
230 | 230 | ||
231 | static const struct i2c_device_id upd64031a_id[] = { | ||
232 | { "upd64031a", 0 }, | ||
233 | { } | ||
234 | }; | ||
235 | MODULE_DEVICE_TABLE(i2c, upd64031a_id); | ||
231 | 236 | ||
232 | static struct v4l2_i2c_driver_data v4l2_i2c_data = { | 237 | static struct v4l2_i2c_driver_data v4l2_i2c_data = { |
233 | .name = "upd64031a", | 238 | .name = "upd64031a", |
@@ -235,4 +240,5 @@ static struct v4l2_i2c_driver_data v4l2_i2c_data = { | |||
235 | .command = upd64031a_command, | 240 | .command = upd64031a_command, |
236 | .probe = upd64031a_probe, | 241 | .probe = upd64031a_probe, |
237 | .remove = upd64031a_remove, | 242 | .remove = upd64031a_remove, |
243 | .id_table = upd64031a_id, | ||
238 | }; | 244 | }; |
diff --git a/drivers/media/video/upd64083.c b/drivers/media/video/upd64083.c index 9ab712a56ce0..9521ce004dcc 100644 --- a/drivers/media/video/upd64083.c +++ b/drivers/media/video/upd64083.c | |||
@@ -205,6 +205,11 @@ static int upd64083_remove(struct i2c_client *client) | |||
205 | 205 | ||
206 | /* ----------------------------------------------------------------------- */ | 206 | /* ----------------------------------------------------------------------- */ |
207 | 207 | ||
208 | static const struct i2c_device_id upd64083_id[] = { | ||
209 | { "upd64083", 0 }, | ||
210 | { } | ||
211 | }; | ||
212 | MODULE_DEVICE_TABLE(i2c, upd64083_id); | ||
208 | 213 | ||
209 | static struct v4l2_i2c_driver_data v4l2_i2c_data = { | 214 | static struct v4l2_i2c_driver_data v4l2_i2c_data = { |
210 | .name = "upd64083", | 215 | .name = "upd64083", |
@@ -212,4 +217,5 @@ static struct v4l2_i2c_driver_data v4l2_i2c_data = { | |||
212 | .command = upd64083_command, | 217 | .command = upd64083_command, |
213 | .probe = upd64083_probe, | 218 | .probe = upd64083_probe, |
214 | .remove = upd64083_remove, | 219 | .remove = upd64083_remove, |
220 | .id_table = upd64083_id, | ||
215 | }; | 221 | }; |
diff --git a/drivers/media/video/vp27smpx.c b/drivers/media/video/vp27smpx.c index fac0deba24af..a1f76ee032e7 100644 --- a/drivers/media/video/vp27smpx.c +++ b/drivers/media/video/vp27smpx.c | |||
@@ -130,8 +130,6 @@ static int vp27smpx_probe(struct i2c_client *client, | |||
130 | if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA)) | 130 | if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA)) |
131 | return -EIO; | 131 | return -EIO; |
132 | 132 | ||
133 | snprintf(client->name, sizeof(client->name) - 1, "vp27smpx"); | ||
134 | |||
135 | v4l_info(client, "chip found @ 0x%x (%s)\n", | 133 | v4l_info(client, "chip found @ 0x%x (%s)\n", |
136 | client->addr << 1, client->adapter->name); | 134 | client->addr << 1, client->adapter->name); |
137 | 135 | ||
@@ -154,11 +152,18 @@ static int vp27smpx_remove(struct i2c_client *client) | |||
154 | 152 | ||
155 | /* ----------------------------------------------------------------------- */ | 153 | /* ----------------------------------------------------------------------- */ |
156 | 154 | ||
155 | static const struct i2c_device_id vp27smpx_id[] = { | ||
156 | { "vp27smpx", 0 }, | ||
157 | { } | ||
158 | }; | ||
159 | MODULE_DEVICE_TABLE(i2c, vp27smpx_id); | ||
160 | |||
157 | static struct v4l2_i2c_driver_data v4l2_i2c_data = { | 161 | static struct v4l2_i2c_driver_data v4l2_i2c_data = { |
158 | .name = "vp27smpx", | 162 | .name = "vp27smpx", |
159 | .driverid = I2C_DRIVERID_VP27SMPX, | 163 | .driverid = I2C_DRIVERID_VP27SMPX, |
160 | .command = vp27smpx_command, | 164 | .command = vp27smpx_command, |
161 | .probe = vp27smpx_probe, | 165 | .probe = vp27smpx_probe, |
162 | .remove = vp27smpx_remove, | 166 | .remove = vp27smpx_remove, |
167 | .id_table = vp27smpx_id, | ||
163 | }; | 168 | }; |
164 | 169 | ||
diff --git a/drivers/media/video/wm8739.c b/drivers/media/video/wm8739.c index 0f8ed8461fba..fc50299caa36 100644 --- a/drivers/media/video/wm8739.c +++ b/drivers/media/video/wm8739.c | |||
@@ -313,11 +313,18 @@ static int wm8739_remove(struct i2c_client *client) | |||
313 | return 0; | 313 | return 0; |
314 | } | 314 | } |
315 | 315 | ||
316 | static const struct i2c_device_id wm8739_id[] = { | ||
317 | { "wm8739", 0 }, | ||
318 | { } | ||
319 | }; | ||
320 | MODULE_DEVICE_TABLE(i2c, wm8739_id); | ||
321 | |||
316 | static struct v4l2_i2c_driver_data v4l2_i2c_data = { | 322 | static struct v4l2_i2c_driver_data v4l2_i2c_data = { |
317 | .name = "wm8739", | 323 | .name = "wm8739", |
318 | .driverid = I2C_DRIVERID_WM8739, | 324 | .driverid = I2C_DRIVERID_WM8739, |
319 | .command = wm8739_command, | 325 | .command = wm8739_command, |
320 | .probe = wm8739_probe, | 326 | .probe = wm8739_probe, |
321 | .remove = wm8739_remove, | 327 | .remove = wm8739_remove, |
328 | .id_table = wm8739_id, | ||
322 | }; | 329 | }; |
323 | 330 | ||
diff --git a/drivers/media/video/wm8775.c b/drivers/media/video/wm8775.c index 67a409e60c46..506378a508b9 100644 --- a/drivers/media/video/wm8775.c +++ b/drivers/media/video/wm8775.c | |||
@@ -216,11 +216,18 @@ static int wm8775_remove(struct i2c_client *client) | |||
216 | return 0; | 216 | return 0; |
217 | } | 217 | } |
218 | 218 | ||
219 | static const struct i2c_device_id wm8775_id[] = { | ||
220 | { "wm8775", 0 }, | ||
221 | { } | ||
222 | }; | ||
223 | MODULE_DEVICE_TABLE(i2c, wm8775_id); | ||
224 | |||
219 | static struct v4l2_i2c_driver_data v4l2_i2c_data = { | 225 | static struct v4l2_i2c_driver_data v4l2_i2c_data = { |
220 | .name = "wm8775", | 226 | .name = "wm8775", |
221 | .driverid = I2C_DRIVERID_WM8775, | 227 | .driverid = I2C_DRIVERID_WM8775, |
222 | .command = wm8775_command, | 228 | .command = wm8775_command, |
223 | .probe = wm8775_probe, | 229 | .probe = wm8775_probe, |
224 | .remove = wm8775_remove, | 230 | .remove = wm8775_remove, |
231 | .id_table = wm8775_id, | ||
225 | }; | 232 | }; |
226 | 233 | ||
diff --git a/drivers/media/video/zc0301/zc0301_core.c b/drivers/media/video/zc0301/zc0301_core.c index 363dd2b9475c..e5c4e9f5193f 100644 --- a/drivers/media/video/zc0301/zc0301_core.c +++ b/drivers/media/video/zc0301/zc0301_core.c | |||
@@ -38,7 +38,7 @@ | |||
38 | #include <linux/mm.h> | 38 | #include <linux/mm.h> |
39 | #include <linux/vmalloc.h> | 39 | #include <linux/vmalloc.h> |
40 | #include <linux/page-flags.h> | 40 | #include <linux/page-flags.h> |
41 | #include <linux/byteorder/generic.h> | 41 | #include <asm/byteorder.h> |
42 | #include <asm/page.h> | 42 | #include <asm/page.h> |
43 | #include <asm/uaccess.h> | 43 | #include <asm/uaccess.h> |
44 | 44 | ||
diff --git a/drivers/media/video/zoran_device.c b/drivers/media/video/zoran_device.c index 7b60533efe45..37629ffd34c3 100644 --- a/drivers/media/video/zoran_device.c +++ b/drivers/media/video/zoran_device.c | |||
@@ -31,7 +31,6 @@ | |||
31 | #include <linux/kernel.h> | 31 | #include <linux/kernel.h> |
32 | #include <linux/module.h> | 32 | #include <linux/module.h> |
33 | #include <linux/vmalloc.h> | 33 | #include <linux/vmalloc.h> |
34 | #include <linux/byteorder/generic.h> | ||
35 | 34 | ||
36 | #include <linux/interrupt.h> | 35 | #include <linux/interrupt.h> |
37 | #include <linux/proc_fs.h> | 36 | #include <linux/proc_fs.h> |
@@ -47,6 +46,7 @@ | |||
47 | #include <linux/delay.h> | 46 | #include <linux/delay.h> |
48 | #include <linux/wait.h> | 47 | #include <linux/wait.h> |
49 | 48 | ||
49 | #include <asm/byteorder.h> | ||
50 | #include <asm/io.h> | 50 | #include <asm/io.h> |
51 | 51 | ||
52 | #include "videocodec.h" | 52 | #include "videocodec.h" |
diff --git a/drivers/media/video/zoran_driver.c b/drivers/media/video/zoran_driver.c index 0134bec1e399..345c77e46837 100644 --- a/drivers/media/video/zoran_driver.c +++ b/drivers/media/video/zoran_driver.c | |||
@@ -52,7 +52,6 @@ | |||
52 | #include <linux/pci.h> | 52 | #include <linux/pci.h> |
53 | #include <linux/vmalloc.h> | 53 | #include <linux/vmalloc.h> |
54 | #include <linux/wait.h> | 54 | #include <linux/wait.h> |
55 | #include <linux/byteorder/generic.h> | ||
56 | 55 | ||
57 | #include <linux/interrupt.h> | 56 | #include <linux/interrupt.h> |
58 | #include <linux/i2c.h> | 57 | #include <linux/i2c.h> |
@@ -74,6 +73,7 @@ | |||
74 | #include <media/v4l2-common.h> | 73 | #include <media/v4l2-common.h> |
75 | #include "videocodec.h" | 74 | #include "videocodec.h" |
76 | 75 | ||
76 | #include <asm/byteorder.h> | ||
77 | #include <asm/io.h> | 77 | #include <asm/io.h> |
78 | #include <asm/uaccess.h> | 78 | #include <asm/uaccess.h> |
79 | #include <linux/proc_fs.h> | 79 | #include <linux/proc_fs.h> |
diff --git a/drivers/net/82596.c b/drivers/net/82596.c index 2797da7eeee6..da292e647eb1 100644 --- a/drivers/net/82596.c +++ b/drivers/net/82596.c | |||
@@ -1162,6 +1162,7 @@ struct net_device * __init i82596_probe(int unit) | |||
1162 | memcpy(eth_addr, (void *) 0xfffc1f2c, 6); /* YUCK! Get addr from NOVRAM */ | 1162 | memcpy(eth_addr, (void *) 0xfffc1f2c, 6); /* YUCK! Get addr from NOVRAM */ |
1163 | dev->base_addr = MVME_I596_BASE; | 1163 | dev->base_addr = MVME_I596_BASE; |
1164 | dev->irq = (unsigned) MVME16x_IRQ_I596; | 1164 | dev->irq = (unsigned) MVME16x_IRQ_I596; |
1165 | goto found; | ||
1165 | } | 1166 | } |
1166 | #endif | 1167 | #endif |
1167 | #ifdef ENABLE_BVME6000_NET | 1168 | #ifdef ENABLE_BVME6000_NET |
@@ -1176,6 +1177,7 @@ struct net_device * __init i82596_probe(int unit) | |||
1176 | rtc[3] = msr; | 1177 | rtc[3] = msr; |
1177 | dev->base_addr = BVME_I596_BASE; | 1178 | dev->base_addr = BVME_I596_BASE; |
1178 | dev->irq = (unsigned) BVME_IRQ_I596; | 1179 | dev->irq = (unsigned) BVME_IRQ_I596; |
1180 | goto found; | ||
1179 | } | 1181 | } |
1180 | #endif | 1182 | #endif |
1181 | #ifdef ENABLE_APRICOT | 1183 | #ifdef ENABLE_APRICOT |
@@ -1212,8 +1214,13 @@ struct net_device * __init i82596_probe(int unit) | |||
1212 | } | 1214 | } |
1213 | 1215 | ||
1214 | dev->irq = 10; | 1216 | dev->irq = 10; |
1217 | goto found; | ||
1215 | } | 1218 | } |
1216 | #endif | 1219 | #endif |
1220 | err = -ENODEV; | ||
1221 | goto out; | ||
1222 | |||
1223 | found: | ||
1217 | dev->mem_start = (int)__get_free_pages(GFP_ATOMIC, 0); | 1224 | dev->mem_start = (int)__get_free_pages(GFP_ATOMIC, 0); |
1218 | if (!dev->mem_start) { | 1225 | if (!dev->mem_start) { |
1219 | err = -ENOMEM; | 1226 | err = -ENOMEM; |
diff --git a/drivers/net/apne.c b/drivers/net/apne.c index 47a8275d3962..867f6fff543c 100644 --- a/drivers/net/apne.c +++ b/drivers/net/apne.c | |||
@@ -127,6 +127,9 @@ struct net_device * __init apne_probe(int unit) | |||
127 | #endif | 127 | #endif |
128 | int err; | 128 | int err; |
129 | 129 | ||
130 | if (!MACH_IS_AMIGA) | ||
131 | return ERR_PTR(-ENODEV); | ||
132 | |||
130 | if (apne_owned) | 133 | if (apne_owned) |
131 | return ERR_PTR(-ENODEV); | 134 | return ERR_PTR(-ENODEV); |
132 | 135 | ||
diff --git a/drivers/net/mac89x0.c b/drivers/net/mac89x0.c index 2a66e5b7cebc..4ce8afd481c3 100644 --- a/drivers/net/mac89x0.c +++ b/drivers/net/mac89x0.c | |||
@@ -183,6 +183,9 @@ struct net_device * __init mac89x0_probe(int unit) | |||
183 | int err = -ENODEV; | 183 | int err = -ENODEV; |
184 | DECLARE_MAC_BUF(mac); | 184 | DECLARE_MAC_BUF(mac); |
185 | 185 | ||
186 | if (!MACH_IS_MAC) | ||
187 | return ERR_PTR(-ENODEV); | ||
188 | |||
186 | dev = alloc_etherdev(sizeof(struct net_local)); | 189 | dev = alloc_etherdev(sizeof(struct net_local)); |
187 | if (!dev) | 190 | if (!dev) |
188 | return ERR_PTR(-ENOMEM); | 191 | return ERR_PTR(-ENOMEM); |
diff --git a/drivers/net/macmace.c b/drivers/net/macmace.c index 18770527df99..51ad3765e075 100644 --- a/drivers/net/macmace.c +++ b/drivers/net/macmace.c | |||
@@ -781,6 +781,9 @@ static int __init mac_mace_init_module(void) | |||
781 | { | 781 | { |
782 | int err; | 782 | int err; |
783 | 783 | ||
784 | if (!MACH_IS_MAC) | ||
785 | return -ENODEV; | ||
786 | |||
784 | if ((err = platform_driver_register(&mac_mace_driver))) { | 787 | if ((err = platform_driver_register(&mac_mace_driver))) { |
785 | printk(KERN_ERR "Driver registration failed\n"); | 788 | printk(KERN_ERR "Driver registration failed\n"); |
786 | return err; | 789 | return err; |
diff --git a/drivers/net/sun3lance.c b/drivers/net/sun3lance.c index f8d46134daca..359452a06c67 100644 --- a/drivers/net/sun3lance.c +++ b/drivers/net/sun3lance.c | |||
@@ -250,6 +250,9 @@ struct net_device * __init sun3lance_probe(int unit) | |||
250 | static int found; | 250 | static int found; |
251 | int err = -ENODEV; | 251 | int err = -ENODEV; |
252 | 252 | ||
253 | if (!MACH_IS_SUN3 && !MACH_IS_SUN3X) | ||
254 | return ERR_PTR(-ENODEV); | ||
255 | |||
253 | /* check that this machine has an onboard lance */ | 256 | /* check that this machine has an onboard lance */ |
254 | switch(idprom->id_machtype) { | 257 | switch(idprom->id_machtype) { |
255 | case SM_SUN3|SM_3_50: | 258 | case SM_SUN3|SM_3_50: |
diff --git a/drivers/net/wireless/atmel.c b/drivers/net/wireless/atmel.c index ef2da4023d68..438e63ecccf1 100644 --- a/drivers/net/wireless/atmel.c +++ b/drivers/net/wireless/atmel.c | |||
@@ -47,6 +47,7 @@ | |||
47 | #include <linux/string.h> | 47 | #include <linux/string.h> |
48 | #include <linux/ctype.h> | 48 | #include <linux/ctype.h> |
49 | #include <linux/timer.h> | 49 | #include <linux/timer.h> |
50 | #include <asm/byteorder.h> | ||
50 | #include <asm/io.h> | 51 | #include <asm/io.h> |
51 | #include <asm/system.h> | 52 | #include <asm/system.h> |
52 | #include <asm/uaccess.h> | 53 | #include <asm/uaccess.h> |
@@ -60,7 +61,6 @@ | |||
60 | #include <linux/delay.h> | 61 | #include <linux/delay.h> |
61 | #include <linux/wireless.h> | 62 | #include <linux/wireless.h> |
62 | #include <net/iw_handler.h> | 63 | #include <net/iw_handler.h> |
63 | #include <linux/byteorder/generic.h> | ||
64 | #include <linux/crc32.h> | 64 | #include <linux/crc32.h> |
65 | #include <linux/proc_fs.h> | 65 | #include <linux/proc_fs.h> |
66 | #include <linux/device.h> | 66 | #include <linux/device.h> |
diff --git a/drivers/s390/kvm/kvm_virtio.c b/drivers/s390/kvm/kvm_virtio.c index 47a7e6200b26..9f55ce6f3c78 100644 --- a/drivers/s390/kvm/kvm_virtio.c +++ b/drivers/s390/kvm/kvm_virtio.c | |||
@@ -78,27 +78,32 @@ static unsigned desc_size(const struct kvm_device_desc *desc) | |||
78 | + desc->config_len; | 78 | + desc->config_len; |
79 | } | 79 | } |
80 | 80 | ||
81 | /* | 81 | /* This gets the device's feature bits. */ |
82 | * This tests (and acknowleges) a feature bit. | 82 | static u32 kvm_get_features(struct virtio_device *vdev) |
83 | */ | ||
84 | static bool kvm_feature(struct virtio_device *vdev, unsigned fbit) | ||
85 | { | 83 | { |
84 | unsigned int i; | ||
85 | u32 features = 0; | ||
86 | struct kvm_device_desc *desc = to_kvmdev(vdev)->desc; | 86 | struct kvm_device_desc *desc = to_kvmdev(vdev)->desc; |
87 | u8 *features; | 87 | u8 *in_features = kvm_vq_features(desc); |
88 | 88 | ||
89 | if (fbit / 8 > desc->feature_len) | 89 | for (i = 0; i < min(desc->feature_len * 8, 32); i++) |
90 | return false; | 90 | if (in_features[i / 8] & (1 << (i % 8))) |
91 | features |= (1 << i); | ||
92 | return features; | ||
93 | } | ||
91 | 94 | ||
92 | features = kvm_vq_features(desc); | 95 | static void kvm_set_features(struct virtio_device *vdev, u32 features) |
93 | if (!(features[fbit / 8] & (1 << (fbit % 8)))) | 96 | { |
94 | return false; | 97 | unsigned int i; |
98 | struct kvm_device_desc *desc = to_kvmdev(vdev)->desc; | ||
99 | /* Second half of bitmap is features we accept. */ | ||
100 | u8 *out_features = kvm_vq_features(desc) + desc->feature_len; | ||
95 | 101 | ||
96 | /* | 102 | memset(out_features, 0, desc->feature_len); |
97 | * We set the matching bit in the other half of the bitmap to tell the | 103 | for (i = 0; i < min(desc->feature_len * 8, 32); i++) { |
98 | * Host we want to use this feature. | 104 | if (features & (1 << i)) |
99 | */ | 105 | out_features[i / 8] |= (1 << (i % 8)); |
100 | features[desc->feature_len + fbit / 8] |= (1 << (fbit % 8)); | 106 | } |
101 | return true; | ||
102 | } | 107 | } |
103 | 108 | ||
104 | /* | 109 | /* |
@@ -221,7 +226,8 @@ static void kvm_del_vq(struct virtqueue *vq) | |||
221 | * The config ops structure as defined by virtio config | 226 | * The config ops structure as defined by virtio config |
222 | */ | 227 | */ |
223 | static struct virtio_config_ops kvm_vq_configspace_ops = { | 228 | static struct virtio_config_ops kvm_vq_configspace_ops = { |
224 | .feature = kvm_feature, | 229 | .get_features = kvm_get_features, |
230 | .set_features = kvm_set_features, | ||
225 | .get = kvm_get, | 231 | .get = kvm_get, |
226 | .set = kvm_set, | 232 | .set = kvm_set, |
227 | .get_status = kvm_get_status, | 233 | .get_status = kvm_get_status, |
diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c index a1ca9b7bf2d5..1400ea6a2491 100644 --- a/drivers/serial/8250.c +++ b/drivers/serial/8250.c | |||
@@ -43,6 +43,7 @@ | |||
43 | 43 | ||
44 | #include <asm/io.h> | 44 | #include <asm/io.h> |
45 | #include <asm/irq.h> | 45 | #include <asm/irq.h> |
46 | #include <asm/serial.h> | ||
46 | 47 | ||
47 | #include "8250.h" | 48 | #include "8250.h" |
48 | 49 | ||
@@ -92,8 +93,6 @@ static unsigned int nr_uarts = CONFIG_SERIAL_8250_RUNTIME_UARTS; | |||
92 | */ | 93 | */ |
93 | #define CONFIG_HUB6 1 | 94 | #define CONFIG_HUB6 1 |
94 | 95 | ||
95 | #include <asm/serial.h> | ||
96 | |||
97 | /* | 96 | /* |
98 | * SERIAL_PORT_DFNS tells us about built-in ports that have no | 97 | * SERIAL_PORT_DFNS tells us about built-in ports that have no |
99 | * standard enumeration mechanism. Platforms that can find all | 98 | * standard enumeration mechanism. Platforms that can find all |
@@ -1548,6 +1547,8 @@ static int serial_link_irq_chain(struct uart_8250_port *up) | |||
1548 | i->head = &up->list; | 1547 | i->head = &up->list; |
1549 | spin_unlock_irq(&i->lock); | 1548 | spin_unlock_irq(&i->lock); |
1550 | 1549 | ||
1550 | irq_flags |= SERIAL_EXTRA_IRQ_FLAGS; | ||
1551 | |||
1551 | ret = request_irq(up->port.irq, serial8250_interrupt, | 1552 | ret = request_irq(up->port.irq, serial8250_interrupt, |
1552 | irq_flags, "serial", i); | 1553 | irq_flags, "serial", i); |
1553 | if (ret < 0) | 1554 | if (ret < 0) |
diff --git a/drivers/serial/8250.h b/drivers/serial/8250.h index 91bd28f2bb47..a10a40cc0d9e 100644 --- a/drivers/serial/8250.h +++ b/drivers/serial/8250.h | |||
@@ -78,3 +78,8 @@ struct serial8250_config { | |||
78 | #else | 78 | #else |
79 | #define ALPHA_KLUDGE_MCR 0 | 79 | #define ALPHA_KLUDGE_MCR 0 |
80 | #endif | 80 | #endif |
81 | |||
82 | #ifndef SERIAL_EXTRA_IRQ_FLAGS | ||
83 | #define SERIAL_EXTRA_IRQ_FLAGS 0 | ||
84 | #endif | ||
85 | |||
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig index 62e6eb136a3c..9bc42763623c 100644 --- a/drivers/serial/Kconfig +++ b/drivers/serial/Kconfig | |||
@@ -1361,7 +1361,7 @@ config SERIAL_SC26XX_CONSOLE | |||
1361 | 1361 | ||
1362 | config SERIAL_BFIN_SPORT | 1362 | config SERIAL_BFIN_SPORT |
1363 | tristate "Blackfin SPORT emulate UART (EXPERIMENTAL)" | 1363 | tristate "Blackfin SPORT emulate UART (EXPERIMENTAL)" |
1364 | depends on BFIN && EXPERIMENTAL | 1364 | depends on BLACKFIN && EXPERIMENTAL |
1365 | select SERIAL_CORE | 1365 | select SERIAL_CORE |
1366 | help | 1366 | help |
1367 | Enble support SPORT emulate UART on Blackfin series. | 1367 | Enble support SPORT emulate UART on Blackfin series. |
diff --git a/drivers/serial/sh-sci.c b/drivers/serial/sh-sci.c index 8fdafc27fce8..ce6ee92b3a1b 100644 --- a/drivers/serial/sh-sci.c +++ b/drivers/serial/sh-sci.c | |||
@@ -184,15 +184,15 @@ static void put_string(struct sci_port *sci_port, const char *buffer, int count) | |||
184 | int h, l; | 184 | int h, l; |
185 | 185 | ||
186 | c = *p++; | 186 | c = *p++; |
187 | h = highhex(c); | 187 | h = hex_asc_hi(c); |
188 | l = lowhex(c); | 188 | l = hex_asc_lo(c); |
189 | put_char(port, h); | 189 | put_char(port, h); |
190 | put_char(port, l); | 190 | put_char(port, l); |
191 | checksum += h + l; | 191 | checksum += h + l; |
192 | } | 192 | } |
193 | put_char(port, '#'); | 193 | put_char(port, '#'); |
194 | put_char(port, highhex(checksum)); | 194 | put_char(port, hex_asc_hi(checksum)); |
195 | put_char(port, lowhex(checksum)); | 195 | put_char(port, hex_asc_lo(checksum)); |
196 | } while (get_char(port) != '+'); | 196 | } while (get_char(port) != '+'); |
197 | } else | 197 | } else |
198 | #endif /* CONFIG_SH_STANDARD_BIOS || CONFIG_SH_KGDB */ | 198 | #endif /* CONFIG_SH_STANDARD_BIOS || CONFIG_SH_KGDB */ |
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 2cdaf1ff8315..002b61b4f0f6 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig | |||
@@ -627,11 +627,9 @@ config FB_MAC | |||
627 | select FB_CFB_IMAGEBLIT | 627 | select FB_CFB_IMAGEBLIT |
628 | select FB_MACMODES | 628 | select FB_MACMODES |
629 | 629 | ||
630 | # bool ' Apple DAFB display support' CONFIG_FB_DAFB | ||
631 | config FB_HP300 | 630 | config FB_HP300 |
632 | bool | 631 | bool |
633 | depends on (FB = y) && HP300 | 632 | depends on (FB = y) && DIO |
634 | select FB_CFB_FILLRECT | ||
635 | select FB_CFB_IMAGEBLIT | 633 | select FB_CFB_IMAGEBLIT |
636 | default y | 634 | default y |
637 | 635 | ||
diff --git a/drivers/video/amifb.c b/drivers/video/amifb.c index e6492c1048bf..05a328c11a8b 100644 --- a/drivers/video/amifb.c +++ b/drivers/video/amifb.c | |||
@@ -2261,7 +2261,7 @@ int __init amifb_init(void) | |||
2261 | amifb_setup(option); | 2261 | amifb_setup(option); |
2262 | #endif | 2262 | #endif |
2263 | if (!MACH_IS_AMIGA || !AMIGAHW_PRESENT(AMI_VIDEO)) | 2263 | if (!MACH_IS_AMIGA || !AMIGAHW_PRESENT(AMI_VIDEO)) |
2264 | return -ENXIO; | 2264 | return -ENODEV; |
2265 | 2265 | ||
2266 | /* | 2266 | /* |
2267 | * We request all registers starting from bplpt[0] | 2267 | * We request all registers starting from bplpt[0] |
@@ -2333,7 +2333,7 @@ default_chipset: | |||
2333 | strcat(fb_info.fix.id, "Unknown"); | 2333 | strcat(fb_info.fix.id, "Unknown"); |
2334 | goto default_chipset; | 2334 | goto default_chipset; |
2335 | #else /* CONFIG_FB_AMIGA_OCS */ | 2335 | #else /* CONFIG_FB_AMIGA_OCS */ |
2336 | err = -ENXIO; | 2336 | err = -ENODEV; |
2337 | goto amifb_error; | 2337 | goto amifb_error; |
2338 | #endif /* CONFIG_FB_AMIGA_OCS */ | 2338 | #endif /* CONFIG_FB_AMIGA_OCS */ |
2339 | break; | 2339 | break; |
diff --git a/drivers/video/dnfb.c b/drivers/video/dnfb.c index b083ea7e9c69..606da043f4b4 100644 --- a/drivers/video/dnfb.c +++ b/drivers/video/dnfb.c | |||
@@ -284,6 +284,9 @@ int __init dnfb_init(void) | |||
284 | { | 284 | { |
285 | int ret; | 285 | int ret; |
286 | 286 | ||
287 | if (!MACH_IS_APOLLO) | ||
288 | return -ENODEV; | ||
289 | |||
287 | if (fb_get_options("dnfb", NULL)) | 290 | if (fb_get_options("dnfb", NULL)) |
288 | return -ENODEV; | 291 | return -ENODEV; |
289 | 292 | ||
diff --git a/drivers/video/hpfb.c b/drivers/video/hpfb.c index 2eb4fb159084..b8ebff1e8493 100644 --- a/drivers/video/hpfb.c +++ b/drivers/video/hpfb.c | |||
@@ -382,7 +382,7 @@ int __init hpfb_init(void) | |||
382 | #define INTFBPADDR 0x560000 | 382 | #define INTFBPADDR 0x560000 |
383 | 383 | ||
384 | if (!MACH_IS_HP300) | 384 | if (!MACH_IS_HP300) |
385 | return -ENXIO; | 385 | return -ENODEV; |
386 | 386 | ||
387 | if (fb_get_options("hpfb", NULL)) | 387 | if (fb_get_options("hpfb", NULL)) |
388 | return -ENODEV; | 388 | return -ENODEV; |
diff --git a/drivers/video/pxafb.c b/drivers/video/pxafb.c index 48aea39c35a5..3ee314beacc1 100644 --- a/drivers/video/pxafb.c +++ b/drivers/video/pxafb.c | |||
@@ -355,9 +355,8 @@ static int pxafb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) | |||
355 | } | 355 | } |
356 | 356 | ||
357 | #ifdef CONFIG_CPU_FREQ | 357 | #ifdef CONFIG_CPU_FREQ |
358 | pr_debug("pxafb: dma period = %d ps, clock = %d kHz\n", | 358 | pr_debug("pxafb: dma period = %d ps\n", |
359 | pxafb_display_dma_period(var), | 359 | pxafb_display_dma_period(var)); |
360 | get_clk_frequency_khz(0)); | ||
361 | #endif | 360 | #endif |
362 | 361 | ||
363 | return 0; | 362 | return 0; |
diff --git a/fs/befs/endian.h b/fs/befs/endian.h index e254a20869f4..6cb84d896d05 100644 --- a/fs/befs/endian.h +++ b/fs/befs/endian.h | |||
@@ -9,7 +9,7 @@ | |||
9 | #ifndef LINUX_BEFS_ENDIAN | 9 | #ifndef LINUX_BEFS_ENDIAN |
10 | #define LINUX_BEFS_ENDIAN | 10 | #define LINUX_BEFS_ENDIAN |
11 | 11 | ||
12 | #include <linux/byteorder/generic.h> | 12 | #include <asm/byteorder.h> |
13 | 13 | ||
14 | static inline u64 | 14 | static inline u64 |
15 | fs64_to_cpu(const struct super_block *sb, fs64 n) | 15 | fs64_to_cpu(const struct super_block *sb, fs64 n) |
diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c index b25707fee2cc..0fa95b198e6e 100644 --- a/fs/binfmt_elf.c +++ b/fs/binfmt_elf.c | |||
@@ -256,7 +256,7 @@ create_elf_tables(struct linux_binprm *bprm, struct elfhdr *exec, | |||
256 | return -EFAULT; | 256 | return -EFAULT; |
257 | len = strnlen_user((void __user *)p, MAX_ARG_STRLEN); | 257 | len = strnlen_user((void __user *)p, MAX_ARG_STRLEN); |
258 | if (!len || len > MAX_ARG_STRLEN) | 258 | if (!len || len > MAX_ARG_STRLEN) |
259 | return 0; | 259 | return -EINVAL; |
260 | p += len; | 260 | p += len; |
261 | } | 261 | } |
262 | if (__put_user(0, argv)) | 262 | if (__put_user(0, argv)) |
@@ -268,7 +268,7 @@ create_elf_tables(struct linux_binprm *bprm, struct elfhdr *exec, | |||
268 | return -EFAULT; | 268 | return -EFAULT; |
269 | len = strnlen_user((void __user *)p, MAX_ARG_STRLEN); | 269 | len = strnlen_user((void __user *)p, MAX_ARG_STRLEN); |
270 | if (!len || len > MAX_ARG_STRLEN) | 270 | if (!len || len > MAX_ARG_STRLEN) |
271 | return 0; | 271 | return -EINVAL; |
272 | p += len; | 272 | p += len; |
273 | } | 273 | } |
274 | if (__put_user(0, envp)) | 274 | if (__put_user(0, envp)) |
@@ -1900,7 +1900,7 @@ static int elf_core_dump(long signr, struct pt_regs *regs, struct file *file, un | |||
1900 | /* alloc memory for large data structures: too large to be on stack */ | 1900 | /* alloc memory for large data structures: too large to be on stack */ |
1901 | elf = kmalloc(sizeof(*elf), GFP_KERNEL); | 1901 | elf = kmalloc(sizeof(*elf), GFP_KERNEL); |
1902 | if (!elf) | 1902 | if (!elf) |
1903 | goto cleanup; | 1903 | goto out; |
1904 | 1904 | ||
1905 | segs = current->mm->map_count; | 1905 | segs = current->mm->map_count; |
1906 | #ifdef ELF_CORE_EXTRA_PHDRS | 1906 | #ifdef ELF_CORE_EXTRA_PHDRS |
@@ -2034,8 +2034,9 @@ end_coredump: | |||
2034 | set_fs(fs); | 2034 | set_fs(fs); |
2035 | 2035 | ||
2036 | cleanup: | 2036 | cleanup: |
2037 | kfree(elf); | ||
2038 | free_note_info(&info); | 2037 | free_note_info(&info); |
2038 | kfree(elf); | ||
2039 | out: | ||
2039 | return has_dumped; | 2040 | return has_dumped; |
2040 | } | 2041 | } |
2041 | 2042 | ||
diff --git a/fs/compat.c b/fs/compat.c index 332a869d2c53..ed43e17a5dc6 100644 --- a/fs/compat.c +++ b/fs/compat.c | |||
@@ -1405,7 +1405,7 @@ int compat_do_execve(char * filename, | |||
1405 | /* execve success */ | 1405 | /* execve success */ |
1406 | security_bprm_free(bprm); | 1406 | security_bprm_free(bprm); |
1407 | acct_update_integrals(current); | 1407 | acct_update_integrals(current); |
1408 | kfree(bprm); | 1408 | free_bprm(bprm); |
1409 | return retval; | 1409 | return retval; |
1410 | } | 1410 | } |
1411 | 1411 | ||
@@ -1424,7 +1424,7 @@ out_file: | |||
1424 | } | 1424 | } |
1425 | 1425 | ||
1426 | out_kfree: | 1426 | out_kfree: |
1427 | kfree(bprm); | 1427 | free_bprm(bprm); |
1428 | 1428 | ||
1429 | out_ret: | 1429 | out_ret: |
1430 | return retval; | 1430 | return retval; |
diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c index 7c1e5e5cccd8..637018c891ef 100644 --- a/fs/dlm/lowcomms.c +++ b/fs/dlm/lowcomms.c | |||
@@ -50,6 +50,7 @@ | |||
50 | #include <linux/pagemap.h> | 50 | #include <linux/pagemap.h> |
51 | #include <linux/idr.h> | 51 | #include <linux/idr.h> |
52 | #include <linux/file.h> | 52 | #include <linux/file.h> |
53 | #include <linux/mutex.h> | ||
53 | #include <linux/sctp.h> | 54 | #include <linux/sctp.h> |
54 | #include <net/sctp/user.h> | 55 | #include <net/sctp/user.h> |
55 | 56 | ||
@@ -138,7 +139,7 @@ static struct workqueue_struct *recv_workqueue; | |||
138 | static struct workqueue_struct *send_workqueue; | 139 | static struct workqueue_struct *send_workqueue; |
139 | 140 | ||
140 | static DEFINE_IDR(connections_idr); | 141 | static DEFINE_IDR(connections_idr); |
141 | static DECLARE_MUTEX(connections_lock); | 142 | static DEFINE_MUTEX(connections_lock); |
142 | static int max_nodeid; | 143 | static int max_nodeid; |
143 | static struct kmem_cache *con_cache; | 144 | static struct kmem_cache *con_cache; |
144 | 145 | ||
@@ -205,9 +206,9 @@ static struct connection *nodeid2con(int nodeid, gfp_t allocation) | |||
205 | { | 206 | { |
206 | struct connection *con; | 207 | struct connection *con; |
207 | 208 | ||
208 | down(&connections_lock); | 209 | mutex_lock(&connections_lock); |
209 | con = __nodeid2con(nodeid, allocation); | 210 | con = __nodeid2con(nodeid, allocation); |
210 | up(&connections_lock); | 211 | mutex_unlock(&connections_lock); |
211 | 212 | ||
212 | return con; | 213 | return con; |
213 | } | 214 | } |
@@ -218,15 +219,15 @@ static struct connection *assoc2con(int assoc_id) | |||
218 | int i; | 219 | int i; |
219 | struct connection *con; | 220 | struct connection *con; |
220 | 221 | ||
221 | down(&connections_lock); | 222 | mutex_lock(&connections_lock); |
222 | for (i=0; i<=max_nodeid; i++) { | 223 | for (i=0; i<=max_nodeid; i++) { |
223 | con = __nodeid2con(i, 0); | 224 | con = __nodeid2con(i, 0); |
224 | if (con && con->sctp_assoc == assoc_id) { | 225 | if (con && con->sctp_assoc == assoc_id) { |
225 | up(&connections_lock); | 226 | mutex_unlock(&connections_lock); |
226 | return con; | 227 | return con; |
227 | } | 228 | } |
228 | } | 229 | } |
229 | up(&connections_lock); | 230 | mutex_unlock(&connections_lock); |
230 | return NULL; | 231 | return NULL; |
231 | } | 232 | } |
232 | 233 | ||
@@ -381,7 +382,7 @@ static void sctp_init_failed(void) | |||
381 | int i; | 382 | int i; |
382 | struct connection *con; | 383 | struct connection *con; |
383 | 384 | ||
384 | down(&connections_lock); | 385 | mutex_lock(&connections_lock); |
385 | for (i=1; i<=max_nodeid; i++) { | 386 | for (i=1; i<=max_nodeid; i++) { |
386 | con = __nodeid2con(i, 0); | 387 | con = __nodeid2con(i, 0); |
387 | if (!con) | 388 | if (!con) |
@@ -393,7 +394,7 @@ static void sctp_init_failed(void) | |||
393 | } | 394 | } |
394 | } | 395 | } |
395 | } | 396 | } |
396 | up(&connections_lock); | 397 | mutex_unlock(&connections_lock); |
397 | } | 398 | } |
398 | 399 | ||
399 | /* Something happened to an association */ | 400 | /* Something happened to an association */ |
@@ -930,7 +931,7 @@ out_err: | |||
930 | * errors we try again until the max number of retries is reached. | 931 | * errors we try again until the max number of retries is reached. |
931 | */ | 932 | */ |
932 | if (result != -EHOSTUNREACH && result != -ENETUNREACH && | 933 | if (result != -EHOSTUNREACH && result != -ENETUNREACH && |
933 | result != -ENETDOWN && result != EINVAL | 934 | result != -ENETDOWN && result != -EINVAL |
934 | && result != -EPROTONOSUPPORT) { | 935 | && result != -EPROTONOSUPPORT) { |
935 | lowcomms_connect_sock(con); | 936 | lowcomms_connect_sock(con); |
936 | result = 0; | 937 | result = 0; |
@@ -1417,7 +1418,7 @@ void dlm_lowcomms_stop(void) | |||
1417 | /* Set all the flags to prevent any | 1418 | /* Set all the flags to prevent any |
1418 | socket activity. | 1419 | socket activity. |
1419 | */ | 1420 | */ |
1420 | down(&connections_lock); | 1421 | mutex_lock(&connections_lock); |
1421 | for (i = 0; i <= max_nodeid; i++) { | 1422 | for (i = 0; i <= max_nodeid; i++) { |
1422 | con = __nodeid2con(i, 0); | 1423 | con = __nodeid2con(i, 0); |
1423 | if (con) { | 1424 | if (con) { |
@@ -1426,11 +1427,11 @@ void dlm_lowcomms_stop(void) | |||
1426 | con->sock->sk->sk_user_data = NULL; | 1427 | con->sock->sk->sk_user_data = NULL; |
1427 | } | 1428 | } |
1428 | } | 1429 | } |
1429 | up(&connections_lock); | 1430 | mutex_unlock(&connections_lock); |
1430 | 1431 | ||
1431 | work_stop(); | 1432 | work_stop(); |
1432 | 1433 | ||
1433 | down(&connections_lock); | 1434 | mutex_lock(&connections_lock); |
1434 | clean_writequeues(); | 1435 | clean_writequeues(); |
1435 | 1436 | ||
1436 | for (i = 0; i <= max_nodeid; i++) { | 1437 | for (i = 0; i <= max_nodeid; i++) { |
@@ -1443,7 +1444,7 @@ void dlm_lowcomms_stop(void) | |||
1443 | } | 1444 | } |
1444 | } | 1445 | } |
1445 | max_nodeid = 0; | 1446 | max_nodeid = 0; |
1446 | up(&connections_lock); | 1447 | mutex_unlock(&connections_lock); |
1447 | kmem_cache_destroy(con_cache); | 1448 | kmem_cache_destroy(con_cache); |
1448 | idr_init(&connections_idr); | 1449 | idr_init(&connections_idr); |
1449 | } | 1450 | } |
diff --git a/fs/dlm/netlink.c b/fs/dlm/netlink.c index 714593621f4f..18bda83cc892 100644 --- a/fs/dlm/netlink.c +++ b/fs/dlm/netlink.c | |||
@@ -95,7 +95,7 @@ int __init dlm_netlink_init(void) | |||
95 | return rv; | 95 | return rv; |
96 | } | 96 | } |
97 | 97 | ||
98 | void __exit dlm_netlink_exit(void) | 98 | void dlm_netlink_exit(void) |
99 | { | 99 | { |
100 | genl_unregister_ops(&family, &dlm_nl_ops); | 100 | genl_unregister_ops(&family, &dlm_nl_ops); |
101 | genl_unregister_family(&family); | 101 | genl_unregister_family(&family); |
diff --git a/fs/dlm/plock.c b/fs/dlm/plock.c index d6d6e370f89c..78878c5781ca 100644 --- a/fs/dlm/plock.c +++ b/fs/dlm/plock.c | |||
@@ -379,7 +379,7 @@ static ssize_t dev_write(struct file *file, const char __user *u, size_t count, | |||
379 | struct plock_xop *xop; | 379 | struct plock_xop *xop; |
380 | xop = (struct plock_xop *)op; | 380 | xop = (struct plock_xop *)op; |
381 | if (xop->callback) | 381 | if (xop->callback) |
382 | count = dlm_plock_callback(op); | 382 | dlm_plock_callback(op); |
383 | else | 383 | else |
384 | wake_up(&recv_wq); | 384 | wake_up(&recv_wq); |
385 | } else | 385 | } else |
@@ -1251,6 +1251,12 @@ int search_binary_handler(struct linux_binprm *bprm,struct pt_regs *regs) | |||
1251 | 1251 | ||
1252 | EXPORT_SYMBOL(search_binary_handler); | 1252 | EXPORT_SYMBOL(search_binary_handler); |
1253 | 1253 | ||
1254 | void free_bprm(struct linux_binprm *bprm) | ||
1255 | { | ||
1256 | free_arg_pages(bprm); | ||
1257 | kfree(bprm); | ||
1258 | } | ||
1259 | |||
1254 | /* | 1260 | /* |
1255 | * sys_execve() executes a new program. | 1261 | * sys_execve() executes a new program. |
1256 | */ | 1262 | */ |
@@ -1320,17 +1326,15 @@ int do_execve(char * filename, | |||
1320 | retval = search_binary_handler(bprm,regs); | 1326 | retval = search_binary_handler(bprm,regs); |
1321 | if (retval >= 0) { | 1327 | if (retval >= 0) { |
1322 | /* execve success */ | 1328 | /* execve success */ |
1323 | free_arg_pages(bprm); | ||
1324 | security_bprm_free(bprm); | 1329 | security_bprm_free(bprm); |
1325 | acct_update_integrals(current); | 1330 | acct_update_integrals(current); |
1326 | kfree(bprm); | 1331 | free_bprm(bprm); |
1327 | if (displaced) | 1332 | if (displaced) |
1328 | put_files_struct(displaced); | 1333 | put_files_struct(displaced); |
1329 | return retval; | 1334 | return retval; |
1330 | } | 1335 | } |
1331 | 1336 | ||
1332 | out: | 1337 | out: |
1333 | free_arg_pages(bprm); | ||
1334 | if (bprm->security) | 1338 | if (bprm->security) |
1335 | security_bprm_free(bprm); | 1339 | security_bprm_free(bprm); |
1336 | 1340 | ||
@@ -1344,7 +1348,7 @@ out_file: | |||
1344 | fput(bprm->file); | 1348 | fput(bprm->file); |
1345 | } | 1349 | } |
1346 | out_kfree: | 1350 | out_kfree: |
1347 | kfree(bprm); | 1351 | free_bprm(bprm); |
1348 | 1352 | ||
1349 | out_files: | 1353 | out_files: |
1350 | if (displaced) | 1354 | if (displaced) |
@@ -26,6 +26,8 @@ struct fdtable_defer { | |||
26 | }; | 26 | }; |
27 | 27 | ||
28 | int sysctl_nr_open __read_mostly = 1024*1024; | 28 | int sysctl_nr_open __read_mostly = 1024*1024; |
29 | int sysctl_nr_open_min = BITS_PER_LONG; | ||
30 | int sysctl_nr_open_max = 1024 * 1024; /* raised later */ | ||
29 | 31 | ||
30 | /* | 32 | /* |
31 | * We use this list to defer free fdtables that have vmalloced | 33 | * We use this list to defer free fdtables that have vmalloced |
@@ -119,8 +121,6 @@ static void copy_fdtable(struct fdtable *nfdt, struct fdtable *ofdt) | |||
119 | unsigned int cpy, set; | 121 | unsigned int cpy, set; |
120 | 122 | ||
121 | BUG_ON(nfdt->max_fds < ofdt->max_fds); | 123 | BUG_ON(nfdt->max_fds < ofdt->max_fds); |
122 | if (ofdt->max_fds == 0) | ||
123 | return; | ||
124 | 124 | ||
125 | cpy = ofdt->max_fds * sizeof(struct file *); | 125 | cpy = ofdt->max_fds * sizeof(struct file *); |
126 | set = (nfdt->max_fds - ofdt->max_fds) * sizeof(struct file *); | 126 | set = (nfdt->max_fds - ofdt->max_fds) * sizeof(struct file *); |
@@ -261,6 +261,139 @@ int expand_files(struct files_struct *files, int nr) | |||
261 | return expand_fdtable(files, nr); | 261 | return expand_fdtable(files, nr); |
262 | } | 262 | } |
263 | 263 | ||
264 | static int count_open_files(struct fdtable *fdt) | ||
265 | { | ||
266 | int size = fdt->max_fds; | ||
267 | int i; | ||
268 | |||
269 | /* Find the last open fd */ | ||
270 | for (i = size/(8*sizeof(long)); i > 0; ) { | ||
271 | if (fdt->open_fds->fds_bits[--i]) | ||
272 | break; | ||
273 | } | ||
274 | i = (i+1) * 8 * sizeof(long); | ||
275 | return i; | ||
276 | } | ||
277 | |||
278 | /* | ||
279 | * Allocate a new files structure and copy contents from the | ||
280 | * passed in files structure. | ||
281 | * errorp will be valid only when the returned files_struct is NULL. | ||
282 | */ | ||
283 | struct files_struct *dup_fd(struct files_struct *oldf, int *errorp) | ||
284 | { | ||
285 | struct files_struct *newf; | ||
286 | struct file **old_fds, **new_fds; | ||
287 | int open_files, size, i; | ||
288 | struct fdtable *old_fdt, *new_fdt; | ||
289 | |||
290 | *errorp = -ENOMEM; | ||
291 | newf = kmem_cache_alloc(files_cachep, GFP_KERNEL); | ||
292 | if (!newf) | ||
293 | goto out; | ||
294 | |||
295 | atomic_set(&newf->count, 1); | ||
296 | |||
297 | spin_lock_init(&newf->file_lock); | ||
298 | newf->next_fd = 0; | ||
299 | new_fdt = &newf->fdtab; | ||
300 | new_fdt->max_fds = NR_OPEN_DEFAULT; | ||
301 | new_fdt->close_on_exec = (fd_set *)&newf->close_on_exec_init; | ||
302 | new_fdt->open_fds = (fd_set *)&newf->open_fds_init; | ||
303 | new_fdt->fd = &newf->fd_array[0]; | ||
304 | INIT_RCU_HEAD(&new_fdt->rcu); | ||
305 | new_fdt->next = NULL; | ||
306 | |||
307 | spin_lock(&oldf->file_lock); | ||
308 | old_fdt = files_fdtable(oldf); | ||
309 | open_files = count_open_files(old_fdt); | ||
310 | |||
311 | /* | ||
312 | * Check whether we need to allocate a larger fd array and fd set. | ||
313 | */ | ||
314 | while (unlikely(open_files > new_fdt->max_fds)) { | ||
315 | spin_unlock(&oldf->file_lock); | ||
316 | |||
317 | if (new_fdt != &newf->fdtab) { | ||
318 | free_fdarr(new_fdt); | ||
319 | free_fdset(new_fdt); | ||
320 | kfree(new_fdt); | ||
321 | } | ||
322 | |||
323 | new_fdt = alloc_fdtable(open_files - 1); | ||
324 | if (!new_fdt) { | ||
325 | *errorp = -ENOMEM; | ||
326 | goto out_release; | ||
327 | } | ||
328 | |||
329 | /* beyond sysctl_nr_open; nothing to do */ | ||
330 | if (unlikely(new_fdt->max_fds < open_files)) { | ||
331 | free_fdarr(new_fdt); | ||
332 | free_fdset(new_fdt); | ||
333 | kfree(new_fdt); | ||
334 | *errorp = -EMFILE; | ||
335 | goto out_release; | ||
336 | } | ||
337 | |||
338 | /* | ||
339 | * Reacquire the oldf lock and a pointer to its fd table | ||
340 | * who knows it may have a new bigger fd table. We need | ||
341 | * the latest pointer. | ||
342 | */ | ||
343 | spin_lock(&oldf->file_lock); | ||
344 | old_fdt = files_fdtable(oldf); | ||
345 | open_files = count_open_files(old_fdt); | ||
346 | } | ||
347 | |||
348 | old_fds = old_fdt->fd; | ||
349 | new_fds = new_fdt->fd; | ||
350 | |||
351 | memcpy(new_fdt->open_fds->fds_bits, | ||
352 | old_fdt->open_fds->fds_bits, open_files/8); | ||
353 | memcpy(new_fdt->close_on_exec->fds_bits, | ||
354 | old_fdt->close_on_exec->fds_bits, open_files/8); | ||
355 | |||
356 | for (i = open_files; i != 0; i--) { | ||
357 | struct file *f = *old_fds++; | ||
358 | if (f) { | ||
359 | get_file(f); | ||
360 | } else { | ||
361 | /* | ||
362 | * The fd may be claimed in the fd bitmap but not yet | ||
363 | * instantiated in the files array if a sibling thread | ||
364 | * is partway through open(). So make sure that this | ||
365 | * fd is available to the new process. | ||
366 | */ | ||
367 | FD_CLR(open_files - i, new_fdt->open_fds); | ||
368 | } | ||
369 | rcu_assign_pointer(*new_fds++, f); | ||
370 | } | ||
371 | spin_unlock(&oldf->file_lock); | ||
372 | |||
373 | /* compute the remainder to be cleared */ | ||
374 | size = (new_fdt->max_fds - open_files) * sizeof(struct file *); | ||
375 | |||
376 | /* This is long word aligned thus could use a optimized version */ | ||
377 | memset(new_fds, 0, size); | ||
378 | |||
379 | if (new_fdt->max_fds > open_files) { | ||
380 | int left = (new_fdt->max_fds-open_files)/8; | ||
381 | int start = open_files / (8 * sizeof(unsigned long)); | ||
382 | |||
383 | memset(&new_fdt->open_fds->fds_bits[start], 0, left); | ||
384 | memset(&new_fdt->close_on_exec->fds_bits[start], 0, left); | ||
385 | } | ||
386 | |||
387 | rcu_assign_pointer(newf->fdt, new_fdt); | ||
388 | |||
389 | return newf; | ||
390 | |||
391 | out_release: | ||
392 | kmem_cache_free(files_cachep, newf); | ||
393 | out: | ||
394 | return NULL; | ||
395 | } | ||
396 | |||
264 | static void __devinit fdtable_defer_list_init(int cpu) | 397 | static void __devinit fdtable_defer_list_init(int cpu) |
265 | { | 398 | { |
266 | struct fdtable_defer *fddef = &per_cpu(fdtable_defer_list, cpu); | 399 | struct fdtable_defer *fddef = &per_cpu(fdtable_defer_list, cpu); |
@@ -274,4 +407,19 @@ void __init files_defer_init(void) | |||
274 | int i; | 407 | int i; |
275 | for_each_possible_cpu(i) | 408 | for_each_possible_cpu(i) |
276 | fdtable_defer_list_init(i); | 409 | fdtable_defer_list_init(i); |
410 | sysctl_nr_open_max = min((size_t)INT_MAX, ~(size_t)0/sizeof(void *)) & | ||
411 | -BITS_PER_LONG; | ||
277 | } | 412 | } |
413 | |||
414 | struct files_struct init_files = { | ||
415 | .count = ATOMIC_INIT(1), | ||
416 | .fdt = &init_files.fdtab, | ||
417 | .fdtab = { | ||
418 | .max_fds = NR_OPEN_DEFAULT, | ||
419 | .fd = &init_files.fd_array[0], | ||
420 | .close_on_exec = (fd_set *)&init_files.close_on_exec_init, | ||
421 | .open_fds = (fd_set *)&init_files.open_fds_init, | ||
422 | .rcu = RCU_HEAD_INIT, | ||
423 | }, | ||
424 | .file_lock = __SPIN_LOCK_UNLOCKED(init_task.file_lock), | ||
425 | }; | ||
diff --git a/fs/namei.c b/fs/namei.c index 32fd9655485b..c7e43536c49a 100644 --- a/fs/namei.c +++ b/fs/namei.c | |||
@@ -2003,18 +2003,22 @@ struct dentry *lookup_create(struct nameidata *nd, int is_dir) | |||
2003 | if (IS_ERR(dentry)) | 2003 | if (IS_ERR(dentry)) |
2004 | goto fail; | 2004 | goto fail; |
2005 | 2005 | ||
2006 | if (dentry->d_inode) | ||
2007 | goto eexist; | ||
2006 | /* | 2008 | /* |
2007 | * Special case - lookup gave negative, but... we had foo/bar/ | 2009 | * Special case - lookup gave negative, but... we had foo/bar/ |
2008 | * From the vfs_mknod() POV we just have a negative dentry - | 2010 | * From the vfs_mknod() POV we just have a negative dentry - |
2009 | * all is fine. Let's be bastards - you had / on the end, you've | 2011 | * all is fine. Let's be bastards - you had / on the end, you've |
2010 | * been asking for (non-existent) directory. -ENOENT for you. | 2012 | * been asking for (non-existent) directory. -ENOENT for you. |
2011 | */ | 2013 | */ |
2012 | if (!is_dir && nd->last.name[nd->last.len] && !dentry->d_inode) | 2014 | if (unlikely(!is_dir && nd->last.name[nd->last.len])) { |
2013 | goto enoent; | 2015 | dput(dentry); |
2016 | dentry = ERR_PTR(-ENOENT); | ||
2017 | } | ||
2014 | return dentry; | 2018 | return dentry; |
2015 | enoent: | 2019 | eexist: |
2016 | dput(dentry); | 2020 | dput(dentry); |
2017 | dentry = ERR_PTR(-ENOENT); | 2021 | dentry = ERR_PTR(-EEXIST); |
2018 | fail: | 2022 | fail: |
2019 | return dentry; | 2023 | return dentry; |
2020 | } | 2024 | } |
diff --git a/fs/nfs/callback.c b/fs/nfs/callback.c index 5606ae3d72d3..c1e7c8300629 100644 --- a/fs/nfs/callback.c +++ b/fs/nfs/callback.c | |||
@@ -182,7 +182,7 @@ static int nfs_callback_authenticate(struct svc_rqst *rqstp) | |||
182 | if (clp == NULL) | 182 | if (clp == NULL) |
183 | return SVC_DROP; | 183 | return SVC_DROP; |
184 | 184 | ||
185 | dprintk("%s: %s NFSv4 callback!\n", __FUNCTION__, | 185 | dprintk("%s: %s NFSv4 callback!\n", __func__, |
186 | svc_print_addr(rqstp, buf, sizeof(buf))); | 186 | svc_print_addr(rqstp, buf, sizeof(buf))); |
187 | nfs_put_client(clp); | 187 | nfs_put_client(clp); |
188 | 188 | ||
diff --git a/fs/nfs/callback_proc.c b/fs/nfs/callback_proc.c index 15f7785048d3..f7e83e23cf9f 100644 --- a/fs/nfs/callback_proc.c +++ b/fs/nfs/callback_proc.c | |||
@@ -57,7 +57,7 @@ out_iput: | |||
57 | out_putclient: | 57 | out_putclient: |
58 | nfs_put_client(clp); | 58 | nfs_put_client(clp); |
59 | out: | 59 | out: |
60 | dprintk("%s: exit with status = %d\n", __FUNCTION__, ntohl(res->status)); | 60 | dprintk("%s: exit with status = %d\n", __func__, ntohl(res->status)); |
61 | return res->status; | 61 | return res->status; |
62 | } | 62 | } |
63 | 63 | ||
@@ -98,6 +98,6 @@ __be32 nfs4_callback_recall(struct cb_recallargs *args, void *dummy) | |||
98 | nfs_put_client(prev); | 98 | nfs_put_client(prev); |
99 | } while (clp != NULL); | 99 | } while (clp != NULL); |
100 | out: | 100 | out: |
101 | dprintk("%s: exit with status = %d\n", __FUNCTION__, ntohl(res)); | 101 | dprintk("%s: exit with status = %d\n", __func__, ntohl(res)); |
102 | return res; | 102 | return res; |
103 | } | 103 | } |
diff --git a/fs/nfs/callback_xdr.c b/fs/nfs/callback_xdr.c index 13619d24f023..dd0ef34b5845 100644 --- a/fs/nfs/callback_xdr.c +++ b/fs/nfs/callback_xdr.c | |||
@@ -141,7 +141,7 @@ static __be32 decode_compound_hdr_arg(struct xdr_stream *xdr, struct cb_compound | |||
141 | /* We do not like overly long tags! */ | 141 | /* We do not like overly long tags! */ |
142 | if (hdr->taglen > CB_OP_TAGLEN_MAXSZ - 12) { | 142 | if (hdr->taglen > CB_OP_TAGLEN_MAXSZ - 12) { |
143 | printk("NFSv4 CALLBACK %s: client sent tag of length %u\n", | 143 | printk("NFSv4 CALLBACK %s: client sent tag of length %u\n", |
144 | __FUNCTION__, hdr->taglen); | 144 | __func__, hdr->taglen); |
145 | return htonl(NFS4ERR_RESOURCE); | 145 | return htonl(NFS4ERR_RESOURCE); |
146 | } | 146 | } |
147 | p = read_buf(xdr, 12); | 147 | p = read_buf(xdr, 12); |
@@ -151,7 +151,7 @@ static __be32 decode_compound_hdr_arg(struct xdr_stream *xdr, struct cb_compound | |||
151 | /* Check minor version is zero. */ | 151 | /* Check minor version is zero. */ |
152 | if (minor_version != 0) { | 152 | if (minor_version != 0) { |
153 | printk(KERN_WARNING "%s: NFSv4 server callback with illegal minor version %u!\n", | 153 | printk(KERN_WARNING "%s: NFSv4 server callback with illegal minor version %u!\n", |
154 | __FUNCTION__, minor_version); | 154 | __func__, minor_version); |
155 | return htonl(NFS4ERR_MINOR_VERS_MISMATCH); | 155 | return htonl(NFS4ERR_MINOR_VERS_MISMATCH); |
156 | } | 156 | } |
157 | hdr->callback_ident = ntohl(*p++); | 157 | hdr->callback_ident = ntohl(*p++); |
@@ -179,7 +179,7 @@ static __be32 decode_getattr_args(struct svc_rqst *rqstp, struct xdr_stream *xdr | |||
179 | args->addr = svc_addr(rqstp); | 179 | args->addr = svc_addr(rqstp); |
180 | status = decode_bitmap(xdr, args->bitmap); | 180 | status = decode_bitmap(xdr, args->bitmap); |
181 | out: | 181 | out: |
182 | dprintk("%s: exit with status = %d\n", __FUNCTION__, ntohl(status)); | 182 | dprintk("%s: exit with status = %d\n", __func__, ntohl(status)); |
183 | return status; | 183 | return status; |
184 | } | 184 | } |
185 | 185 | ||
@@ -200,7 +200,7 @@ static __be32 decode_recall_args(struct svc_rqst *rqstp, struct xdr_stream *xdr, | |||
200 | args->truncate = ntohl(*p); | 200 | args->truncate = ntohl(*p); |
201 | status = decode_fh(xdr, &args->fh); | 201 | status = decode_fh(xdr, &args->fh); |
202 | out: | 202 | out: |
203 | dprintk("%s: exit with status = %d\n", __FUNCTION__, ntohl(status)); | 203 | dprintk("%s: exit with status = %d\n", __func__, ntohl(status)); |
204 | return status; | 204 | return status; |
205 | } | 205 | } |
206 | 206 | ||
@@ -349,7 +349,7 @@ static __be32 encode_getattr_res(struct svc_rqst *rqstp, struct xdr_stream *xdr, | |||
349 | status = encode_attr_mtime(xdr, res->bitmap, &res->mtime); | 349 | status = encode_attr_mtime(xdr, res->bitmap, &res->mtime); |
350 | *savep = htonl((unsigned int)((char *)xdr->p - (char *)(savep+1))); | 350 | *savep = htonl((unsigned int)((char *)xdr->p - (char *)(savep+1))); |
351 | out: | 351 | out: |
352 | dprintk("%s: exit with status = %d\n", __FUNCTION__, ntohl(status)); | 352 | dprintk("%s: exit with status = %d\n", __func__, ntohl(status)); |
353 | return status; | 353 | return status; |
354 | } | 354 | } |
355 | 355 | ||
@@ -363,7 +363,7 @@ static __be32 process_op(struct svc_rqst *rqstp, | |||
363 | long maxlen; | 363 | long maxlen; |
364 | __be32 res; | 364 | __be32 res; |
365 | 365 | ||
366 | dprintk("%s: start\n", __FUNCTION__); | 366 | dprintk("%s: start\n", __func__); |
367 | status = decode_op_hdr(xdr_in, &op_nr); | 367 | status = decode_op_hdr(xdr_in, &op_nr); |
368 | if (likely(status == 0)) { | 368 | if (likely(status == 0)) { |
369 | switch (op_nr) { | 369 | switch (op_nr) { |
@@ -392,7 +392,7 @@ static __be32 process_op(struct svc_rqst *rqstp, | |||
392 | status = res; | 392 | status = res; |
393 | if (op->encode_res != NULL && status == 0) | 393 | if (op->encode_res != NULL && status == 0) |
394 | status = op->encode_res(rqstp, xdr_out, resp); | 394 | status = op->encode_res(rqstp, xdr_out, resp); |
395 | dprintk("%s: done, status = %d\n", __FUNCTION__, ntohl(status)); | 395 | dprintk("%s: done, status = %d\n", __func__, ntohl(status)); |
396 | return status; | 396 | return status; |
397 | } | 397 | } |
398 | 398 | ||
@@ -401,37 +401,37 @@ static __be32 process_op(struct svc_rqst *rqstp, | |||
401 | */ | 401 | */ |
402 | static __be32 nfs4_callback_compound(struct svc_rqst *rqstp, void *argp, void *resp) | 402 | static __be32 nfs4_callback_compound(struct svc_rqst *rqstp, void *argp, void *resp) |
403 | { | 403 | { |
404 | struct cb_compound_hdr_arg hdr_arg; | 404 | struct cb_compound_hdr_arg hdr_arg = { 0 }; |
405 | struct cb_compound_hdr_res hdr_res; | 405 | struct cb_compound_hdr_res hdr_res = { NULL }; |
406 | struct xdr_stream xdr_in, xdr_out; | 406 | struct xdr_stream xdr_in, xdr_out; |
407 | __be32 *p; | 407 | __be32 *p; |
408 | __be32 status; | 408 | __be32 status; |
409 | unsigned int nops = 1; | 409 | unsigned int nops = 0; |
410 | 410 | ||
411 | dprintk("%s: start\n", __FUNCTION__); | 411 | dprintk("%s: start\n", __func__); |
412 | 412 | ||
413 | xdr_init_decode(&xdr_in, &rqstp->rq_arg, rqstp->rq_arg.head[0].iov_base); | 413 | xdr_init_decode(&xdr_in, &rqstp->rq_arg, rqstp->rq_arg.head[0].iov_base); |
414 | 414 | ||
415 | p = (__be32*)((char *)rqstp->rq_res.head[0].iov_base + rqstp->rq_res.head[0].iov_len); | 415 | p = (__be32*)((char *)rqstp->rq_res.head[0].iov_base + rqstp->rq_res.head[0].iov_len); |
416 | xdr_init_encode(&xdr_out, &rqstp->rq_res, p); | 416 | xdr_init_encode(&xdr_out, &rqstp->rq_res, p); |
417 | 417 | ||
418 | decode_compound_hdr_arg(&xdr_in, &hdr_arg); | 418 | status = decode_compound_hdr_arg(&xdr_in, &hdr_arg); |
419 | if (status == __constant_htonl(NFS4ERR_RESOURCE)) | ||
420 | return rpc_garbage_args; | ||
421 | |||
419 | hdr_res.taglen = hdr_arg.taglen; | 422 | hdr_res.taglen = hdr_arg.taglen; |
420 | hdr_res.tag = hdr_arg.tag; | 423 | hdr_res.tag = hdr_arg.tag; |
421 | hdr_res.nops = NULL; | 424 | if (encode_compound_hdr_res(&xdr_out, &hdr_res) != 0) |
422 | encode_compound_hdr_res(&xdr_out, &hdr_res); | 425 | return rpc_system_err; |
423 | 426 | ||
424 | for (;;) { | 427 | while (status == 0 && nops != hdr_arg.nops) { |
425 | status = process_op(rqstp, &xdr_in, argp, &xdr_out, resp); | 428 | status = process_op(rqstp, &xdr_in, argp, &xdr_out, resp); |
426 | if (status != 0) | ||
427 | break; | ||
428 | if (nops == hdr_arg.nops) | ||
429 | break; | ||
430 | nops++; | 429 | nops++; |
431 | } | 430 | } |
431 | |||
432 | *hdr_res.status = status; | 432 | *hdr_res.status = status; |
433 | *hdr_res.nops = htonl(nops); | 433 | *hdr_res.nops = htonl(nops); |
434 | dprintk("%s: done, status = %u\n", __FUNCTION__, ntohl(status)); | 434 | dprintk("%s: done, status = %u\n", __func__, ntohl(status)); |
435 | return rpc_success; | 435 | return rpc_success; |
436 | } | 436 | } |
437 | 437 | ||
diff --git a/fs/nfs/client.c b/fs/nfs/client.c index 89ac5bb0401c..f2a092ca69b5 100644 --- a/fs/nfs/client.c +++ b/fs/nfs/client.c | |||
@@ -488,7 +488,7 @@ static int nfs_create_rpc_client(struct nfs_client *clp, | |||
488 | clnt = rpc_create(&args); | 488 | clnt = rpc_create(&args); |
489 | if (IS_ERR(clnt)) { | 489 | if (IS_ERR(clnt)) { |
490 | dprintk("%s: cannot create RPC client. Error = %ld\n", | 490 | dprintk("%s: cannot create RPC client. Error = %ld\n", |
491 | __FUNCTION__, PTR_ERR(clnt)); | 491 | __func__, PTR_ERR(clnt)); |
492 | return PTR_ERR(clnt); | 492 | return PTR_ERR(clnt); |
493 | } | 493 | } |
494 | 494 | ||
@@ -576,7 +576,7 @@ static int nfs_init_server_rpcclient(struct nfs_server *server, | |||
576 | 576 | ||
577 | server->client = rpc_clone_client(clp->cl_rpcclient); | 577 | server->client = rpc_clone_client(clp->cl_rpcclient); |
578 | if (IS_ERR(server->client)) { | 578 | if (IS_ERR(server->client)) { |
579 | dprintk("%s: couldn't create rpc_client!\n", __FUNCTION__); | 579 | dprintk("%s: couldn't create rpc_client!\n", __func__); |
580 | return PTR_ERR(server->client); | 580 | return PTR_ERR(server->client); |
581 | } | 581 | } |
582 | 582 | ||
@@ -590,7 +590,7 @@ static int nfs_init_server_rpcclient(struct nfs_server *server, | |||
590 | 590 | ||
591 | auth = rpcauth_create(pseudoflavour, server->client); | 591 | auth = rpcauth_create(pseudoflavour, server->client); |
592 | if (IS_ERR(auth)) { | 592 | if (IS_ERR(auth)) { |
593 | dprintk("%s: couldn't create credcache!\n", __FUNCTION__); | 593 | dprintk("%s: couldn't create credcache!\n", __func__); |
594 | return PTR_ERR(auth); | 594 | return PTR_ERR(auth); |
595 | } | 595 | } |
596 | } | 596 | } |
@@ -985,7 +985,7 @@ static int nfs4_init_client(struct nfs_client *clp, | |||
985 | error = nfs_idmap_new(clp); | 985 | error = nfs_idmap_new(clp); |
986 | if (error < 0) { | 986 | if (error < 0) { |
987 | dprintk("%s: failed to create idmapper. Error = %d\n", | 987 | dprintk("%s: failed to create idmapper. Error = %d\n", |
988 | __FUNCTION__, error); | 988 | __func__, error); |
989 | goto error; | 989 | goto error; |
990 | } | 990 | } |
991 | __set_bit(NFS_CS_IDMAP, &clp->cl_res_state); | 991 | __set_bit(NFS_CS_IDMAP, &clp->cl_res_state); |
diff --git a/fs/nfs/delegation.c b/fs/nfs/delegation.c index 00a5e4405e16..cc563cfa6940 100644 --- a/fs/nfs/delegation.c +++ b/fs/nfs/delegation.c | |||
@@ -60,7 +60,7 @@ static int nfs_delegation_claim_locks(struct nfs_open_context *ctx, struct nfs4_ | |||
60 | switch (status) { | 60 | switch (status) { |
61 | default: | 61 | default: |
62 | printk(KERN_ERR "%s: unhandled error %d.\n", | 62 | printk(KERN_ERR "%s: unhandled error %d.\n", |
63 | __FUNCTION__, status); | 63 | __func__, status); |
64 | case -NFS4ERR_EXPIRED: | 64 | case -NFS4ERR_EXPIRED: |
65 | /* kill_proc(fl->fl_pid, SIGLOST, 1); */ | 65 | /* kill_proc(fl->fl_pid, SIGLOST, 1); */ |
66 | case -NFS4ERR_STALE_CLIENTID: | 66 | case -NFS4ERR_STALE_CLIENTID: |
@@ -186,7 +186,7 @@ int nfs_inode_set_delegation(struct inode *inode, struct rpc_cred *cred, struct | |||
186 | */ | 186 | */ |
187 | dfprintk(FILE, "%s: server %s handed out " | 187 | dfprintk(FILE, "%s: server %s handed out " |
188 | "a duplicate delegation!\n", | 188 | "a duplicate delegation!\n", |
189 | __FUNCTION__, clp->cl_hostname); | 189 | __func__, clp->cl_hostname); |
190 | if (delegation->type <= nfsi->delegation->type) { | 190 | if (delegation->type <= nfsi->delegation->type) { |
191 | freeme = delegation; | 191 | freeme = delegation; |
192 | delegation = NULL; | 192 | delegation = NULL; |
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c index f288b3ecab4a..58d43daec084 100644 --- a/fs/nfs/dir.c +++ b/fs/nfs/dir.c | |||
@@ -180,7 +180,7 @@ int nfs_readdir_filler(nfs_readdir_descriptor_t *desc, struct page *page) | |||
180 | int error; | 180 | int error; |
181 | 181 | ||
182 | dfprintk(DIRCACHE, "NFS: %s: reading cookie %Lu into page %lu\n", | 182 | dfprintk(DIRCACHE, "NFS: %s: reading cookie %Lu into page %lu\n", |
183 | __FUNCTION__, (long long)desc->entry->cookie, | 183 | __func__, (long long)desc->entry->cookie, |
184 | page->index); | 184 | page->index); |
185 | 185 | ||
186 | again: | 186 | again: |
@@ -256,7 +256,7 @@ int find_dirent(nfs_readdir_descriptor_t *desc) | |||
256 | 256 | ||
257 | while((status = dir_decode(desc)) == 0) { | 257 | while((status = dir_decode(desc)) == 0) { |
258 | dfprintk(DIRCACHE, "NFS: %s: examining cookie %Lu\n", | 258 | dfprintk(DIRCACHE, "NFS: %s: examining cookie %Lu\n", |
259 | __FUNCTION__, (unsigned long long)entry->cookie); | 259 | __func__, (unsigned long long)entry->cookie); |
260 | if (entry->prev_cookie == *desc->dir_cookie) | 260 | if (entry->prev_cookie == *desc->dir_cookie) |
261 | break; | 261 | break; |
262 | if (loop_count++ > 200) { | 262 | if (loop_count++ > 200) { |
@@ -315,7 +315,7 @@ int find_dirent_page(nfs_readdir_descriptor_t *desc) | |||
315 | int status; | 315 | int status; |
316 | 316 | ||
317 | dfprintk(DIRCACHE, "NFS: %s: searching page %ld for target %Lu\n", | 317 | dfprintk(DIRCACHE, "NFS: %s: searching page %ld for target %Lu\n", |
318 | __FUNCTION__, desc->page_index, | 318 | __func__, desc->page_index, |
319 | (long long) *desc->dir_cookie); | 319 | (long long) *desc->dir_cookie); |
320 | 320 | ||
321 | /* If we find the page in the page_cache, we cannot be sure | 321 | /* If we find the page in the page_cache, we cannot be sure |
@@ -339,7 +339,7 @@ int find_dirent_page(nfs_readdir_descriptor_t *desc) | |||
339 | if (status < 0) | 339 | if (status < 0) |
340 | dir_page_release(desc); | 340 | dir_page_release(desc); |
341 | out: | 341 | out: |
342 | dfprintk(DIRCACHE, "NFS: %s: returns %d\n", __FUNCTION__, status); | 342 | dfprintk(DIRCACHE, "NFS: %s: returns %d\n", __func__, status); |
343 | return status; | 343 | return status; |
344 | } | 344 | } |
345 | 345 | ||
@@ -380,7 +380,7 @@ int readdir_search_pagecache(nfs_readdir_descriptor_t *desc) | |||
380 | } | 380 | } |
381 | } | 381 | } |
382 | 382 | ||
383 | dfprintk(DIRCACHE, "NFS: %s: returns %d\n", __FUNCTION__, res); | 383 | dfprintk(DIRCACHE, "NFS: %s: returns %d\n", __func__, res); |
384 | return res; | 384 | return res; |
385 | } | 385 | } |
386 | 386 | ||
@@ -506,7 +506,7 @@ int uncached_readdir(nfs_readdir_descriptor_t *desc, void *dirent, | |||
506 | desc->entry->eof = 0; | 506 | desc->entry->eof = 0; |
507 | out: | 507 | out: |
508 | dfprintk(DIRCACHE, "NFS: %s: returns %d\n", | 508 | dfprintk(DIRCACHE, "NFS: %s: returns %d\n", |
509 | __FUNCTION__, status); | 509 | __func__, status); |
510 | return status; | 510 | return status; |
511 | out_release: | 511 | out_release: |
512 | dir_page_release(desc); | 512 | dir_page_release(desc); |
@@ -780,7 +780,7 @@ static int nfs_lookup_revalidate(struct dentry * dentry, struct nameidata *nd) | |||
780 | 780 | ||
781 | if (is_bad_inode(inode)) { | 781 | if (is_bad_inode(inode)) { |
782 | dfprintk(LOOKUPCACHE, "%s: %s/%s has dud inode\n", | 782 | dfprintk(LOOKUPCACHE, "%s: %s/%s has dud inode\n", |
783 | __FUNCTION__, dentry->d_parent->d_name.name, | 783 | __func__, dentry->d_parent->d_name.name, |
784 | dentry->d_name.name); | 784 | dentry->d_name.name); |
785 | goto out_bad; | 785 | goto out_bad; |
786 | } | 786 | } |
@@ -808,7 +808,7 @@ static int nfs_lookup_revalidate(struct dentry * dentry, struct nameidata *nd) | |||
808 | unlock_kernel(); | 808 | unlock_kernel(); |
809 | dput(parent); | 809 | dput(parent); |
810 | dfprintk(LOOKUPCACHE, "NFS: %s(%s/%s) is valid\n", | 810 | dfprintk(LOOKUPCACHE, "NFS: %s(%s/%s) is valid\n", |
811 | __FUNCTION__, dentry->d_parent->d_name.name, | 811 | __func__, dentry->d_parent->d_name.name, |
812 | dentry->d_name.name); | 812 | dentry->d_name.name); |
813 | return 1; | 813 | return 1; |
814 | out_zap_parent: | 814 | out_zap_parent: |
@@ -827,7 +827,7 @@ out_zap_parent: | |||
827 | unlock_kernel(); | 827 | unlock_kernel(); |
828 | dput(parent); | 828 | dput(parent); |
829 | dfprintk(LOOKUPCACHE, "NFS: %s(%s/%s) is invalid\n", | 829 | dfprintk(LOOKUPCACHE, "NFS: %s(%s/%s) is invalid\n", |
830 | __FUNCTION__, dentry->d_parent->d_name.name, | 830 | __func__, dentry->d_parent->d_name.name, |
831 | dentry->d_name.name); | 831 | dentry->d_name.name); |
832 | return 0; | 832 | return 0; |
833 | } | 833 | } |
diff --git a/fs/nfs/file.c b/fs/nfs/file.c index 3536b01164f9..d84a3d8f32af 100644 --- a/fs/nfs/file.c +++ b/fs/nfs/file.c | |||
@@ -526,7 +526,7 @@ static int do_vfs_lock(struct file *file, struct file_lock *fl) | |||
526 | if (res < 0) | 526 | if (res < 0) |
527 | dprintk(KERN_WARNING "%s: VFS is out of sync with lock manager" | 527 | dprintk(KERN_WARNING "%s: VFS is out of sync with lock manager" |
528 | " - error %d!\n", | 528 | " - error %d!\n", |
529 | __FUNCTION__, res); | 529 | __func__, res); |
530 | return res; | 530 | return res; |
531 | } | 531 | } |
532 | 532 | ||
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c index 5cb3345eb694..596c5d8e86f4 100644 --- a/fs/nfs/inode.c +++ b/fs/nfs/inode.c | |||
@@ -541,8 +541,7 @@ static void __put_nfs_open_context(struct nfs_open_context *ctx, int wait) | |||
541 | } | 541 | } |
542 | if (ctx->cred != NULL) | 542 | if (ctx->cred != NULL) |
543 | put_rpccred(ctx->cred); | 543 | put_rpccred(ctx->cred); |
544 | dput(ctx->path.dentry); | 544 | path_put(&ctx->path); |
545 | mntput(ctx->path.mnt); | ||
546 | kfree(ctx); | 545 | kfree(ctx); |
547 | } | 546 | } |
548 | 547 | ||
@@ -707,6 +706,13 @@ int nfs_attribute_timeout(struct inode *inode) | |||
707 | 706 | ||
708 | if (nfs_have_delegation(inode, FMODE_READ)) | 707 | if (nfs_have_delegation(inode, FMODE_READ)) |
709 | return 0; | 708 | return 0; |
709 | /* | ||
710 | * Special case: if the attribute timeout is set to 0, then always | ||
711 | * treat the cache as having expired (unless holding | ||
712 | * a delegation). | ||
713 | */ | ||
714 | if (nfsi->attrtimeo == 0) | ||
715 | return 1; | ||
710 | return !time_in_range(jiffies, nfsi->read_cache_jiffies, nfsi->read_cache_jiffies + nfsi->attrtimeo); | 716 | return !time_in_range(jiffies, nfsi->read_cache_jiffies, nfsi->read_cache_jiffies + nfsi->attrtimeo); |
711 | } | 717 | } |
712 | 718 | ||
@@ -995,7 +1001,7 @@ static int nfs_update_inode(struct inode *inode, struct nfs_fattr *fattr) | |||
995 | unsigned long now = jiffies; | 1001 | unsigned long now = jiffies; |
996 | 1002 | ||
997 | dfprintk(VFS, "NFS: %s(%s/%ld ct=%d info=0x%x)\n", | 1003 | dfprintk(VFS, "NFS: %s(%s/%ld ct=%d info=0x%x)\n", |
998 | __FUNCTION__, inode->i_sb->s_id, inode->i_ino, | 1004 | __func__, inode->i_sb->s_id, inode->i_ino, |
999 | atomic_read(&inode->i_count), fattr->valid); | 1005 | atomic_read(&inode->i_count), fattr->valid); |
1000 | 1006 | ||
1001 | if (nfsi->fileid != fattr->fileid) | 1007 | if (nfsi->fileid != fattr->fileid) |
@@ -1119,7 +1125,7 @@ static int nfs_update_inode(struct inode *inode, struct nfs_fattr *fattr) | |||
1119 | * Big trouble! The inode has become a different object. | 1125 | * Big trouble! The inode has become a different object. |
1120 | */ | 1126 | */ |
1121 | printk(KERN_DEBUG "%s: inode %ld mode changed, %07o to %07o\n", | 1127 | printk(KERN_DEBUG "%s: inode %ld mode changed, %07o to %07o\n", |
1122 | __FUNCTION__, inode->i_ino, inode->i_mode, fattr->mode); | 1128 | __func__, inode->i_ino, inode->i_mode, fattr->mode); |
1123 | out_err: | 1129 | out_err: |
1124 | /* | 1130 | /* |
1125 | * No need to worry about unhashing the dentry, as the | 1131 | * No need to worry about unhashing the dentry, as the |
diff --git a/fs/nfs/namespace.c b/fs/nfs/namespace.c index af4d0f1e402c..2f285ef76399 100644 --- a/fs/nfs/namespace.c +++ b/fs/nfs/namespace.c | |||
@@ -106,7 +106,7 @@ static void * nfs_follow_mountpoint(struct dentry *dentry, struct nameidata *nd) | |||
106 | dprintk("--> nfs_follow_mountpoint()\n"); | 106 | dprintk("--> nfs_follow_mountpoint()\n"); |
107 | 107 | ||
108 | BUG_ON(IS_ROOT(dentry)); | 108 | BUG_ON(IS_ROOT(dentry)); |
109 | dprintk("%s: enter\n", __FUNCTION__); | 109 | dprintk("%s: enter\n", __func__); |
110 | dput(nd->path.dentry); | 110 | dput(nd->path.dentry); |
111 | nd->path.dentry = dget(dentry); | 111 | nd->path.dentry = dget(dentry); |
112 | 112 | ||
@@ -137,13 +137,12 @@ static void * nfs_follow_mountpoint(struct dentry *dentry, struct nameidata *nd) | |||
137 | goto out_follow; | 137 | goto out_follow; |
138 | goto out_err; | 138 | goto out_err; |
139 | } | 139 | } |
140 | mntput(nd->path.mnt); | 140 | path_put(&nd->path); |
141 | dput(nd->path.dentry); | ||
142 | nd->path.mnt = mnt; | 141 | nd->path.mnt = mnt; |
143 | nd->path.dentry = dget(mnt->mnt_root); | 142 | nd->path.dentry = dget(mnt->mnt_root); |
144 | schedule_delayed_work(&nfs_automount_task, nfs_mountpoint_expiry_timeout); | 143 | schedule_delayed_work(&nfs_automount_task, nfs_mountpoint_expiry_timeout); |
145 | out: | 144 | out: |
146 | dprintk("%s: done, returned %d\n", __FUNCTION__, err); | 145 | dprintk("%s: done, returned %d\n", __func__, err); |
147 | 146 | ||
148 | dprintk("<-- nfs_follow_mountpoint() = %d\n", err); | 147 | dprintk("<-- nfs_follow_mountpoint() = %d\n", err); |
149 | return ERR_PTR(err); | 148 | return ERR_PTR(err); |
@@ -230,7 +229,7 @@ static struct vfsmount *nfs_do_submount(const struct vfsmount *mnt_parent, | |||
230 | 229 | ||
231 | dprintk("--> nfs_do_submount()\n"); | 230 | dprintk("--> nfs_do_submount()\n"); |
232 | 231 | ||
233 | dprintk("%s: submounting on %s/%s\n", __FUNCTION__, | 232 | dprintk("%s: submounting on %s/%s\n", __func__, |
234 | dentry->d_parent->d_name.name, | 233 | dentry->d_parent->d_name.name, |
235 | dentry->d_name.name); | 234 | dentry->d_name.name); |
236 | if (page == NULL) | 235 | if (page == NULL) |
@@ -243,7 +242,7 @@ static struct vfsmount *nfs_do_submount(const struct vfsmount *mnt_parent, | |||
243 | free_page: | 242 | free_page: |
244 | free_page((unsigned long)page); | 243 | free_page((unsigned long)page); |
245 | out: | 244 | out: |
246 | dprintk("%s: done\n", __FUNCTION__); | 245 | dprintk("%s: done\n", __func__); |
247 | 246 | ||
248 | dprintk("<-- nfs_do_submount() = %p\n", mnt); | 247 | dprintk("<-- nfs_do_submount() = %p\n", mnt); |
249 | return mnt; | 248 | return mnt; |
diff --git a/fs/nfs/nfs3proc.c b/fs/nfs/nfs3proc.c index 549dbce714a4..c3523ad03ed1 100644 --- a/fs/nfs/nfs3proc.c +++ b/fs/nfs/nfs3proc.c | |||
@@ -63,15 +63,15 @@ do_proc_get_root(struct rpc_clnt *client, struct nfs_fh *fhandle, | |||
63 | }; | 63 | }; |
64 | int status; | 64 | int status; |
65 | 65 | ||
66 | dprintk("%s: call fsinfo\n", __FUNCTION__); | 66 | dprintk("%s: call fsinfo\n", __func__); |
67 | nfs_fattr_init(info->fattr); | 67 | nfs_fattr_init(info->fattr); |
68 | status = rpc_call_sync(client, &msg, 0); | 68 | status = rpc_call_sync(client, &msg, 0); |
69 | dprintk("%s: reply fsinfo: %d\n", __FUNCTION__, status); | 69 | dprintk("%s: reply fsinfo: %d\n", __func__, status); |
70 | if (!(info->fattr->valid & NFS_ATTR_FATTR)) { | 70 | if (!(info->fattr->valid & NFS_ATTR_FATTR)) { |
71 | msg.rpc_proc = &nfs3_procedures[NFS3PROC_GETATTR]; | 71 | msg.rpc_proc = &nfs3_procedures[NFS3PROC_GETATTR]; |
72 | msg.rpc_resp = info->fattr; | 72 | msg.rpc_resp = info->fattr; |
73 | status = rpc_call_sync(client, &msg, 0); | 73 | status = rpc_call_sync(client, &msg, 0); |
74 | dprintk("%s: reply getattr: %d\n", __FUNCTION__, status); | 74 | dprintk("%s: reply getattr: %d\n", __func__, status); |
75 | } | 75 | } |
76 | return status; | 76 | return status; |
77 | } | 77 | } |
diff --git a/fs/nfs/nfs4_fs.h b/fs/nfs/nfs4_fs.h index bd1b9d663fb9..ea790645fda6 100644 --- a/fs/nfs/nfs4_fs.h +++ b/fs/nfs/nfs4_fs.h | |||
@@ -206,7 +206,6 @@ struct rpc_cred *nfs4_get_renew_cred(struct nfs_client *clp); | |||
206 | 206 | ||
207 | extern struct nfs4_state_owner * nfs4_get_state_owner(struct nfs_server *, struct rpc_cred *); | 207 | extern struct nfs4_state_owner * nfs4_get_state_owner(struct nfs_server *, struct rpc_cred *); |
208 | extern void nfs4_put_state_owner(struct nfs4_state_owner *); | 208 | extern void nfs4_put_state_owner(struct nfs4_state_owner *); |
209 | extern void nfs4_drop_state_owner(struct nfs4_state_owner *); | ||
210 | extern struct nfs4_state * nfs4_get_open_state(struct inode *, struct nfs4_state_owner *); | 209 | extern struct nfs4_state * nfs4_get_open_state(struct inode *, struct nfs4_state_owner *); |
211 | extern void nfs4_put_open_state(struct nfs4_state *); | 210 | extern void nfs4_put_open_state(struct nfs4_state *); |
212 | extern void nfs4_close_state(struct path *, struct nfs4_state *, mode_t); | 211 | extern void nfs4_close_state(struct path *, struct nfs4_state *, mode_t); |
diff --git a/fs/nfs/nfs4namespace.c b/fs/nfs/nfs4namespace.c index 5f9ba41ed5bf..b112857301f7 100644 --- a/fs/nfs/nfs4namespace.c +++ b/fs/nfs/nfs4namespace.c | |||
@@ -86,7 +86,7 @@ static int nfs4_validate_fspath(const struct vfsmount *mnt_parent, | |||
86 | 86 | ||
87 | if (strncmp(path, fs_path, strlen(fs_path)) != 0) { | 87 | if (strncmp(path, fs_path, strlen(fs_path)) != 0) { |
88 | dprintk("%s: path %s does not begin with fsroot %s\n", | 88 | dprintk("%s: path %s does not begin with fsroot %s\n", |
89 | __FUNCTION__, path, fs_path); | 89 | __func__, path, fs_path); |
90 | return -ENOENT; | 90 | return -ENOENT; |
91 | } | 91 | } |
92 | 92 | ||
@@ -134,7 +134,7 @@ static struct vfsmount *nfs_follow_referral(const struct vfsmount *mnt_parent, | |||
134 | if (locations == NULL || locations->nlocations <= 0) | 134 | if (locations == NULL || locations->nlocations <= 0) |
135 | goto out; | 135 | goto out; |
136 | 136 | ||
137 | dprintk("%s: referral at %s/%s\n", __FUNCTION__, | 137 | dprintk("%s: referral at %s/%s\n", __func__, |
138 | dentry->d_parent->d_name.name, dentry->d_name.name); | 138 | dentry->d_parent->d_name.name, dentry->d_name.name); |
139 | 139 | ||
140 | page = (char *) __get_free_page(GFP_USER); | 140 | page = (char *) __get_free_page(GFP_USER); |
@@ -204,7 +204,7 @@ static struct vfsmount *nfs_follow_referral(const struct vfsmount *mnt_parent, | |||
204 | out: | 204 | out: |
205 | free_page((unsigned long) page); | 205 | free_page((unsigned long) page); |
206 | free_page((unsigned long) page2); | 206 | free_page((unsigned long) page2); |
207 | dprintk("%s: done\n", __FUNCTION__); | 207 | dprintk("%s: done\n", __func__); |
208 | return mnt; | 208 | return mnt; |
209 | } | 209 | } |
210 | 210 | ||
@@ -223,7 +223,7 @@ struct vfsmount *nfs_do_refmount(const struct vfsmount *mnt_parent, struct dentr | |||
223 | int err; | 223 | int err; |
224 | 224 | ||
225 | /* BUG_ON(IS_ROOT(dentry)); */ | 225 | /* BUG_ON(IS_ROOT(dentry)); */ |
226 | dprintk("%s: enter\n", __FUNCTION__); | 226 | dprintk("%s: enter\n", __func__); |
227 | 227 | ||
228 | page = alloc_page(GFP_KERNEL); | 228 | page = alloc_page(GFP_KERNEL); |
229 | if (page == NULL) | 229 | if (page == NULL) |
@@ -238,7 +238,7 @@ struct vfsmount *nfs_do_refmount(const struct vfsmount *mnt_parent, struct dentr | |||
238 | 238 | ||
239 | parent = dget_parent(dentry); | 239 | parent = dget_parent(dentry); |
240 | dprintk("%s: getting locations for %s/%s\n", | 240 | dprintk("%s: getting locations for %s/%s\n", |
241 | __FUNCTION__, parent->d_name.name, dentry->d_name.name); | 241 | __func__, parent->d_name.name, dentry->d_name.name); |
242 | 242 | ||
243 | err = nfs4_proc_fs_locations(parent->d_inode, &dentry->d_name, fs_locations, page); | 243 | err = nfs4_proc_fs_locations(parent->d_inode, &dentry->d_name, fs_locations, page); |
244 | dput(parent); | 244 | dput(parent); |
@@ -252,6 +252,6 @@ out_free: | |||
252 | __free_page(page); | 252 | __free_page(page); |
253 | kfree(fs_locations); | 253 | kfree(fs_locations); |
254 | out: | 254 | out: |
255 | dprintk("%s: done\n", __FUNCTION__); | 255 | dprintk("%s: done\n", __func__); |
256 | return mnt; | 256 | return mnt; |
257 | } | 257 | } |
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index dbc09271af02..1293e0acd82b 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c | |||
@@ -73,7 +73,7 @@ int nfs4_map_errors(int err) | |||
73 | { | 73 | { |
74 | if (err < -1000) { | 74 | if (err < -1000) { |
75 | dprintk("%s could not handle NFSv4 error %d\n", | 75 | dprintk("%s could not handle NFSv4 error %d\n", |
76 | __FUNCTION__, -err); | 76 | __func__, -err); |
77 | return -EIO; | 77 | return -EIO; |
78 | } | 78 | } |
79 | return err; | 79 | return err; |
@@ -306,8 +306,7 @@ static void nfs4_opendata_free(struct kref *kref) | |||
306 | nfs4_put_open_state(p->state); | 306 | nfs4_put_open_state(p->state); |
307 | nfs4_put_state_owner(p->owner); | 307 | nfs4_put_state_owner(p->owner); |
308 | dput(p->dir); | 308 | dput(p->dir); |
309 | dput(p->path.dentry); | 309 | path_put(&p->path); |
310 | mntput(p->path.mnt); | ||
311 | kfree(p); | 310 | kfree(p); |
312 | } | 311 | } |
313 | 312 | ||
@@ -1210,8 +1209,7 @@ static void nfs4_free_closedata(void *data) | |||
1210 | nfs4_put_open_state(calldata->state); | 1209 | nfs4_put_open_state(calldata->state); |
1211 | nfs_free_seqid(calldata->arg.seqid); | 1210 | nfs_free_seqid(calldata->arg.seqid); |
1212 | nfs4_put_state_owner(sp); | 1211 | nfs4_put_state_owner(sp); |
1213 | dput(calldata->path.dentry); | 1212 | path_put(&calldata->path); |
1214 | mntput(calldata->path.mnt); | ||
1215 | kfree(calldata); | 1213 | kfree(calldata); |
1216 | } | 1214 | } |
1217 | 1215 | ||
@@ -1578,7 +1576,7 @@ static int nfs4_get_referral(struct inode *dir, const struct qstr *name, struct | |||
1578 | goto out; | 1576 | goto out; |
1579 | /* Make sure server returned a different fsid for the referral */ | 1577 | /* Make sure server returned a different fsid for the referral */ |
1580 | if (nfs_fsid_equal(&NFS_SERVER(dir)->fsid, &locations->fattr.fsid)) { | 1578 | if (nfs_fsid_equal(&NFS_SERVER(dir)->fsid, &locations->fattr.fsid)) { |
1581 | dprintk("%s: server did not return a different fsid for a referral at %s\n", __FUNCTION__, name->name); | 1579 | dprintk("%s: server did not return a different fsid for a referral at %s\n", __func__, name->name); |
1582 | status = -EIO; | 1580 | status = -EIO; |
1583 | goto out; | 1581 | goto out; |
1584 | } | 1582 | } |
@@ -2211,7 +2209,7 @@ static int _nfs4_proc_readdir(struct dentry *dentry, struct rpc_cred *cred, | |||
2211 | }; | 2209 | }; |
2212 | int status; | 2210 | int status; |
2213 | 2211 | ||
2214 | dprintk("%s: dentry = %s/%s, cookie = %Lu\n", __FUNCTION__, | 2212 | dprintk("%s: dentry = %s/%s, cookie = %Lu\n", __func__, |
2215 | dentry->d_parent->d_name.name, | 2213 | dentry->d_parent->d_name.name, |
2216 | dentry->d_name.name, | 2214 | dentry->d_name.name, |
2217 | (unsigned long long)cookie); | 2215 | (unsigned long long)cookie); |
@@ -2223,7 +2221,7 @@ static int _nfs4_proc_readdir(struct dentry *dentry, struct rpc_cred *cred, | |||
2223 | 2221 | ||
2224 | nfs_invalidate_atime(dir); | 2222 | nfs_invalidate_atime(dir); |
2225 | 2223 | ||
2226 | dprintk("%s: returns %d\n", __FUNCTION__, status); | 2224 | dprintk("%s: returns %d\n", __func__, status); |
2227 | return status; | 2225 | return status; |
2228 | } | 2226 | } |
2229 | 2227 | ||
@@ -3342,7 +3340,7 @@ static void nfs4_lock_prepare(struct rpc_task *task, void *calldata) | |||
3342 | struct nfs4_lockdata *data = calldata; | 3340 | struct nfs4_lockdata *data = calldata; |
3343 | struct nfs4_state *state = data->lsp->ls_state; | 3341 | struct nfs4_state *state = data->lsp->ls_state; |
3344 | 3342 | ||
3345 | dprintk("%s: begin!\n", __FUNCTION__); | 3343 | dprintk("%s: begin!\n", __func__); |
3346 | if (nfs_wait_on_sequence(data->arg.lock_seqid, task) != 0) | 3344 | if (nfs_wait_on_sequence(data->arg.lock_seqid, task) != 0) |
3347 | return; | 3345 | return; |
3348 | /* Do we need to do an open_to_lock_owner? */ | 3346 | /* Do we need to do an open_to_lock_owner? */ |
@@ -3356,14 +3354,14 @@ static void nfs4_lock_prepare(struct rpc_task *task, void *calldata) | |||
3356 | data->arg.new_lock_owner = 0; | 3354 | data->arg.new_lock_owner = 0; |
3357 | data->timestamp = jiffies; | 3355 | data->timestamp = jiffies; |
3358 | rpc_call_start(task); | 3356 | rpc_call_start(task); |
3359 | dprintk("%s: done!, ret = %d\n", __FUNCTION__, data->rpc_status); | 3357 | dprintk("%s: done!, ret = %d\n", __func__, data->rpc_status); |
3360 | } | 3358 | } |
3361 | 3359 | ||
3362 | static void nfs4_lock_done(struct rpc_task *task, void *calldata) | 3360 | static void nfs4_lock_done(struct rpc_task *task, void *calldata) |
3363 | { | 3361 | { |
3364 | struct nfs4_lockdata *data = calldata; | 3362 | struct nfs4_lockdata *data = calldata; |
3365 | 3363 | ||
3366 | dprintk("%s: begin!\n", __FUNCTION__); | 3364 | dprintk("%s: begin!\n", __func__); |
3367 | 3365 | ||
3368 | data->rpc_status = task->tk_status; | 3366 | data->rpc_status = task->tk_status; |
3369 | if (RPC_ASSASSINATED(task)) | 3367 | if (RPC_ASSASSINATED(task)) |
@@ -3381,14 +3379,14 @@ static void nfs4_lock_done(struct rpc_task *task, void *calldata) | |||
3381 | renew_lease(NFS_SERVER(data->ctx->path.dentry->d_inode), data->timestamp); | 3379 | renew_lease(NFS_SERVER(data->ctx->path.dentry->d_inode), data->timestamp); |
3382 | } | 3380 | } |
3383 | out: | 3381 | out: |
3384 | dprintk("%s: done, ret = %d!\n", __FUNCTION__, data->rpc_status); | 3382 | dprintk("%s: done, ret = %d!\n", __func__, data->rpc_status); |
3385 | } | 3383 | } |
3386 | 3384 | ||
3387 | static void nfs4_lock_release(void *calldata) | 3385 | static void nfs4_lock_release(void *calldata) |
3388 | { | 3386 | { |
3389 | struct nfs4_lockdata *data = calldata; | 3387 | struct nfs4_lockdata *data = calldata; |
3390 | 3388 | ||
3391 | dprintk("%s: begin!\n", __FUNCTION__); | 3389 | dprintk("%s: begin!\n", __func__); |
3392 | nfs_free_seqid(data->arg.open_seqid); | 3390 | nfs_free_seqid(data->arg.open_seqid); |
3393 | if (data->cancelled != 0) { | 3391 | if (data->cancelled != 0) { |
3394 | struct rpc_task *task; | 3392 | struct rpc_task *task; |
@@ -3396,13 +3394,13 @@ static void nfs4_lock_release(void *calldata) | |||
3396 | data->arg.lock_seqid); | 3394 | data->arg.lock_seqid); |
3397 | if (!IS_ERR(task)) | 3395 | if (!IS_ERR(task)) |
3398 | rpc_put_task(task); | 3396 | rpc_put_task(task); |
3399 | dprintk("%s: cancelling lock!\n", __FUNCTION__); | 3397 | dprintk("%s: cancelling lock!\n", __func__); |
3400 | } else | 3398 | } else |
3401 | nfs_free_seqid(data->arg.lock_seqid); | 3399 | nfs_free_seqid(data->arg.lock_seqid); |
3402 | nfs4_put_lock_state(data->lsp); | 3400 | nfs4_put_lock_state(data->lsp); |
3403 | put_nfs_open_context(data->ctx); | 3401 | put_nfs_open_context(data->ctx); |
3404 | kfree(data); | 3402 | kfree(data); |
3405 | dprintk("%s: done!\n", __FUNCTION__); | 3403 | dprintk("%s: done!\n", __func__); |
3406 | } | 3404 | } |
3407 | 3405 | ||
3408 | static const struct rpc_call_ops nfs4_lock_ops = { | 3406 | static const struct rpc_call_ops nfs4_lock_ops = { |
@@ -3428,7 +3426,7 @@ static int _nfs4_do_setlk(struct nfs4_state *state, int cmd, struct file_lock *f | |||
3428 | }; | 3426 | }; |
3429 | int ret; | 3427 | int ret; |
3430 | 3428 | ||
3431 | dprintk("%s: begin!\n", __FUNCTION__); | 3429 | dprintk("%s: begin!\n", __func__); |
3432 | data = nfs4_alloc_lockdata(fl, nfs_file_open_context(fl->fl_file), | 3430 | data = nfs4_alloc_lockdata(fl, nfs_file_open_context(fl->fl_file), |
3433 | fl->fl_u.nfs4_fl.owner); | 3431 | fl->fl_u.nfs4_fl.owner); |
3434 | if (data == NULL) | 3432 | if (data == NULL) |
@@ -3451,7 +3449,7 @@ static int _nfs4_do_setlk(struct nfs4_state *state, int cmd, struct file_lock *f | |||
3451 | } else | 3449 | } else |
3452 | data->cancelled = 1; | 3450 | data->cancelled = 1; |
3453 | rpc_put_task(task); | 3451 | rpc_put_task(task); |
3454 | dprintk("%s: done, ret = %d!\n", __FUNCTION__, ret); | 3452 | dprintk("%s: done, ret = %d!\n", __func__, ret); |
3455 | return ret; | 3453 | return ret; |
3456 | } | 3454 | } |
3457 | 3455 | ||
@@ -3527,7 +3525,7 @@ static int _nfs4_proc_setlk(struct nfs4_state *state, int cmd, struct file_lock | |||
3527 | /* Note: we always want to sleep here! */ | 3525 | /* Note: we always want to sleep here! */ |
3528 | request->fl_flags = fl_flags | FL_SLEEP; | 3526 | request->fl_flags = fl_flags | FL_SLEEP; |
3529 | if (do_vfs_lock(request->fl_file, request) < 0) | 3527 | if (do_vfs_lock(request->fl_file, request) < 0) |
3530 | printk(KERN_WARNING "%s: VFS is out of sync with lock manager!\n", __FUNCTION__); | 3528 | printk(KERN_WARNING "%s: VFS is out of sync with lock manager!\n", __func__); |
3531 | out_unlock: | 3529 | out_unlock: |
3532 | up_read(&clp->cl_sem); | 3530 | up_read(&clp->cl_sem); |
3533 | out: | 3531 | out: |
@@ -3665,12 +3663,12 @@ int nfs4_proc_fs_locations(struct inode *dir, const struct qstr *name, | |||
3665 | }; | 3663 | }; |
3666 | int status; | 3664 | int status; |
3667 | 3665 | ||
3668 | dprintk("%s: start\n", __FUNCTION__); | 3666 | dprintk("%s: start\n", __func__); |
3669 | nfs_fattr_init(&fs_locations->fattr); | 3667 | nfs_fattr_init(&fs_locations->fattr); |
3670 | fs_locations->server = server; | 3668 | fs_locations->server = server; |
3671 | fs_locations->nlocations = 0; | 3669 | fs_locations->nlocations = 0; |
3672 | status = rpc_call_sync(server->client, &msg, 0); | 3670 | status = rpc_call_sync(server->client, &msg, 0); |
3673 | dprintk("%s: returned status = %d\n", __FUNCTION__, status); | 3671 | dprintk("%s: returned status = %d\n", __func__, status); |
3674 | return status; | 3672 | return status; |
3675 | } | 3673 | } |
3676 | 3674 | ||
diff --git a/fs/nfs/nfs4renewd.c b/fs/nfs/nfs4renewd.c index 5e2e4af1a0e6..3305acbbe2ae 100644 --- a/fs/nfs/nfs4renewd.c +++ b/fs/nfs/nfs4renewd.c | |||
@@ -66,7 +66,7 @@ nfs4_renew_state(struct work_struct *work) | |||
66 | unsigned long last, now; | 66 | unsigned long last, now; |
67 | 67 | ||
68 | down_read(&clp->cl_sem); | 68 | down_read(&clp->cl_sem); |
69 | dprintk("%s: start\n", __FUNCTION__); | 69 | dprintk("%s: start\n", __func__); |
70 | /* Are there any active superblocks? */ | 70 | /* Are there any active superblocks? */ |
71 | if (list_empty(&clp->cl_superblocks)) | 71 | if (list_empty(&clp->cl_superblocks)) |
72 | goto out; | 72 | goto out; |
@@ -92,17 +92,17 @@ nfs4_renew_state(struct work_struct *work) | |||
92 | spin_lock(&clp->cl_lock); | 92 | spin_lock(&clp->cl_lock); |
93 | } else | 93 | } else |
94 | dprintk("%s: failed to call renewd. Reason: lease not expired \n", | 94 | dprintk("%s: failed to call renewd. Reason: lease not expired \n", |
95 | __FUNCTION__); | 95 | __func__); |
96 | if (timeout < 5 * HZ) /* safeguard */ | 96 | if (timeout < 5 * HZ) /* safeguard */ |
97 | timeout = 5 * HZ; | 97 | timeout = 5 * HZ; |
98 | dprintk("%s: requeueing work. Lease period = %ld\n", | 98 | dprintk("%s: requeueing work. Lease period = %ld\n", |
99 | __FUNCTION__, (timeout + HZ - 1) / HZ); | 99 | __func__, (timeout + HZ - 1) / HZ); |
100 | cancel_delayed_work(&clp->cl_renewd); | 100 | cancel_delayed_work(&clp->cl_renewd); |
101 | schedule_delayed_work(&clp->cl_renewd, timeout); | 101 | schedule_delayed_work(&clp->cl_renewd, timeout); |
102 | spin_unlock(&clp->cl_lock); | 102 | spin_unlock(&clp->cl_lock); |
103 | out: | 103 | out: |
104 | up_read(&clp->cl_sem); | 104 | up_read(&clp->cl_sem); |
105 | dprintk("%s: done\n", __FUNCTION__); | 105 | dprintk("%s: done\n", __func__); |
106 | } | 106 | } |
107 | 107 | ||
108 | /* Must be called with clp->cl_sem locked for writes */ | 108 | /* Must be called with clp->cl_sem locked for writes */ |
@@ -117,7 +117,7 @@ nfs4_schedule_state_renewal(struct nfs_client *clp) | |||
117 | if (timeout < 5 * HZ) | 117 | if (timeout < 5 * HZ) |
118 | timeout = 5 * HZ; | 118 | timeout = 5 * HZ; |
119 | dprintk("%s: requeueing work. Lease period = %ld\n", | 119 | dprintk("%s: requeueing work. Lease period = %ld\n", |
120 | __FUNCTION__, (timeout + HZ - 1) / HZ); | 120 | __func__, (timeout + HZ - 1) / HZ); |
121 | cancel_delayed_work(&clp->cl_renewd); | 121 | cancel_delayed_work(&clp->cl_renewd); |
122 | schedule_delayed_work(&clp->cl_renewd, timeout); | 122 | schedule_delayed_work(&clp->cl_renewd, timeout); |
123 | set_bit(NFS_CS_RENEWD, &clp->cl_res_state); | 123 | set_bit(NFS_CS_RENEWD, &clp->cl_res_state); |
diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c index 46eb624e4f16..856a8934f610 100644 --- a/fs/nfs/nfs4state.c +++ b/fs/nfs/nfs4state.c | |||
@@ -282,7 +282,7 @@ nfs4_alloc_state_owner(void) | |||
282 | return sp; | 282 | return sp; |
283 | } | 283 | } |
284 | 284 | ||
285 | void | 285 | static void |
286 | nfs4_drop_state_owner(struct nfs4_state_owner *sp) | 286 | nfs4_drop_state_owner(struct nfs4_state_owner *sp) |
287 | { | 287 | { |
288 | if (!RB_EMPTY_NODE(&sp->so_client_node)) { | 288 | if (!RB_EMPTY_NODE(&sp->so_client_node)) { |
@@ -828,7 +828,7 @@ static int nfs4_reclaim_locks(struct nfs4_state_recovery_ops *ops, struct nfs4_s | |||
828 | switch (status) { | 828 | switch (status) { |
829 | default: | 829 | default: |
830 | printk(KERN_ERR "%s: unhandled error %d. Zeroing state\n", | 830 | printk(KERN_ERR "%s: unhandled error %d. Zeroing state\n", |
831 | __FUNCTION__, status); | 831 | __func__, status); |
832 | case -NFS4ERR_EXPIRED: | 832 | case -NFS4ERR_EXPIRED: |
833 | case -NFS4ERR_NO_GRACE: | 833 | case -NFS4ERR_NO_GRACE: |
834 | case -NFS4ERR_RECLAIM_BAD: | 834 | case -NFS4ERR_RECLAIM_BAD: |
@@ -869,14 +869,14 @@ static int nfs4_reclaim_open_state(struct nfs4_state_recovery_ops *ops, struct n | |||
869 | list_for_each_entry(lock, &state->lock_states, ls_locks) { | 869 | list_for_each_entry(lock, &state->lock_states, ls_locks) { |
870 | if (!(lock->ls_flags & NFS_LOCK_INITIALIZED)) | 870 | if (!(lock->ls_flags & NFS_LOCK_INITIALIZED)) |
871 | printk("%s: Lock reclaim failed!\n", | 871 | printk("%s: Lock reclaim failed!\n", |
872 | __FUNCTION__); | 872 | __func__); |
873 | } | 873 | } |
874 | continue; | 874 | continue; |
875 | } | 875 | } |
876 | switch (status) { | 876 | switch (status) { |
877 | default: | 877 | default: |
878 | printk(KERN_ERR "%s: unhandled error %d. Zeroing state\n", | 878 | printk(KERN_ERR "%s: unhandled error %d. Zeroing state\n", |
879 | __FUNCTION__, status); | 879 | __func__, status); |
880 | case -ENOENT: | 880 | case -ENOENT: |
881 | case -NFS4ERR_RECLAIM_BAD: | 881 | case -NFS4ERR_RECLAIM_BAD: |
882 | case -NFS4ERR_RECLAIM_CONFLICT: | 882 | case -NFS4ERR_RECLAIM_CONFLICT: |
diff --git a/fs/nfs/nfs4xdr.c b/fs/nfs/nfs4xdr.c index 5a2d64927b35..b916297d2334 100644 --- a/fs/nfs/nfs4xdr.c +++ b/fs/nfs/nfs4xdr.c | |||
@@ -1831,7 +1831,7 @@ static int nfs4_xdr_enc_readdir(struct rpc_rqst *req, __be32 *p, const struct nf | |||
1831 | xdr_inline_pages(&req->rq_rcv_buf, replen, args->pages, | 1831 | xdr_inline_pages(&req->rq_rcv_buf, replen, args->pages, |
1832 | args->pgbase, args->count); | 1832 | args->pgbase, args->count); |
1833 | dprintk("%s: inlined page args = (%u, %p, %u, %u)\n", | 1833 | dprintk("%s: inlined page args = (%u, %p, %u, %u)\n", |
1834 | __FUNCTION__, replen, args->pages, | 1834 | __func__, replen, args->pages, |
1835 | args->pgbase, args->count); | 1835 | args->pgbase, args->count); |
1836 | 1836 | ||
1837 | out: | 1837 | out: |
@@ -2192,9 +2192,9 @@ out: | |||
2192 | p = xdr_inline_decode(xdr, nbytes); \ | 2192 | p = xdr_inline_decode(xdr, nbytes); \ |
2193 | if (unlikely(!p)) { \ | 2193 | if (unlikely(!p)) { \ |
2194 | dprintk("nfs: %s: prematurely hit end of receive" \ | 2194 | dprintk("nfs: %s: prematurely hit end of receive" \ |
2195 | " buffer\n", __FUNCTION__); \ | 2195 | " buffer\n", __func__); \ |
2196 | dprintk("nfs: %s: xdr->p=%p, bytes=%u, xdr->end=%p\n", \ | 2196 | dprintk("nfs: %s: xdr->p=%p, bytes=%u, xdr->end=%p\n", \ |
2197 | __FUNCTION__, xdr->p, nbytes, xdr->end); \ | 2197 | __func__, xdr->p, nbytes, xdr->end); \ |
2198 | return -EIO; \ | 2198 | return -EIO; \ |
2199 | } \ | 2199 | } \ |
2200 | } while (0) | 2200 | } while (0) |
@@ -2306,12 +2306,12 @@ static int decode_attr_type(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t * | |||
2306 | READ_BUF(4); | 2306 | READ_BUF(4); |
2307 | READ32(*type); | 2307 | READ32(*type); |
2308 | if (*type < NF4REG || *type > NF4NAMEDATTR) { | 2308 | if (*type < NF4REG || *type > NF4NAMEDATTR) { |
2309 | dprintk("%s: bad type %d\n", __FUNCTION__, *type); | 2309 | dprintk("%s: bad type %d\n", __func__, *type); |
2310 | return -EIO; | 2310 | return -EIO; |
2311 | } | 2311 | } |
2312 | bitmap[0] &= ~FATTR4_WORD0_TYPE; | 2312 | bitmap[0] &= ~FATTR4_WORD0_TYPE; |
2313 | } | 2313 | } |
2314 | dprintk("%s: type=0%o\n", __FUNCTION__, nfs_type2fmt[*type].nfs2type); | 2314 | dprintk("%s: type=0%o\n", __func__, nfs_type2fmt[*type].nfs2type); |
2315 | return 0; | 2315 | return 0; |
2316 | } | 2316 | } |
2317 | 2317 | ||
@@ -2327,7 +2327,7 @@ static int decode_attr_change(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t | |||
2327 | READ64(*change); | 2327 | READ64(*change); |
2328 | bitmap[0] &= ~FATTR4_WORD0_CHANGE; | 2328 | bitmap[0] &= ~FATTR4_WORD0_CHANGE; |
2329 | } | 2329 | } |
2330 | dprintk("%s: change attribute=%Lu\n", __FUNCTION__, | 2330 | dprintk("%s: change attribute=%Lu\n", __func__, |
2331 | (unsigned long long)*change); | 2331 | (unsigned long long)*change); |
2332 | return 0; | 2332 | return 0; |
2333 | } | 2333 | } |
@@ -2344,7 +2344,7 @@ static int decode_attr_size(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t * | |||
2344 | READ64(*size); | 2344 | READ64(*size); |
2345 | bitmap[0] &= ~FATTR4_WORD0_SIZE; | 2345 | bitmap[0] &= ~FATTR4_WORD0_SIZE; |
2346 | } | 2346 | } |
2347 | dprintk("%s: file size=%Lu\n", __FUNCTION__, (unsigned long long)*size); | 2347 | dprintk("%s: file size=%Lu\n", __func__, (unsigned long long)*size); |
2348 | return 0; | 2348 | return 0; |
2349 | } | 2349 | } |
2350 | 2350 | ||
@@ -2360,7 +2360,7 @@ static int decode_attr_link_support(struct xdr_stream *xdr, uint32_t *bitmap, ui | |||
2360 | READ32(*res); | 2360 | READ32(*res); |
2361 | bitmap[0] &= ~FATTR4_WORD0_LINK_SUPPORT; | 2361 | bitmap[0] &= ~FATTR4_WORD0_LINK_SUPPORT; |
2362 | } | 2362 | } |
2363 | dprintk("%s: link support=%s\n", __FUNCTION__, *res == 0 ? "false" : "true"); | 2363 | dprintk("%s: link support=%s\n", __func__, *res == 0 ? "false" : "true"); |
2364 | return 0; | 2364 | return 0; |
2365 | } | 2365 | } |
2366 | 2366 | ||
@@ -2376,7 +2376,7 @@ static int decode_attr_symlink_support(struct xdr_stream *xdr, uint32_t *bitmap, | |||
2376 | READ32(*res); | 2376 | READ32(*res); |
2377 | bitmap[0] &= ~FATTR4_WORD0_SYMLINK_SUPPORT; | 2377 | bitmap[0] &= ~FATTR4_WORD0_SYMLINK_SUPPORT; |
2378 | } | 2378 | } |
2379 | dprintk("%s: symlink support=%s\n", __FUNCTION__, *res == 0 ? "false" : "true"); | 2379 | dprintk("%s: symlink support=%s\n", __func__, *res == 0 ? "false" : "true"); |
2380 | return 0; | 2380 | return 0; |
2381 | } | 2381 | } |
2382 | 2382 | ||
@@ -2394,7 +2394,7 @@ static int decode_attr_fsid(struct xdr_stream *xdr, uint32_t *bitmap, struct nfs | |||
2394 | READ64(fsid->minor); | 2394 | READ64(fsid->minor); |
2395 | bitmap[0] &= ~FATTR4_WORD0_FSID; | 2395 | bitmap[0] &= ~FATTR4_WORD0_FSID; |
2396 | } | 2396 | } |
2397 | dprintk("%s: fsid=(0x%Lx/0x%Lx)\n", __FUNCTION__, | 2397 | dprintk("%s: fsid=(0x%Lx/0x%Lx)\n", __func__, |
2398 | (unsigned long long)fsid->major, | 2398 | (unsigned long long)fsid->major, |
2399 | (unsigned long long)fsid->minor); | 2399 | (unsigned long long)fsid->minor); |
2400 | return 0; | 2400 | return 0; |
@@ -2412,7 +2412,7 @@ static int decode_attr_lease_time(struct xdr_stream *xdr, uint32_t *bitmap, uint | |||
2412 | READ32(*res); | 2412 | READ32(*res); |
2413 | bitmap[0] &= ~FATTR4_WORD0_LEASE_TIME; | 2413 | bitmap[0] &= ~FATTR4_WORD0_LEASE_TIME; |
2414 | } | 2414 | } |
2415 | dprintk("%s: file size=%u\n", __FUNCTION__, (unsigned int)*res); | 2415 | dprintk("%s: file size=%u\n", __func__, (unsigned int)*res); |
2416 | return 0; | 2416 | return 0; |
2417 | } | 2417 | } |
2418 | 2418 | ||
@@ -2428,7 +2428,7 @@ static int decode_attr_aclsupport(struct xdr_stream *xdr, uint32_t *bitmap, uint | |||
2428 | READ32(*res); | 2428 | READ32(*res); |
2429 | bitmap[0] &= ~FATTR4_WORD0_ACLSUPPORT; | 2429 | bitmap[0] &= ~FATTR4_WORD0_ACLSUPPORT; |
2430 | } | 2430 | } |
2431 | dprintk("%s: ACLs supported=%u\n", __FUNCTION__, (unsigned int)*res); | 2431 | dprintk("%s: ACLs supported=%u\n", __func__, (unsigned int)*res); |
2432 | return 0; | 2432 | return 0; |
2433 | } | 2433 | } |
2434 | 2434 | ||
@@ -2444,7 +2444,7 @@ static int decode_attr_fileid(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t | |||
2444 | READ64(*fileid); | 2444 | READ64(*fileid); |
2445 | bitmap[0] &= ~FATTR4_WORD0_FILEID; | 2445 | bitmap[0] &= ~FATTR4_WORD0_FILEID; |
2446 | } | 2446 | } |
2447 | dprintk("%s: fileid=%Lu\n", __FUNCTION__, (unsigned long long)*fileid); | 2447 | dprintk("%s: fileid=%Lu\n", __func__, (unsigned long long)*fileid); |
2448 | return 0; | 2448 | return 0; |
2449 | } | 2449 | } |
2450 | 2450 | ||
@@ -2460,7 +2460,7 @@ static int decode_attr_mounted_on_fileid(struct xdr_stream *xdr, uint32_t *bitma | |||
2460 | READ64(*fileid); | 2460 | READ64(*fileid); |
2461 | bitmap[1] &= ~FATTR4_WORD1_MOUNTED_ON_FILEID; | 2461 | bitmap[1] &= ~FATTR4_WORD1_MOUNTED_ON_FILEID; |
2462 | } | 2462 | } |
2463 | dprintk("%s: fileid=%Lu\n", __FUNCTION__, (unsigned long long)*fileid); | 2463 | dprintk("%s: fileid=%Lu\n", __func__, (unsigned long long)*fileid); |
2464 | return 0; | 2464 | return 0; |
2465 | } | 2465 | } |
2466 | 2466 | ||
@@ -2477,7 +2477,7 @@ static int decode_attr_files_avail(struct xdr_stream *xdr, uint32_t *bitmap, uin | |||
2477 | READ64(*res); | 2477 | READ64(*res); |
2478 | bitmap[0] &= ~FATTR4_WORD0_FILES_AVAIL; | 2478 | bitmap[0] &= ~FATTR4_WORD0_FILES_AVAIL; |
2479 | } | 2479 | } |
2480 | dprintk("%s: files avail=%Lu\n", __FUNCTION__, (unsigned long long)*res); | 2480 | dprintk("%s: files avail=%Lu\n", __func__, (unsigned long long)*res); |
2481 | return status; | 2481 | return status; |
2482 | } | 2482 | } |
2483 | 2483 | ||
@@ -2494,7 +2494,7 @@ static int decode_attr_files_free(struct xdr_stream *xdr, uint32_t *bitmap, uint | |||
2494 | READ64(*res); | 2494 | READ64(*res); |
2495 | bitmap[0] &= ~FATTR4_WORD0_FILES_FREE; | 2495 | bitmap[0] &= ~FATTR4_WORD0_FILES_FREE; |
2496 | } | 2496 | } |
2497 | dprintk("%s: files free=%Lu\n", __FUNCTION__, (unsigned long long)*res); | 2497 | dprintk("%s: files free=%Lu\n", __func__, (unsigned long long)*res); |
2498 | return status; | 2498 | return status; |
2499 | } | 2499 | } |
2500 | 2500 | ||
@@ -2511,7 +2511,7 @@ static int decode_attr_files_total(struct xdr_stream *xdr, uint32_t *bitmap, uin | |||
2511 | READ64(*res); | 2511 | READ64(*res); |
2512 | bitmap[0] &= ~FATTR4_WORD0_FILES_TOTAL; | 2512 | bitmap[0] &= ~FATTR4_WORD0_FILES_TOTAL; |
2513 | } | 2513 | } |
2514 | dprintk("%s: files total=%Lu\n", __FUNCTION__, (unsigned long long)*res); | 2514 | dprintk("%s: files total=%Lu\n", __func__, (unsigned long long)*res); |
2515 | return status; | 2515 | return status; |
2516 | } | 2516 | } |
2517 | 2517 | ||
@@ -2569,7 +2569,7 @@ static int decode_attr_fs_locations(struct xdr_stream *xdr, uint32_t *bitmap, st | |||
2569 | status = 0; | 2569 | status = 0; |
2570 | if (unlikely(!(bitmap[0] & FATTR4_WORD0_FS_LOCATIONS))) | 2570 | if (unlikely(!(bitmap[0] & FATTR4_WORD0_FS_LOCATIONS))) |
2571 | goto out; | 2571 | goto out; |
2572 | dprintk("%s: fsroot ", __FUNCTION__); | 2572 | dprintk("%s: fsroot ", __func__); |
2573 | status = decode_pathname(xdr, &res->fs_path); | 2573 | status = decode_pathname(xdr, &res->fs_path); |
2574 | if (unlikely(status != 0)) | 2574 | if (unlikely(status != 0)) |
2575 | goto out; | 2575 | goto out; |
@@ -2586,7 +2586,7 @@ static int decode_attr_fs_locations(struct xdr_stream *xdr, uint32_t *bitmap, st | |||
2586 | READ32(m); | 2586 | READ32(m); |
2587 | 2587 | ||
2588 | loc->nservers = 0; | 2588 | loc->nservers = 0; |
2589 | dprintk("%s: servers ", __FUNCTION__); | 2589 | dprintk("%s: servers ", __func__); |
2590 | while (loc->nservers < m) { | 2590 | while (loc->nservers < m) { |
2591 | struct nfs4_string *server = &loc->servers[loc->nservers]; | 2591 | struct nfs4_string *server = &loc->servers[loc->nservers]; |
2592 | status = decode_opaque_inline(xdr, &server->len, &server->data); | 2592 | status = decode_opaque_inline(xdr, &server->len, &server->data); |
@@ -2599,7 +2599,7 @@ static int decode_attr_fs_locations(struct xdr_stream *xdr, uint32_t *bitmap, st | |||
2599 | unsigned int i; | 2599 | unsigned int i; |
2600 | dprintk("%s: using first %u of %u servers " | 2600 | dprintk("%s: using first %u of %u servers " |
2601 | "returned for location %u\n", | 2601 | "returned for location %u\n", |
2602 | __FUNCTION__, | 2602 | __func__, |
2603 | NFS4_FS_LOCATION_MAXSERVERS, | 2603 | NFS4_FS_LOCATION_MAXSERVERS, |
2604 | m, res->nlocations); | 2604 | m, res->nlocations); |
2605 | for (i = loc->nservers; i < m; i++) { | 2605 | for (i = loc->nservers; i < m; i++) { |
@@ -2618,7 +2618,7 @@ static int decode_attr_fs_locations(struct xdr_stream *xdr, uint32_t *bitmap, st | |||
2618 | res->nlocations++; | 2618 | res->nlocations++; |
2619 | } | 2619 | } |
2620 | out: | 2620 | out: |
2621 | dprintk("%s: fs_locations done, error = %d\n", __FUNCTION__, status); | 2621 | dprintk("%s: fs_locations done, error = %d\n", __func__, status); |
2622 | return status; | 2622 | return status; |
2623 | out_eio: | 2623 | out_eio: |
2624 | status = -EIO; | 2624 | status = -EIO; |
@@ -2638,7 +2638,7 @@ static int decode_attr_maxfilesize(struct xdr_stream *xdr, uint32_t *bitmap, uin | |||
2638 | READ64(*res); | 2638 | READ64(*res); |
2639 | bitmap[0] &= ~FATTR4_WORD0_MAXFILESIZE; | 2639 | bitmap[0] &= ~FATTR4_WORD0_MAXFILESIZE; |
2640 | } | 2640 | } |
2641 | dprintk("%s: maxfilesize=%Lu\n", __FUNCTION__, (unsigned long long)*res); | 2641 | dprintk("%s: maxfilesize=%Lu\n", __func__, (unsigned long long)*res); |
2642 | return status; | 2642 | return status; |
2643 | } | 2643 | } |
2644 | 2644 | ||
@@ -2655,7 +2655,7 @@ static int decode_attr_maxlink(struct xdr_stream *xdr, uint32_t *bitmap, uint32_ | |||
2655 | READ32(*maxlink); | 2655 | READ32(*maxlink); |
2656 | bitmap[0] &= ~FATTR4_WORD0_MAXLINK; | 2656 | bitmap[0] &= ~FATTR4_WORD0_MAXLINK; |
2657 | } | 2657 | } |
2658 | dprintk("%s: maxlink=%u\n", __FUNCTION__, *maxlink); | 2658 | dprintk("%s: maxlink=%u\n", __func__, *maxlink); |
2659 | return status; | 2659 | return status; |
2660 | } | 2660 | } |
2661 | 2661 | ||
@@ -2672,7 +2672,7 @@ static int decode_attr_maxname(struct xdr_stream *xdr, uint32_t *bitmap, uint32_ | |||
2672 | READ32(*maxname); | 2672 | READ32(*maxname); |
2673 | bitmap[0] &= ~FATTR4_WORD0_MAXNAME; | 2673 | bitmap[0] &= ~FATTR4_WORD0_MAXNAME; |
2674 | } | 2674 | } |
2675 | dprintk("%s: maxname=%u\n", __FUNCTION__, *maxname); | 2675 | dprintk("%s: maxname=%u\n", __func__, *maxname); |
2676 | return status; | 2676 | return status; |
2677 | } | 2677 | } |
2678 | 2678 | ||
@@ -2693,7 +2693,7 @@ static int decode_attr_maxread(struct xdr_stream *xdr, uint32_t *bitmap, uint32_ | |||
2693 | *res = (uint32_t)maxread; | 2693 | *res = (uint32_t)maxread; |
2694 | bitmap[0] &= ~FATTR4_WORD0_MAXREAD; | 2694 | bitmap[0] &= ~FATTR4_WORD0_MAXREAD; |
2695 | } | 2695 | } |
2696 | dprintk("%s: maxread=%lu\n", __FUNCTION__, (unsigned long)*res); | 2696 | dprintk("%s: maxread=%lu\n", __func__, (unsigned long)*res); |
2697 | return status; | 2697 | return status; |
2698 | } | 2698 | } |
2699 | 2699 | ||
@@ -2714,7 +2714,7 @@ static int decode_attr_maxwrite(struct xdr_stream *xdr, uint32_t *bitmap, uint32 | |||
2714 | *res = (uint32_t)maxwrite; | 2714 | *res = (uint32_t)maxwrite; |
2715 | bitmap[0] &= ~FATTR4_WORD0_MAXWRITE; | 2715 | bitmap[0] &= ~FATTR4_WORD0_MAXWRITE; |
2716 | } | 2716 | } |
2717 | dprintk("%s: maxwrite=%lu\n", __FUNCTION__, (unsigned long)*res); | 2717 | dprintk("%s: maxwrite=%lu\n", __func__, (unsigned long)*res); |
2718 | return status; | 2718 | return status; |
2719 | } | 2719 | } |
2720 | 2720 | ||
@@ -2731,7 +2731,7 @@ static int decode_attr_mode(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t * | |||
2731 | *mode &= ~S_IFMT; | 2731 | *mode &= ~S_IFMT; |
2732 | bitmap[1] &= ~FATTR4_WORD1_MODE; | 2732 | bitmap[1] &= ~FATTR4_WORD1_MODE; |
2733 | } | 2733 | } |
2734 | dprintk("%s: file mode=0%o\n", __FUNCTION__, (unsigned int)*mode); | 2734 | dprintk("%s: file mode=0%o\n", __func__, (unsigned int)*mode); |
2735 | return 0; | 2735 | return 0; |
2736 | } | 2736 | } |
2737 | 2737 | ||
@@ -2747,7 +2747,7 @@ static int decode_attr_nlink(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t | |||
2747 | READ32(*nlink); | 2747 | READ32(*nlink); |
2748 | bitmap[1] &= ~FATTR4_WORD1_NUMLINKS; | 2748 | bitmap[1] &= ~FATTR4_WORD1_NUMLINKS; |
2749 | } | 2749 | } |
2750 | dprintk("%s: nlink=%u\n", __FUNCTION__, (unsigned int)*nlink); | 2750 | dprintk("%s: nlink=%u\n", __func__, (unsigned int)*nlink); |
2751 | return 0; | 2751 | return 0; |
2752 | } | 2752 | } |
2753 | 2753 | ||
@@ -2766,13 +2766,13 @@ static int decode_attr_owner(struct xdr_stream *xdr, uint32_t *bitmap, struct nf | |||
2766 | if (len < XDR_MAX_NETOBJ) { | 2766 | if (len < XDR_MAX_NETOBJ) { |
2767 | if (nfs_map_name_to_uid(clp, (char *)p, len, uid) != 0) | 2767 | if (nfs_map_name_to_uid(clp, (char *)p, len, uid) != 0) |
2768 | dprintk("%s: nfs_map_name_to_uid failed!\n", | 2768 | dprintk("%s: nfs_map_name_to_uid failed!\n", |
2769 | __FUNCTION__); | 2769 | __func__); |
2770 | } else | 2770 | } else |
2771 | dprintk("%s: name too long (%u)!\n", | 2771 | dprintk("%s: name too long (%u)!\n", |
2772 | __FUNCTION__, len); | 2772 | __func__, len); |
2773 | bitmap[1] &= ~FATTR4_WORD1_OWNER; | 2773 | bitmap[1] &= ~FATTR4_WORD1_OWNER; |
2774 | } | 2774 | } |
2775 | dprintk("%s: uid=%d\n", __FUNCTION__, (int)*uid); | 2775 | dprintk("%s: uid=%d\n", __func__, (int)*uid); |
2776 | return 0; | 2776 | return 0; |
2777 | } | 2777 | } |
2778 | 2778 | ||
@@ -2791,13 +2791,13 @@ static int decode_attr_group(struct xdr_stream *xdr, uint32_t *bitmap, struct nf | |||
2791 | if (len < XDR_MAX_NETOBJ) { | 2791 | if (len < XDR_MAX_NETOBJ) { |
2792 | if (nfs_map_group_to_gid(clp, (char *)p, len, gid) != 0) | 2792 | if (nfs_map_group_to_gid(clp, (char *)p, len, gid) != 0) |
2793 | dprintk("%s: nfs_map_group_to_gid failed!\n", | 2793 | dprintk("%s: nfs_map_group_to_gid failed!\n", |
2794 | __FUNCTION__); | 2794 | __func__); |
2795 | } else | 2795 | } else |
2796 | dprintk("%s: name too long (%u)!\n", | 2796 | dprintk("%s: name too long (%u)!\n", |
2797 | __FUNCTION__, len); | 2797 | __func__, len); |
2798 | bitmap[1] &= ~FATTR4_WORD1_OWNER_GROUP; | 2798 | bitmap[1] &= ~FATTR4_WORD1_OWNER_GROUP; |
2799 | } | 2799 | } |
2800 | dprintk("%s: gid=%d\n", __FUNCTION__, (int)*gid); | 2800 | dprintk("%s: gid=%d\n", __func__, (int)*gid); |
2801 | return 0; | 2801 | return 0; |
2802 | } | 2802 | } |
2803 | 2803 | ||
@@ -2820,7 +2820,7 @@ static int decode_attr_rdev(struct xdr_stream *xdr, uint32_t *bitmap, dev_t *rde | |||
2820 | *rdev = tmp; | 2820 | *rdev = tmp; |
2821 | bitmap[1] &= ~ FATTR4_WORD1_RAWDEV; | 2821 | bitmap[1] &= ~ FATTR4_WORD1_RAWDEV; |
2822 | } | 2822 | } |
2823 | dprintk("%s: rdev=(0x%x:0x%x)\n", __FUNCTION__, major, minor); | 2823 | dprintk("%s: rdev=(0x%x:0x%x)\n", __func__, major, minor); |
2824 | return 0; | 2824 | return 0; |
2825 | } | 2825 | } |
2826 | 2826 | ||
@@ -2837,7 +2837,7 @@ static int decode_attr_space_avail(struct xdr_stream *xdr, uint32_t *bitmap, uin | |||
2837 | READ64(*res); | 2837 | READ64(*res); |
2838 | bitmap[1] &= ~FATTR4_WORD1_SPACE_AVAIL; | 2838 | bitmap[1] &= ~FATTR4_WORD1_SPACE_AVAIL; |
2839 | } | 2839 | } |
2840 | dprintk("%s: space avail=%Lu\n", __FUNCTION__, (unsigned long long)*res); | 2840 | dprintk("%s: space avail=%Lu\n", __func__, (unsigned long long)*res); |
2841 | return status; | 2841 | return status; |
2842 | } | 2842 | } |
2843 | 2843 | ||
@@ -2854,7 +2854,7 @@ static int decode_attr_space_free(struct xdr_stream *xdr, uint32_t *bitmap, uint | |||
2854 | READ64(*res); | 2854 | READ64(*res); |
2855 | bitmap[1] &= ~FATTR4_WORD1_SPACE_FREE; | 2855 | bitmap[1] &= ~FATTR4_WORD1_SPACE_FREE; |
2856 | } | 2856 | } |
2857 | dprintk("%s: space free=%Lu\n", __FUNCTION__, (unsigned long long)*res); | 2857 | dprintk("%s: space free=%Lu\n", __func__, (unsigned long long)*res); |
2858 | return status; | 2858 | return status; |
2859 | } | 2859 | } |
2860 | 2860 | ||
@@ -2871,7 +2871,7 @@ static int decode_attr_space_total(struct xdr_stream *xdr, uint32_t *bitmap, uin | |||
2871 | READ64(*res); | 2871 | READ64(*res); |
2872 | bitmap[1] &= ~FATTR4_WORD1_SPACE_TOTAL; | 2872 | bitmap[1] &= ~FATTR4_WORD1_SPACE_TOTAL; |
2873 | } | 2873 | } |
2874 | dprintk("%s: space total=%Lu\n", __FUNCTION__, (unsigned long long)*res); | 2874 | dprintk("%s: space total=%Lu\n", __func__, (unsigned long long)*res); |
2875 | return status; | 2875 | return status; |
2876 | } | 2876 | } |
2877 | 2877 | ||
@@ -2887,7 +2887,7 @@ static int decode_attr_space_used(struct xdr_stream *xdr, uint32_t *bitmap, uint | |||
2887 | READ64(*used); | 2887 | READ64(*used); |
2888 | bitmap[1] &= ~FATTR4_WORD1_SPACE_USED; | 2888 | bitmap[1] &= ~FATTR4_WORD1_SPACE_USED; |
2889 | } | 2889 | } |
2890 | dprintk("%s: space used=%Lu\n", __FUNCTION__, | 2890 | dprintk("%s: space used=%Lu\n", __func__, |
2891 | (unsigned long long)*used); | 2891 | (unsigned long long)*used); |
2892 | return 0; | 2892 | return 0; |
2893 | } | 2893 | } |
@@ -2918,7 +2918,7 @@ static int decode_attr_time_access(struct xdr_stream *xdr, uint32_t *bitmap, str | |||
2918 | status = decode_attr_time(xdr, time); | 2918 | status = decode_attr_time(xdr, time); |
2919 | bitmap[1] &= ~FATTR4_WORD1_TIME_ACCESS; | 2919 | bitmap[1] &= ~FATTR4_WORD1_TIME_ACCESS; |
2920 | } | 2920 | } |
2921 | dprintk("%s: atime=%ld\n", __FUNCTION__, (long)time->tv_sec); | 2921 | dprintk("%s: atime=%ld\n", __func__, (long)time->tv_sec); |
2922 | return status; | 2922 | return status; |
2923 | } | 2923 | } |
2924 | 2924 | ||
@@ -2934,7 +2934,7 @@ static int decode_attr_time_metadata(struct xdr_stream *xdr, uint32_t *bitmap, s | |||
2934 | status = decode_attr_time(xdr, time); | 2934 | status = decode_attr_time(xdr, time); |
2935 | bitmap[1] &= ~FATTR4_WORD1_TIME_METADATA; | 2935 | bitmap[1] &= ~FATTR4_WORD1_TIME_METADATA; |
2936 | } | 2936 | } |
2937 | dprintk("%s: ctime=%ld\n", __FUNCTION__, (long)time->tv_sec); | 2937 | dprintk("%s: ctime=%ld\n", __func__, (long)time->tv_sec); |
2938 | return status; | 2938 | return status; |
2939 | } | 2939 | } |
2940 | 2940 | ||
@@ -2950,7 +2950,7 @@ static int decode_attr_time_modify(struct xdr_stream *xdr, uint32_t *bitmap, str | |||
2950 | status = decode_attr_time(xdr, time); | 2950 | status = decode_attr_time(xdr, time); |
2951 | bitmap[1] &= ~FATTR4_WORD1_TIME_MODIFY; | 2951 | bitmap[1] &= ~FATTR4_WORD1_TIME_MODIFY; |
2952 | } | 2952 | } |
2953 | dprintk("%s: mtime=%ld\n", __FUNCTION__, (long)time->tv_sec); | 2953 | dprintk("%s: mtime=%ld\n", __func__, (long)time->tv_sec); |
2954 | return status; | 2954 | return status; |
2955 | } | 2955 | } |
2956 | 2956 | ||
@@ -2962,7 +2962,7 @@ static int verify_attr_len(struct xdr_stream *xdr, __be32 *savep, uint32_t attrl | |||
2962 | if (unlikely(attrwords != nwords)) { | 2962 | if (unlikely(attrwords != nwords)) { |
2963 | dprintk("%s: server returned incorrect attribute length: " | 2963 | dprintk("%s: server returned incorrect attribute length: " |
2964 | "%u %c %u\n", | 2964 | "%u %c %u\n", |
2965 | __FUNCTION__, | 2965 | __func__, |
2966 | attrwords << 2, | 2966 | attrwords << 2, |
2967 | (attrwords < nwords) ? '<' : '>', | 2967 | (attrwords < nwords) ? '<' : '>', |
2968 | nwords << 2); | 2968 | nwords << 2); |
@@ -3067,7 +3067,7 @@ static int decode_server_caps(struct xdr_stream *xdr, struct nfs4_server_caps_re | |||
3067 | goto xdr_error; | 3067 | goto xdr_error; |
3068 | status = verify_attr_len(xdr, savep, attrlen); | 3068 | status = verify_attr_len(xdr, savep, attrlen); |
3069 | xdr_error: | 3069 | xdr_error: |
3070 | dprintk("%s: xdr returned %d!\n", __FUNCTION__, -status); | 3070 | dprintk("%s: xdr returned %d!\n", __func__, -status); |
3071 | return status; | 3071 | return status; |
3072 | } | 3072 | } |
3073 | 3073 | ||
@@ -3100,7 +3100,7 @@ static int decode_statfs(struct xdr_stream *xdr, struct nfs_fsstat *fsstat) | |||
3100 | 3100 | ||
3101 | status = verify_attr_len(xdr, savep, attrlen); | 3101 | status = verify_attr_len(xdr, savep, attrlen); |
3102 | xdr_error: | 3102 | xdr_error: |
3103 | dprintk("%s: xdr returned %d!\n", __FUNCTION__, -status); | 3103 | dprintk("%s: xdr returned %d!\n", __func__, -status); |
3104 | return status; | 3104 | return status; |
3105 | } | 3105 | } |
3106 | 3106 | ||
@@ -3125,7 +3125,7 @@ static int decode_pathconf(struct xdr_stream *xdr, struct nfs_pathconf *pathconf | |||
3125 | 3125 | ||
3126 | status = verify_attr_len(xdr, savep, attrlen); | 3126 | status = verify_attr_len(xdr, savep, attrlen); |
3127 | xdr_error: | 3127 | xdr_error: |
3128 | dprintk("%s: xdr returned %d!\n", __FUNCTION__, -status); | 3128 | dprintk("%s: xdr returned %d!\n", __func__, -status); |
3129 | return status; | 3129 | return status; |
3130 | } | 3130 | } |
3131 | 3131 | ||
@@ -3193,7 +3193,7 @@ static int decode_getfattr(struct xdr_stream *xdr, struct nfs_fattr *fattr, cons | |||
3193 | if ((status = verify_attr_len(xdr, savep, attrlen)) == 0) | 3193 | if ((status = verify_attr_len(xdr, savep, attrlen)) == 0) |
3194 | fattr->valid = NFS_ATTR_FATTR | NFS_ATTR_FATTR_V3 | NFS_ATTR_FATTR_V4; | 3194 | fattr->valid = NFS_ATTR_FATTR | NFS_ATTR_FATTR_V3 | NFS_ATTR_FATTR_V4; |
3195 | xdr_error: | 3195 | xdr_error: |
3196 | dprintk("%s: xdr returned %d\n", __FUNCTION__, -status); | 3196 | dprintk("%s: xdr returned %d\n", __func__, -status); |
3197 | return status; | 3197 | return status; |
3198 | } | 3198 | } |
3199 | 3199 | ||
@@ -3226,7 +3226,7 @@ static int decode_fsinfo(struct xdr_stream *xdr, struct nfs_fsinfo *fsinfo) | |||
3226 | 3226 | ||
3227 | status = verify_attr_len(xdr, savep, attrlen); | 3227 | status = verify_attr_len(xdr, savep, attrlen); |
3228 | xdr_error: | 3228 | xdr_error: |
3229 | dprintk("%s: xdr returned %d!\n", __FUNCTION__, -status); | 3229 | dprintk("%s: xdr returned %d!\n", __func__, -status); |
3230 | return status; | 3230 | return status; |
3231 | } | 3231 | } |
3232 | 3232 | ||
@@ -3418,7 +3418,7 @@ static int decode_open(struct xdr_stream *xdr, struct nfs_openres *res) | |||
3418 | 3418 | ||
3419 | return decode_delegation(xdr, res); | 3419 | return decode_delegation(xdr, res); |
3420 | xdr_error: | 3420 | xdr_error: |
3421 | dprintk("%s: Bitmap too large! Length = %u\n", __FUNCTION__, bmlen); | 3421 | dprintk("%s: Bitmap too large! Length = %u\n", __func__, bmlen); |
3422 | return -EIO; | 3422 | return -EIO; |
3423 | } | 3423 | } |
3424 | 3424 | ||
@@ -3575,7 +3575,7 @@ short_pkt: | |||
3575 | * the call was successful, but incomplete. The caller can retry the | 3575 | * the call was successful, but incomplete. The caller can retry the |
3576 | * readdir starting at the last cookie. | 3576 | * readdir starting at the last cookie. |
3577 | */ | 3577 | */ |
3578 | dprintk("%s: short packet at entry %d\n", __FUNCTION__, nr); | 3578 | dprintk("%s: short packet at entry %d\n", __func__, nr); |
3579 | entry[0] = entry[1] = 0; | 3579 | entry[0] = entry[1] = 0; |
3580 | if (nr) | 3580 | if (nr) |
3581 | goto out; | 3581 | goto out; |
diff --git a/fs/nfs/proc.c b/fs/nfs/proc.c index 5ccf7faee19c..03599bfe81cf 100644 --- a/fs/nfs/proc.c +++ b/fs/nfs/proc.c | |||
@@ -63,17 +63,17 @@ nfs_proc_get_root(struct nfs_server *server, struct nfs_fh *fhandle, | |||
63 | }; | 63 | }; |
64 | int status; | 64 | int status; |
65 | 65 | ||
66 | dprintk("%s: call getattr\n", __FUNCTION__); | 66 | dprintk("%s: call getattr\n", __func__); |
67 | nfs_fattr_init(fattr); | 67 | nfs_fattr_init(fattr); |
68 | status = rpc_call_sync(server->nfs_client->cl_rpcclient, &msg, 0); | 68 | status = rpc_call_sync(server->nfs_client->cl_rpcclient, &msg, 0); |
69 | dprintk("%s: reply getattr: %d\n", __FUNCTION__, status); | 69 | dprintk("%s: reply getattr: %d\n", __func__, status); |
70 | if (status) | 70 | if (status) |
71 | return status; | 71 | return status; |
72 | dprintk("%s: call statfs\n", __FUNCTION__); | 72 | dprintk("%s: call statfs\n", __func__); |
73 | msg.rpc_proc = &nfs_procedures[NFSPROC_STATFS]; | 73 | msg.rpc_proc = &nfs_procedures[NFSPROC_STATFS]; |
74 | msg.rpc_resp = &fsinfo; | 74 | msg.rpc_resp = &fsinfo; |
75 | status = rpc_call_sync(server->nfs_client->cl_rpcclient, &msg, 0); | 75 | status = rpc_call_sync(server->nfs_client->cl_rpcclient, &msg, 0); |
76 | dprintk("%s: reply statfs: %d\n", __FUNCTION__, status); | 76 | dprintk("%s: reply statfs: %d\n", __func__, status); |
77 | if (status) | 77 | if (status) |
78 | return status; | 78 | return status; |
79 | info->rtmax = NFS_MAXDATA; | 79 | info->rtmax = NFS_MAXDATA; |
diff --git a/fs/nfs/read.c b/fs/nfs/read.c index 16f57e0af999..40d17987d0e8 100644 --- a/fs/nfs/read.c +++ b/fs/nfs/read.c | |||
@@ -329,7 +329,7 @@ int nfs_readpage_result(struct rpc_task *task, struct nfs_read_data *data) | |||
329 | { | 329 | { |
330 | int status; | 330 | int status; |
331 | 331 | ||
332 | dprintk("NFS: %s: %5u, (status %d)\n", __FUNCTION__, task->tk_pid, | 332 | dprintk("NFS: %s: %5u, (status %d)\n", __func__, task->tk_pid, |
333 | task->tk_status); | 333 | task->tk_status); |
334 | 334 | ||
335 | status = NFS_PROTO(data->inode)->read_done(task, data); | 335 | status = NFS_PROTO(data->inode)->read_done(task, data); |
diff --git a/fs/nfs/super.c b/fs/nfs/super.c index 7226a506f3ca..2a4a024a4e7b 100644 --- a/fs/nfs/super.c +++ b/fs/nfs/super.c | |||
@@ -405,7 +405,7 @@ static int nfs_statfs(struct dentry *dentry, struct kstatfs *buf) | |||
405 | return 0; | 405 | return 0; |
406 | 406 | ||
407 | out_err: | 407 | out_err: |
408 | dprintk("%s: statfs error = %d\n", __FUNCTION__, -error); | 408 | dprintk("%s: statfs error = %d\n", __func__, -error); |
409 | unlock_kernel(); | 409 | unlock_kernel(); |
410 | return error; | 410 | return error; |
411 | } | 411 | } |
@@ -2015,6 +2015,10 @@ static int nfs4_get_sb(struct file_system_type *fs_type, | |||
2015 | goto error_splat_super; | 2015 | goto error_splat_super; |
2016 | } | 2016 | } |
2017 | 2017 | ||
2018 | error = security_sb_set_mnt_opts(s, &data.lsm_opts); | ||
2019 | if (error) | ||
2020 | goto error_splat_root; | ||
2021 | |||
2018 | s->s_flags |= MS_ACTIVE; | 2022 | s->s_flags |= MS_ACTIVE; |
2019 | mnt->mnt_sb = s; | 2023 | mnt->mnt_sb = s; |
2020 | mnt->mnt_root = mntroot; | 2024 | mnt->mnt_root = mntroot; |
@@ -2031,6 +2035,8 @@ out_free: | |||
2031 | nfs_free_server(server); | 2035 | nfs_free_server(server); |
2032 | goto out; | 2036 | goto out; |
2033 | 2037 | ||
2038 | error_splat_root: | ||
2039 | dput(mntroot); | ||
2034 | error_splat_super: | 2040 | error_splat_super: |
2035 | up_write(&s->s_umount); | 2041 | up_write(&s->s_umount); |
2036 | deactivate_super(s); | 2042 | deactivate_super(s); |
@@ -2114,6 +2120,8 @@ static int nfs4_xdev_get_sb(struct file_system_type *fs_type, int flags, | |||
2114 | mnt->mnt_sb = s; | 2120 | mnt->mnt_sb = s; |
2115 | mnt->mnt_root = mntroot; | 2121 | mnt->mnt_root = mntroot; |
2116 | 2122 | ||
2123 | security_sb_clone_mnt_opts(data->sb, s); | ||
2124 | |||
2117 | dprintk("<-- nfs4_xdev_get_sb() = 0\n"); | 2125 | dprintk("<-- nfs4_xdev_get_sb() = 0\n"); |
2118 | return 0; | 2126 | return 0; |
2119 | 2127 | ||
@@ -2197,6 +2205,8 @@ static int nfs4_referral_get_sb(struct file_system_type *fs_type, int flags, | |||
2197 | mnt->mnt_sb = s; | 2205 | mnt->mnt_sb = s; |
2198 | mnt->mnt_root = mntroot; | 2206 | mnt->mnt_root = mntroot; |
2199 | 2207 | ||
2208 | security_sb_clone_mnt_opts(data->sb, s); | ||
2209 | |||
2200 | dprintk("<-- nfs4_referral_get_sb() = 0\n"); | 2210 | dprintk("<-- nfs4_referral_get_sb() = 0\n"); |
2201 | return 0; | 2211 | return 0; |
2202 | 2212 | ||
diff --git a/fs/nfs/write.c b/fs/nfs/write.c index 1ade11d1ba07..6d8ace3e3259 100644 --- a/fs/nfs/write.c +++ b/fs/nfs/write.c | |||
@@ -415,7 +415,7 @@ nfs_dirty_request(struct nfs_page *req) | |||
415 | 415 | ||
416 | if (page == NULL || test_bit(PG_NEED_COMMIT, &req->wb_flags)) | 416 | if (page == NULL || test_bit(PG_NEED_COMMIT, &req->wb_flags)) |
417 | return 0; | 417 | return 0; |
418 | return !PageWriteback(req->wb_page); | 418 | return !PageWriteback(page); |
419 | } | 419 | } |
420 | 420 | ||
421 | #if defined(CONFIG_NFS_V3) || defined(CONFIG_NFS_V4) | 421 | #if defined(CONFIG_NFS_V3) || defined(CONFIG_NFS_V4) |
diff --git a/include/asm-arm/arch-omap/common.h b/include/asm-arm/arch-omap/common.h index 224e009e5296..36a3b62d4d8d 100644 --- a/include/asm-arm/arch-omap/common.h +++ b/include/asm-arm/arch-omap/common.h | |||
@@ -47,4 +47,8 @@ static inline int omap_register_i2c_bus(int bus_id, u32 clkrate, | |||
47 | } | 47 | } |
48 | #endif | 48 | #endif |
49 | 49 | ||
50 | void omap2_set_globals_242x(void); | ||
51 | void omap2_set_globals_243x(void); | ||
52 | void omap2_set_globals_343x(void); | ||
53 | |||
50 | #endif /* __ARCH_ARM_MACH_OMAP_COMMON_H */ | 54 | #endif /* __ARCH_ARM_MACH_OMAP_COMMON_H */ |
diff --git a/include/asm-arm/arch-omap/control.h b/include/asm-arm/arch-omap/control.h index 9944bb5d5330..59c0686f8be7 100644 --- a/include/asm-arm/arch-omap/control.h +++ b/include/asm-arm/arch-omap/control.h | |||
@@ -80,7 +80,7 @@ | |||
80 | #define OMAP24XX_CONTROL_SEC_TAP (OMAP2_CONTROL_GENERAL + 0x0064) | 80 | #define OMAP24XX_CONTROL_SEC_TAP (OMAP2_CONTROL_GENERAL + 0x0064) |
81 | #define OMAP24XX_CONTROL_OCM_PUB_RAM_ADD (OMAP2_CONTROL_GENERAL + 0x006c) | 81 | #define OMAP24XX_CONTROL_OCM_PUB_RAM_ADD (OMAP2_CONTROL_GENERAL + 0x006c) |
82 | #define OMAP24XX_CONTROL_EXT_SEC_RAM_START_ADD (OMAP2_CONTROL_GENERAL + 0x0070) | 82 | #define OMAP24XX_CONTROL_EXT_SEC_RAM_START_ADD (OMAP2_CONTROL_GENERAL + 0x0070) |
83 | #define OMAP24XX_CONTROL_EXT_SEC_RAM_STOP_ADD (OMAP2_CONTROL_GENERAL + 0x0074 | 83 | #define OMAP24XX_CONTROL_EXT_SEC_RAM_STOP_ADD (OMAP2_CONTROL_GENERAL + 0x0074) |
84 | #define OMAP24XX_CONTROL_SEC_STATUS (OMAP2_CONTROL_GENERAL + 0x0080) | 84 | #define OMAP24XX_CONTROL_SEC_STATUS (OMAP2_CONTROL_GENERAL + 0x0080) |
85 | #define OMAP24XX_CONTROL_SEC_ERR_STATUS (OMAP2_CONTROL_GENERAL + 0x0084) | 85 | #define OMAP24XX_CONTROL_SEC_ERR_STATUS (OMAP2_CONTROL_GENERAL + 0x0084) |
86 | #define OMAP24XX_CONTROL_STATUS (OMAP2_CONTROL_GENERAL + 0x0088) | 86 | #define OMAP24XX_CONTROL_STATUS (OMAP2_CONTROL_GENERAL + 0x0088) |
diff --git a/include/asm-arm/arch-omap/mmc.h b/include/asm-arm/arch-omap/mmc.h index c9588f49eb52..7cfc5f258560 100644 --- a/include/asm-arm/arch-omap/mmc.h +++ b/include/asm-arm/arch-omap/mmc.h | |||
@@ -15,21 +15,16 @@ | |||
15 | #include <linux/device.h> | 15 | #include <linux/device.h> |
16 | #include <linux/mmc/host.h> | 16 | #include <linux/mmc/host.h> |
17 | 17 | ||
18 | #include <asm/arch/board.h> | ||
19 | |||
18 | #define OMAP_MMC_MAX_SLOTS 2 | 20 | #define OMAP_MMC_MAX_SLOTS 2 |
19 | 21 | ||
20 | struct omap_mmc_platform_data { | 22 | struct omap_mmc_platform_data { |
21 | struct omap_mmc_conf conf; | 23 | struct omap_mmc_conf conf; |
22 | 24 | ||
23 | unsigned enabled:1; | ||
24 | /* number of slots on board */ | 25 | /* number of slots on board */ |
25 | unsigned nr_slots:2; | 26 | unsigned nr_slots:2; |
26 | /* nomux means "standard" muxing is wrong on this board, and that | 27 | |
27 | * board-specific code handled it before common init logic. | ||
28 | */ | ||
29 | unsigned nomux:1; | ||
30 | /* 4 wire signaling is optional, and is only used for SD/SDIO and | ||
31 | * MMCv4 */ | ||
32 | unsigned wire4:1; | ||
33 | /* set if your board has components or wiring that limits the | 28 | /* set if your board has components or wiring that limits the |
34 | * maximum frequency on the MMC bus */ | 29 | * maximum frequency on the MMC bus */ |
35 | unsigned int max_freq; | 30 | unsigned int max_freq; |
@@ -40,6 +35,11 @@ struct omap_mmc_platform_data { | |||
40 | * not supported */ | 35 | * not supported */ |
41 | int (* init)(struct device *dev); | 36 | int (* init)(struct device *dev); |
42 | void (* cleanup)(struct device *dev); | 37 | void (* cleanup)(struct device *dev); |
38 | void (* shutdown)(struct device *dev); | ||
39 | |||
40 | /* To handle board related suspend/resume functionality for MMC */ | ||
41 | int (*suspend)(struct device *dev, int slot); | ||
42 | int (*resume)(struct device *dev, int slot); | ||
43 | 43 | ||
44 | struct omap_mmc_slot_data { | 44 | struct omap_mmc_slot_data { |
45 | int (* set_bus_mode)(struct device *dev, int slot, int bus_mode); | 45 | int (* set_bus_mode)(struct device *dev, int slot, int bus_mode); |
@@ -56,13 +56,19 @@ struct omap_mmc_platform_data { | |||
56 | 56 | ||
57 | const char *name; | 57 | const char *name; |
58 | u32 ocr_mask; | 58 | u32 ocr_mask; |
59 | |||
60 | /* Card detection IRQs */ | ||
61 | int card_detect_irq; | ||
62 | int (* card_detect)(int irq); | ||
63 | |||
64 | unsigned int ban_openended:1; | ||
65 | |||
59 | } slots[OMAP_MMC_MAX_SLOTS]; | 66 | } slots[OMAP_MMC_MAX_SLOTS]; |
60 | }; | 67 | }; |
61 | 68 | ||
62 | extern void omap_set_mmc_info(int host, const struct omap_mmc_platform_data *info); | 69 | extern void omap_set_mmc_info(int host, const struct omap_mmc_platform_data *info); |
63 | 70 | ||
64 | /* called from board-specific card detection service routine */ | 71 | /* called from board-specific card detection service routine */ |
65 | extern void omap_mmc_notify_card_detect(struct device *dev, int slot, int detected); | ||
66 | extern void omap_mmc_notify_cover_event(struct device *dev, int slot, int is_closed); | 72 | extern void omap_mmc_notify_cover_event(struct device *dev, int slot, int is_closed); |
67 | 73 | ||
68 | #endif | 74 | #endif |
diff --git a/include/asm-arm/arch-sa1100/irqs.h b/include/asm-arm/arch-sa1100/irqs.h index d7940683efb1..7bf80484bb77 100644 --- a/include/asm-arm/arch-sa1100/irqs.h +++ b/include/asm-arm/arch-sa1100/irqs.h | |||
@@ -141,7 +141,7 @@ | |||
141 | #define IRQ_LOCOMO_LT (IRQ_BOARD_END + 17) | 141 | #define IRQ_LOCOMO_LT (IRQ_BOARD_END + 17) |
142 | #define IRQ_LOCOMO_SPI_RFR (IRQ_BOARD_END + 18) | 142 | #define IRQ_LOCOMO_SPI_RFR (IRQ_BOARD_END + 18) |
143 | #define IRQ_LOCOMO_SPI_RFW (IRQ_BOARD_END + 19) | 143 | #define IRQ_LOCOMO_SPI_RFW (IRQ_BOARD_END + 19) |
144 | #define IRQ_LOCOMO_SPI_OVRN (IRQ_BOARD_END + 20) | 144 | #define IRQ_LOCOMO_SPI_REND (IRQ_BOARD_END + 20) |
145 | #define IRQ_LOCOMO_SPI_TEND (IRQ_BOARD_END + 21) | 145 | #define IRQ_LOCOMO_SPI_TEND (IRQ_BOARD_END + 21) |
146 | 146 | ||
147 | /* | 147 | /* |
diff --git a/include/asm-arm/hardware/locomo.h b/include/asm-arm/hardware/locomo.h index adab77780ed3..fb0645de6f31 100644 --- a/include/asm-arm/hardware/locomo.h +++ b/include/asm-arm/hardware/locomo.h | |||
@@ -58,6 +58,11 @@ | |||
58 | #define LOCOMO_SPIMD 0x00 /* SPI mode setting */ | 58 | #define LOCOMO_SPIMD 0x00 /* SPI mode setting */ |
59 | #define LOCOMO_SPICT 0x04 /* SPI mode control */ | 59 | #define LOCOMO_SPICT 0x04 /* SPI mode control */ |
60 | #define LOCOMO_SPIST 0x08 /* SPI status */ | 60 | #define LOCOMO_SPIST 0x08 /* SPI status */ |
61 | #define LOCOMO_SPI_TEND (1 << 3) /* Transfer end bit */ | ||
62 | #define LOCOMO_SPI_REND (1 << 2) /* Receive end bit */ | ||
63 | #define LOCOMO_SPI_RFW (1 << 1) /* write buffer bit */ | ||
64 | #define LOCOMO_SPI_RFR (1) /* read buffer bit */ | ||
65 | |||
61 | #define LOCOMO_SPIIS 0x10 /* SPI interrupt status */ | 66 | #define LOCOMO_SPIIS 0x10 /* SPI interrupt status */ |
62 | #define LOCOMO_SPIWE 0x14 /* SPI interrupt status write enable */ | 67 | #define LOCOMO_SPIWE 0x14 /* SPI interrupt status write enable */ |
63 | #define LOCOMO_SPIIE 0x18 /* SPI interrupt enable */ | 68 | #define LOCOMO_SPIIE 0x18 /* SPI interrupt enable */ |
@@ -66,16 +71,12 @@ | |||
66 | #define LOCOMO_SPIRD 0x24 /* SPI receive data read */ | 71 | #define LOCOMO_SPIRD 0x24 /* SPI receive data read */ |
67 | #define LOCOMO_SPITS 0x28 /* SPI transfer data shift */ | 72 | #define LOCOMO_SPITS 0x28 /* SPI transfer data shift */ |
68 | #define LOCOMO_SPIRS 0x2C /* SPI receive data shift */ | 73 | #define LOCOMO_SPIRS 0x2C /* SPI receive data shift */ |
69 | #define LOCOMO_SPI_TEND (1 << 3) /* Transfer end bit */ | ||
70 | #define LOCOMO_SPI_OVRN (1 << 2) /* Over Run bit */ | ||
71 | #define LOCOMO_SPI_RFW (1 << 1) /* write buffer bit */ | ||
72 | #define LOCOMO_SPI_RFR (1) /* read buffer bit */ | ||
73 | 74 | ||
74 | /* GPIO */ | 75 | /* GPIO */ |
75 | #define LOCOMO_GPD 0x90 /* GPIO direction */ | 76 | #define LOCOMO_GPD 0x90 /* GPIO direction */ |
76 | #define LOCOMO_GPE 0x94 /* GPIO input enable */ | 77 | #define LOCOMO_GPE 0x94 /* GPIO input enable */ |
77 | #define LOCOMO_GPL 0x98 /* GPIO level */ | 78 | #define LOCOMO_GPL 0x98 /* GPIO level */ |
78 | #define LOCOMO_GPO 0x9c /* GPIO out data setteing */ | 79 | #define LOCOMO_GPO 0x9c /* GPIO out data setting */ |
79 | #define LOCOMO_GRIE 0xa0 /* GPIO rise detection */ | 80 | #define LOCOMO_GRIE 0xa0 /* GPIO rise detection */ |
80 | #define LOCOMO_GFIE 0xa4 /* GPIO fall detection */ | 81 | #define LOCOMO_GFIE 0xa4 /* GPIO fall detection */ |
81 | #define LOCOMO_GIS 0xa8 /* GPIO edge detection status */ | 82 | #define LOCOMO_GIS 0xa8 /* GPIO edge detection status */ |
@@ -96,6 +97,9 @@ | |||
96 | #define LOCOMO_GPIO_DAC_SDATA LOCOMO_GPIO(10) | 97 | #define LOCOMO_GPIO_DAC_SDATA LOCOMO_GPIO(10) |
97 | #define LOCOMO_GPIO_DAC_SCK LOCOMO_GPIO(11) | 98 | #define LOCOMO_GPIO_DAC_SCK LOCOMO_GPIO(11) |
98 | #define LOCOMO_GPIO_DAC_SLOAD LOCOMO_GPIO(12) | 99 | #define LOCOMO_GPIO_DAC_SLOAD LOCOMO_GPIO(12) |
100 | #define LOCOMO_GPIO_CARD_DETECT LOCOMO_GPIO(13) | ||
101 | #define LOCOMO_GPIO_WRITE_PROT LOCOMO_GPIO(14) | ||
102 | #define LOCOMO_GPIO_CARD_POWER LOCOMO_GPIO(15) | ||
99 | 103 | ||
100 | /* Start the definitions of the devices. Each device has an initial | 104 | /* Start the definitions of the devices. Each device has an initial |
101 | * base address and a series of offsets from that base address. */ | 105 | * base address and a series of offsets from that base address. */ |
@@ -122,7 +126,7 @@ | |||
122 | /* Audio controller */ | 126 | /* Audio controller */ |
123 | #define LOCOMO_AUDIO 0x54 | 127 | #define LOCOMO_AUDIO 0x54 |
124 | #define LOCOMO_ACC 0x00 /* Audio clock */ | 128 | #define LOCOMO_ACC 0x00 /* Audio clock */ |
125 | #define LOCOMO_PAIF 0x7C /* PCM audio interface */ | 129 | #define LOCOMO_PAIF 0xD0 /* PCM audio interface */ |
126 | /* Audio clock */ | 130 | /* Audio clock */ |
127 | #define LOCOMO_ACC_XON 0x80 | 131 | #define LOCOMO_ACC_XON 0x80 |
128 | #define LOCOMO_ACC_XEN 0x40 | 132 | #define LOCOMO_ACC_XEN 0x40 |
@@ -162,7 +166,7 @@ extern struct bus_type locomo_bus_type; | |||
162 | #define LOCOMO_DEVID_AUDIO 3 | 166 | #define LOCOMO_DEVID_AUDIO 3 |
163 | #define LOCOMO_DEVID_LED 4 | 167 | #define LOCOMO_DEVID_LED 4 |
164 | #define LOCOMO_DEVID_UART 5 | 168 | #define LOCOMO_DEVID_UART 5 |
165 | #define LOCOMO_DEVID_SPI 6 | 169 | #define LOCOMO_DEVID_SPI 6 |
166 | 170 | ||
167 | struct locomo_dev { | 171 | struct locomo_dev { |
168 | struct device dev; | 172 | struct device dev; |
@@ -204,7 +208,6 @@ int locomo_gpio_read_level(struct device *dev, unsigned int bits); | |||
204 | int locomo_gpio_read_output(struct device *dev, unsigned int bits); | 208 | int locomo_gpio_read_output(struct device *dev, unsigned int bits); |
205 | void locomo_gpio_write(struct device *dev, unsigned int bits, unsigned int set); | 209 | void locomo_gpio_write(struct device *dev, unsigned int bits, unsigned int set); |
206 | 210 | ||
207 | |||
208 | /* M62332 control function */ | 211 | /* M62332 control function */ |
209 | void locomo_m62332_senddata(struct locomo_dev *ldev, unsigned int dac_data, int channel); | 212 | void locomo_m62332_senddata(struct locomo_dev *ldev, unsigned int dac_data, int channel); |
210 | 213 | ||
diff --git a/include/asm-blackfin/bfin-global.h b/include/asm-blackfin/bfin-global.h index 716df7c85923..a9248d883675 100644 --- a/include/asm-blackfin/bfin-global.h +++ b/include/asm-blackfin/bfin-global.h | |||
@@ -37,7 +37,9 @@ | |||
37 | #include <linux/linkage.h> | 37 | #include <linux/linkage.h> |
38 | #include <linux/types.h> | 38 | #include <linux/types.h> |
39 | 39 | ||
40 | #if defined(CONFIG_DMA_UNCACHED_2M) | 40 | #if defined(CONFIG_DMA_UNCACHED_4M) |
41 | # define DMA_UNCACHED_REGION (4 * 1024 * 1024) | ||
42 | #elif defined(CONFIG_DMA_UNCACHED_2M) | ||
41 | # define DMA_UNCACHED_REGION (2 * 1024 * 1024) | 43 | # define DMA_UNCACHED_REGION (2 * 1024 * 1024) |
42 | #elif defined(CONFIG_DMA_UNCACHED_1M) | 44 | #elif defined(CONFIG_DMA_UNCACHED_1M) |
43 | # define DMA_UNCACHED_REGION (1024 * 1024) | 45 | # define DMA_UNCACHED_REGION (1024 * 1024) |
diff --git a/include/asm-blackfin/checksum.h b/include/asm-blackfin/checksum.h index 2638f2586d2f..6f6af2b8e9e0 100644 --- a/include/asm-blackfin/checksum.h +++ b/include/asm-blackfin/checksum.h | |||
@@ -15,7 +15,7 @@ | |||
15 | * | 15 | * |
16 | * it's best to have buff aligned on a 32-bit boundary | 16 | * it's best to have buff aligned on a 32-bit boundary |
17 | */ | 17 | */ |
18 | unsigned int csum_partial(const unsigned char *buff, int len, unsigned int sum); | 18 | __wsum csum_partial(const void *buff, int len, __wsum sum); |
19 | 19 | ||
20 | /* | 20 | /* |
21 | * the same as csum_partial, but copies from src while it | 21 | * the same as csum_partial, but copies from src while it |
@@ -25,8 +25,8 @@ unsigned int csum_partial(const unsigned char *buff, int len, unsigned int sum); | |||
25 | * better 64-bit) boundary | 25 | * better 64-bit) boundary |
26 | */ | 26 | */ |
27 | 27 | ||
28 | unsigned int csum_partial_copy(const unsigned char *src, unsigned char *dst, | 28 | __wsum csum_partial_copy(const void *src, void *dst, |
29 | int len, int sum); | 29 | int len, __wsum sum); |
30 | 30 | ||
31 | /* | 31 | /* |
32 | * the same as csum_partial_copy, but copies from user space. | 32 | * the same as csum_partial_copy, but copies from user space. |
@@ -35,20 +35,19 @@ unsigned int csum_partial_copy(const unsigned char *src, unsigned char *dst, | |||
35 | * better 64-bit) boundary | 35 | * better 64-bit) boundary |
36 | */ | 36 | */ |
37 | 37 | ||
38 | extern unsigned int csum_partial_copy_from_user(const unsigned char *src, | 38 | extern __wsum csum_partial_copy_from_user(const void __user *src, void *dst, |
39 | unsigned char *dst, int len, | 39 | int len, __wsum sum, int *csum_err); |
40 | int sum, int *csum_err); | ||
41 | 40 | ||
42 | #define csum_partial_copy_nocheck(src, dst, len, sum) \ | 41 | #define csum_partial_copy_nocheck(src, dst, len, sum) \ |
43 | csum_partial_copy((src), (dst), (len), (sum)) | 42 | csum_partial_copy((src), (dst), (len), (sum)) |
44 | 43 | ||
45 | unsigned short ip_fast_csum(unsigned char *iph, unsigned int ihl); | 44 | __sum16 ip_fast_csum(unsigned char *iph, unsigned int ihl); |
46 | 45 | ||
47 | /* | 46 | /* |
48 | * Fold a partial checksum | 47 | * Fold a partial checksum |
49 | */ | 48 | */ |
50 | 49 | ||
51 | static inline unsigned int csum_fold(unsigned int sum) | 50 | static inline __sum16 csum_fold(__wsum sum) |
52 | { | 51 | { |
53 | while (sum >> 16) | 52 | while (sum >> 16) |
54 | sum = (sum & 0xffff) + (sum >> 16); | 53 | sum = (sum & 0xffff) + (sum >> 16); |
@@ -60,9 +59,9 @@ static inline unsigned int csum_fold(unsigned int sum) | |||
60 | * returns a 16-bit checksum, already complemented | 59 | * returns a 16-bit checksum, already complemented |
61 | */ | 60 | */ |
62 | 61 | ||
63 | static inline unsigned int | 62 | static inline __wsum |
64 | csum_tcpudp_nofold(unsigned long saddr, unsigned long daddr, unsigned short len, | 63 | csum_tcpudp_nofold(__be32 saddr, __be32 daddr, unsigned short len, |
65 | unsigned short proto, unsigned int sum) | 64 | unsigned short proto, __wsum sum) |
66 | { | 65 | { |
67 | 66 | ||
68 | __asm__ ("%0 = %0 + %1;\n\t" | 67 | __asm__ ("%0 = %0 + %1;\n\t" |
@@ -84,9 +83,9 @@ csum_tcpudp_nofold(unsigned long saddr, unsigned long daddr, unsigned short len, | |||
84 | return (sum); | 83 | return (sum); |
85 | } | 84 | } |
86 | 85 | ||
87 | static inline unsigned short int | 86 | static inline __sum16 |
88 | csum_tcpudp_magic(unsigned long saddr, unsigned long daddr, unsigned short len, | 87 | csum_tcpudp_magic(__be32 saddr, __be32 daddr, unsigned short len, |
89 | unsigned short proto, unsigned int sum) | 88 | unsigned short proto, __wsum sum) |
90 | { | 89 | { |
91 | return csum_fold(csum_tcpudp_nofold(saddr, daddr, len, proto, sum)); | 90 | return csum_fold(csum_tcpudp_nofold(saddr, daddr, len, proto, sum)); |
92 | } | 91 | } |
@@ -96,6 +95,6 @@ csum_tcpudp_magic(unsigned long saddr, unsigned long daddr, unsigned short len, | |||
96 | * in icmp.c | 95 | * in icmp.c |
97 | */ | 96 | */ |
98 | 97 | ||
99 | extern unsigned short ip_compute_csum(const unsigned char *buff, int len); | 98 | extern __sum16 ip_compute_csum(const void *buff, int len); |
100 | 99 | ||
101 | #endif /* _BFIN_CHECKSUM_H */ | 100 | #endif /* _BFIN_CHECKSUM_H */ |
diff --git a/include/asm-blackfin/gpio.h b/include/asm-blackfin/gpio.h index 27ff532a806c..ff95e9d88342 100644 --- a/include/asm-blackfin/gpio.h +++ b/include/asm-blackfin/gpio.h | |||
@@ -437,7 +437,6 @@ void gpio_set_value(unsigned gpio, int arg); | |||
437 | int gpio_get_value(unsigned gpio); | 437 | int gpio_get_value(unsigned gpio); |
438 | 438 | ||
439 | #ifndef BF548_FAMILY | 439 | #ifndef BF548_FAMILY |
440 | #define gpio_get_value(gpio) get_gpio_data(gpio) | ||
441 | #define gpio_set_value(gpio, value) set_gpio_data(gpio, value) | 440 | #define gpio_set_value(gpio, value) set_gpio_data(gpio, value) |
442 | #endif | 441 | #endif |
443 | 442 | ||
diff --git a/include/asm-blackfin/io.h b/include/asm-blackfin/io.h index 574fe56989d1..cbbf7ffdbbff 100644 --- a/include/asm-blackfin/io.h +++ b/include/asm-blackfin/io.h | |||
@@ -117,10 +117,12 @@ static inline unsigned int readl(const volatile void __iomem *addr) | |||
117 | 117 | ||
118 | extern void outsb(unsigned long port, const void *addr, unsigned long count); | 118 | extern void outsb(unsigned long port, const void *addr, unsigned long count); |
119 | extern void outsw(unsigned long port, const void *addr, unsigned long count); | 119 | extern void outsw(unsigned long port, const void *addr, unsigned long count); |
120 | extern void outsw_8(unsigned long port, const void *addr, unsigned long count); | ||
120 | extern void outsl(unsigned long port, const void *addr, unsigned long count); | 121 | extern void outsl(unsigned long port, const void *addr, unsigned long count); |
121 | 122 | ||
122 | extern void insb(unsigned long port, void *addr, unsigned long count); | 123 | extern void insb(unsigned long port, void *addr, unsigned long count); |
123 | extern void insw(unsigned long port, void *addr, unsigned long count); | 124 | extern void insw(unsigned long port, void *addr, unsigned long count); |
125 | extern void insw_8(unsigned long port, void *addr, unsigned long count); | ||
124 | extern void insl(unsigned long port, void *addr, unsigned long count); | 126 | extern void insl(unsigned long port, void *addr, unsigned long count); |
125 | extern void insl_16(unsigned long port, void *addr, unsigned long count); | 127 | extern void insl_16(unsigned long port, void *addr, unsigned long count); |
126 | 128 | ||
diff --git a/include/asm-blackfin/mach-bf527/blackfin.h b/include/asm-blackfin/mach-bf527/blackfin.h index 2891727b6176..297821e2d79a 100644 --- a/include/asm-blackfin/mach-bf527/blackfin.h +++ b/include/asm-blackfin/mach-bf527/blackfin.h | |||
@@ -39,22 +39,22 @@ | |||
39 | #include "defBF522.h" | 39 | #include "defBF522.h" |
40 | #include "anomaly.h" | 40 | #include "anomaly.h" |
41 | 41 | ||
42 | #if defined(CONFIG_BF527) | 42 | #if defined(CONFIG_BF527) || defined(CONFIG_BF526) |
43 | #include "defBF527.h" | 43 | #include "defBF527.h" |
44 | #endif | 44 | #endif |
45 | 45 | ||
46 | #if defined(CONFIG_BF525) | 46 | #if defined(CONFIG_BF525) || defined(CONFIG_BF524) |
47 | #include "defBF525.h" | 47 | #include "defBF525.h" |
48 | #endif | 48 | #endif |
49 | 49 | ||
50 | #if !defined(__ASSEMBLY__) | 50 | #if !defined(__ASSEMBLY__) |
51 | #include "cdefBF522.h" | 51 | #include "cdefBF522.h" |
52 | 52 | ||
53 | #if defined(CONFIG_BF527) | 53 | #if defined(CONFIG_BF527) || defined(CONFIG_BF526) |
54 | #include "cdefBF527.h" | 54 | #include "cdefBF527.h" |
55 | #endif | 55 | #endif |
56 | 56 | ||
57 | #if defined(CONFIG_BF525) | 57 | #if defined(CONFIG_BF525) || defined(CONFIG_BF524) |
58 | #include "cdefBF525.h" | 58 | #include "cdefBF525.h" |
59 | #endif | 59 | #endif |
60 | #endif | 60 | #endif |
diff --git a/include/asm-blackfin/mach-bf561/dma.h b/include/asm-blackfin/mach-bf561/dma.h index 21d982003e75..8bc46cd89a02 100644 --- a/include/asm-blackfin/mach-bf561/dma.h +++ b/include/asm-blackfin/mach-bf561/dma.h | |||
@@ -25,11 +25,11 @@ | |||
25 | #define CH_MEM_STREAM1_SRC 27 /* RX */ | 25 | #define CH_MEM_STREAM1_SRC 27 /* RX */ |
26 | #define CH_MEM_STREAM2_DEST 28 | 26 | #define CH_MEM_STREAM2_DEST 28 |
27 | #define CH_MEM_STREAM2_SRC 29 | 27 | #define CH_MEM_STREAM2_SRC 29 |
28 | #define CH_MEM_STREAM3_SRC 30 | 28 | #define CH_MEM_STREAM3_DEST 30 |
29 | #define CH_MEM_STREAM3_DEST 31 | 29 | #define CH_MEM_STREAM3_SRC 31 |
30 | #define CH_IMEM_STREAM0_DEST 32 | 30 | #define CH_IMEM_STREAM0_DEST 32 |
31 | #define CH_IMEM_STREAM0_SRC 33 | 31 | #define CH_IMEM_STREAM0_SRC 33 |
32 | #define CH_IMEM_STREAM1_SRC 34 | 32 | #define CH_IMEM_STREAM1_DEST 34 |
33 | #define CH_IMEM_STREAM1_DEST 35 | 33 | #define CH_IMEM_STREAM1_SRC 35 |
34 | 34 | ||
35 | #endif | 35 | #endif |
diff --git a/include/asm-blackfin/serial.h b/include/asm-blackfin/serial.h new file mode 100644 index 000000000000..994dd869558c --- /dev/null +++ b/include/asm-blackfin/serial.h | |||
@@ -0,0 +1,5 @@ | |||
1 | /* | ||
2 | * include/asm-blackfin/serial.h | ||
3 | */ | ||
4 | |||
5 | #define SERIAL_EXTRA_IRQ_FLAGS IRQF_TRIGGER_HIGH | ||
diff --git a/include/asm-ia64/kvm.h b/include/asm-ia64/kvm.h index eb2d3559d089..3f6a090cbd9a 100644 --- a/include/asm-ia64/kvm.h +++ b/include/asm-ia64/kvm.h | |||
@@ -22,14 +22,13 @@ | |||
22 | */ | 22 | */ |
23 | 23 | ||
24 | #include <asm/types.h> | 24 | #include <asm/types.h> |
25 | #include <asm/fpu.h> | ||
26 | 25 | ||
27 | #include <linux/ioctl.h> | 26 | #include <linux/ioctl.h> |
28 | 27 | ||
29 | /* Architectural interrupt line count. */ | 28 | /* Architectural interrupt line count. */ |
30 | #define KVM_NR_INTERRUPTS 256 | 29 | #define KVM_NR_INTERRUPTS 256 |
31 | 30 | ||
32 | #define KVM_IOAPIC_NUM_PINS 24 | 31 | #define KVM_IOAPIC_NUM_PINS 48 |
33 | 32 | ||
34 | struct kvm_ioapic_state { | 33 | struct kvm_ioapic_state { |
35 | __u64 base_address; | 34 | __u64 base_address; |
@@ -61,6 +60,13 @@ struct kvm_ioapic_state { | |||
61 | 60 | ||
62 | #define KVM_CONTEXT_SIZE 8*1024 | 61 | #define KVM_CONTEXT_SIZE 8*1024 |
63 | 62 | ||
63 | struct kvm_fpreg { | ||
64 | union { | ||
65 | unsigned long bits[2]; | ||
66 | long double __dummy; /* force 16-byte alignment */ | ||
67 | } u; | ||
68 | }; | ||
69 | |||
64 | union context { | 70 | union context { |
65 | /* 8K size */ | 71 | /* 8K size */ |
66 | char dummy[KVM_CONTEXT_SIZE]; | 72 | char dummy[KVM_CONTEXT_SIZE]; |
@@ -77,7 +83,7 @@ union context { | |||
77 | unsigned long ibr[8]; | 83 | unsigned long ibr[8]; |
78 | unsigned long dbr[8]; | 84 | unsigned long dbr[8]; |
79 | unsigned long pkr[8]; | 85 | unsigned long pkr[8]; |
80 | struct ia64_fpreg fr[128]; | 86 | struct kvm_fpreg fr[128]; |
81 | }; | 87 | }; |
82 | }; | 88 | }; |
83 | 89 | ||
diff --git a/include/asm-m68k/bug.h b/include/asm-m68k/bug.h index 7b60776cc966..e5b528deb8a8 100644 --- a/include/asm-m68k/bug.h +++ b/include/asm-m68k/bug.h | |||
@@ -7,7 +7,7 @@ | |||
7 | #ifndef CONFIG_SUN3 | 7 | #ifndef CONFIG_SUN3 |
8 | #define BUG() do { \ | 8 | #define BUG() do { \ |
9 | printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \ | 9 | printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \ |
10 | asm volatile("illegal"); \ | 10 | __builtin_trap(); \ |
11 | } while (0) | 11 | } while (0) |
12 | #else | 12 | #else |
13 | #define BUG() do { \ | 13 | #define BUG() do { \ |
@@ -17,7 +17,7 @@ | |||
17 | #endif | 17 | #endif |
18 | #else | 18 | #else |
19 | #define BUG() do { \ | 19 | #define BUG() do { \ |
20 | asm volatile("illegal"); \ | 20 | __builtin_trap(); \ |
21 | } while (0) | 21 | } while (0) |
22 | #endif | 22 | #endif |
23 | 23 | ||
diff --git a/include/asm-m68k/io.h b/include/asm-m68k/io.h index baf4f9b8acfc..657187f0c7c2 100644 --- a/include/asm-m68k/io.h +++ b/include/asm-m68k/io.h | |||
@@ -91,20 +91,20 @@ extern unsigned long gg2_isa_base; | |||
91 | #undef MULTI_ISA | 91 | #undef MULTI_ISA |
92 | #endif | 92 | #endif |
93 | 93 | ||
94 | #define Q40_ISA (1) | 94 | #define ISA_TYPE_Q40 (1) |
95 | #define GG2_ISA (2) | 95 | #define ISA_TYPE_GG2 (2) |
96 | #define AG_ISA (3) | 96 | #define ISA_TYPE_AG (3) |
97 | 97 | ||
98 | #if defined(CONFIG_Q40) && !defined(MULTI_ISA) | 98 | #if defined(CONFIG_Q40) && !defined(MULTI_ISA) |
99 | #define ISA_TYPE Q40_ISA | 99 | #define ISA_TYPE ISA_TYPE_Q40 |
100 | #define ISA_SEX 0 | 100 | #define ISA_SEX 0 |
101 | #endif | 101 | #endif |
102 | #if defined(CONFIG_AMIGA_PCMCIA) && !defined(MULTI_ISA) | 102 | #if defined(CONFIG_AMIGA_PCMCIA) && !defined(MULTI_ISA) |
103 | #define ISA_TYPE AG_ISA | 103 | #define ISA_TYPE ISA_TYPE_AG |
104 | #define ISA_SEX 1 | 104 | #define ISA_SEX 1 |
105 | #endif | 105 | #endif |
106 | #if defined(CONFIG_GG2) && !defined(MULTI_ISA) | 106 | #if defined(CONFIG_GG2) && !defined(MULTI_ISA) |
107 | #define ISA_TYPE GG2_ISA | 107 | #define ISA_TYPE ISA_TYPE_GG2 |
108 | #define ISA_SEX 0 | 108 | #define ISA_SEX 0 |
109 | #endif | 109 | #endif |
110 | 110 | ||
@@ -126,13 +126,13 @@ static inline u8 __iomem *isa_itb(unsigned long addr) | |||
126 | switch(ISA_TYPE) | 126 | switch(ISA_TYPE) |
127 | { | 127 | { |
128 | #ifdef CONFIG_Q40 | 128 | #ifdef CONFIG_Q40 |
129 | case Q40_ISA: return (u8 __iomem *)Q40_ISA_IO_B(addr); | 129 | case ISA_TYPE_Q40: return (u8 __iomem *)Q40_ISA_IO_B(addr); |
130 | #endif | 130 | #endif |
131 | #ifdef CONFIG_GG2 | 131 | #ifdef CONFIG_GG2 |
132 | case GG2_ISA: return (u8 __iomem *)GG2_ISA_IO_B(addr); | 132 | case ISA_TYPE_GG2: return (u8 __iomem *)GG2_ISA_IO_B(addr); |
133 | #endif | 133 | #endif |
134 | #ifdef CONFIG_AMIGA_PCMCIA | 134 | #ifdef CONFIG_AMIGA_PCMCIA |
135 | case AG_ISA: return (u8 __iomem *)AG_ISA_IO_B(addr); | 135 | case ISA_TYPE_AG: return (u8 __iomem *)AG_ISA_IO_B(addr); |
136 | #endif | 136 | #endif |
137 | default: return NULL; /* avoid warnings, just in case */ | 137 | default: return NULL; /* avoid warnings, just in case */ |
138 | } | 138 | } |
@@ -142,13 +142,13 @@ static inline u16 __iomem *isa_itw(unsigned long addr) | |||
142 | switch(ISA_TYPE) | 142 | switch(ISA_TYPE) |
143 | { | 143 | { |
144 | #ifdef CONFIG_Q40 | 144 | #ifdef CONFIG_Q40 |
145 | case Q40_ISA: return (u16 __iomem *)Q40_ISA_IO_W(addr); | 145 | case ISA_TYPE_Q40: return (u16 __iomem *)Q40_ISA_IO_W(addr); |
146 | #endif | 146 | #endif |
147 | #ifdef CONFIG_GG2 | 147 | #ifdef CONFIG_GG2 |
148 | case GG2_ISA: return (u16 __iomem *)GG2_ISA_IO_W(addr); | 148 | case ISA_TYPE_GG2: return (u16 __iomem *)GG2_ISA_IO_W(addr); |
149 | #endif | 149 | #endif |
150 | #ifdef CONFIG_AMIGA_PCMCIA | 150 | #ifdef CONFIG_AMIGA_PCMCIA |
151 | case AG_ISA: return (u16 __iomem *)AG_ISA_IO_W(addr); | 151 | case ISA_TYPE_AG: return (u16 __iomem *)AG_ISA_IO_W(addr); |
152 | #endif | 152 | #endif |
153 | default: return NULL; /* avoid warnings, just in case */ | 153 | default: return NULL; /* avoid warnings, just in case */ |
154 | } | 154 | } |
@@ -158,7 +158,7 @@ static inline u32 __iomem *isa_itl(unsigned long addr) | |||
158 | switch(ISA_TYPE) | 158 | switch(ISA_TYPE) |
159 | { | 159 | { |
160 | #ifdef CONFIG_AMIGA_PCMCIA | 160 | #ifdef CONFIG_AMIGA_PCMCIA |
161 | case AG_ISA: return (u32 __iomem *)AG_ISA_IO_W(addr); | 161 | case ISA_TYPE_AG: return (u32 __iomem *)AG_ISA_IO_W(addr); |
162 | #endif | 162 | #endif |
163 | default: return 0; /* avoid warnings, just in case */ | 163 | default: return 0; /* avoid warnings, just in case */ |
164 | } | 164 | } |
@@ -168,13 +168,13 @@ static inline u8 __iomem *isa_mtb(unsigned long addr) | |||
168 | switch(ISA_TYPE) | 168 | switch(ISA_TYPE) |
169 | { | 169 | { |
170 | #ifdef CONFIG_Q40 | 170 | #ifdef CONFIG_Q40 |
171 | case Q40_ISA: return (u8 __iomem *)Q40_ISA_MEM_B(addr); | 171 | case ISA_TYPE_Q40: return (u8 __iomem *)Q40_ISA_MEM_B(addr); |
172 | #endif | 172 | #endif |
173 | #ifdef CONFIG_GG2 | 173 | #ifdef CONFIG_GG2 |
174 | case GG2_ISA: return (u8 __iomem *)GG2_ISA_MEM_B(addr); | 174 | case ISA_TYPE_GG2: return (u8 __iomem *)GG2_ISA_MEM_B(addr); |
175 | #endif | 175 | #endif |
176 | #ifdef CONFIG_AMIGA_PCMCIA | 176 | #ifdef CONFIG_AMIGA_PCMCIA |
177 | case AG_ISA: return (u8 __iomem *)addr; | 177 | case ISA_TYPE_AG: return (u8 __iomem *)addr; |
178 | #endif | 178 | #endif |
179 | default: return NULL; /* avoid warnings, just in case */ | 179 | default: return NULL; /* avoid warnings, just in case */ |
180 | } | 180 | } |
@@ -184,13 +184,13 @@ static inline u16 __iomem *isa_mtw(unsigned long addr) | |||
184 | switch(ISA_TYPE) | 184 | switch(ISA_TYPE) |
185 | { | 185 | { |
186 | #ifdef CONFIG_Q40 | 186 | #ifdef CONFIG_Q40 |
187 | case Q40_ISA: return (u16 __iomem *)Q40_ISA_MEM_W(addr); | 187 | case ISA_TYPE_Q40: return (u16 __iomem *)Q40_ISA_MEM_W(addr); |
188 | #endif | 188 | #endif |
189 | #ifdef CONFIG_GG2 | 189 | #ifdef CONFIG_GG2 |
190 | case GG2_ISA: return (u16 __iomem *)GG2_ISA_MEM_W(addr); | 190 | case ISA_TYPE_GG2: return (u16 __iomem *)GG2_ISA_MEM_W(addr); |
191 | #endif | 191 | #endif |
192 | #ifdef CONFIG_AMIGA_PCMCIA | 192 | #ifdef CONFIG_AMIGA_PCMCIA |
193 | case AG_ISA: return (u16 __iomem *)addr; | 193 | case ISA_TYPE_AG: return (u16 __iomem *)addr; |
194 | #endif | 194 | #endif |
195 | default: return NULL; /* avoid warnings, just in case */ | 195 | default: return NULL; /* avoid warnings, just in case */ |
196 | } | 196 | } |
@@ -218,13 +218,13 @@ static inline void isa_delay(void) | |||
218 | switch(ISA_TYPE) | 218 | switch(ISA_TYPE) |
219 | { | 219 | { |
220 | #ifdef CONFIG_Q40 | 220 | #ifdef CONFIG_Q40 |
221 | case Q40_ISA: isa_outb(0,0x80); break; | 221 | case ISA_TYPE_Q40: isa_outb(0,0x80); break; |
222 | #endif | 222 | #endif |
223 | #ifdef CONFIG_GG2 | 223 | #ifdef CONFIG_GG2 |
224 | case GG2_ISA: break; | 224 | case ISA_TYPE_GG2: break; |
225 | #endif | 225 | #endif |
226 | #ifdef CONFIG_AMIGA_PCMCIA | 226 | #ifdef CONFIG_AMIGA_PCMCIA |
227 | case AG_ISA: break; | 227 | case ISA_TYPE_AG: break; |
228 | #endif | 228 | #endif |
229 | default: break; /* avoid warnings */ | 229 | default: break; /* avoid warnings */ |
230 | } | 230 | } |
diff --git a/include/asm-m68k/setup.h b/include/asm-m68k/setup.h index 2a8853cd6554..4dfb3952b375 100644 --- a/include/asm-m68k/setup.h +++ b/include/asm-m68k/setup.h | |||
@@ -248,7 +248,7 @@ extern unsigned long m68k_machtype; | |||
248 | #ifndef __ASSEMBLY__ | 248 | #ifndef __ASSEMBLY__ |
249 | extern unsigned long m68k_cputype; | 249 | extern unsigned long m68k_cputype; |
250 | extern unsigned long m68k_fputype; | 250 | extern unsigned long m68k_fputype; |
251 | extern unsigned long m68k_mmutype; /* Not really used yet */ | 251 | extern unsigned long m68k_mmutype; |
252 | #ifdef CONFIG_VME | 252 | #ifdef CONFIG_VME |
253 | extern unsigned long vme_brdtype; | 253 | extern unsigned long vme_brdtype; |
254 | #endif | 254 | #endif |
diff --git a/include/asm-m68k/uaccess.h b/include/asm-m68k/uaccess.h index 5c1264cf0c65..7107f3fbdbb6 100644 --- a/include/asm-m68k/uaccess.h +++ b/include/asm-m68k/uaccess.h | |||
@@ -14,7 +14,11 @@ | |||
14 | #define VERIFY_WRITE 1 | 14 | #define VERIFY_WRITE 1 |
15 | 15 | ||
16 | /* We let the MMU do all checking */ | 16 | /* We let the MMU do all checking */ |
17 | #define access_ok(type,addr,size) 1 | 17 | static inline int access_ok(int type, const void __user *addr, |
18 | unsigned long size) | ||
19 | { | ||
20 | return 1; | ||
21 | } | ||
18 | 22 | ||
19 | /* | 23 | /* |
20 | * The exception table consists of pairs of addresses: the first is the | 24 | * The exception table consists of pairs of addresses: the first is the |
diff --git a/include/asm-sh/kgdb.h b/include/asm-sh/kgdb.h index 4bc8cb187d11..24e42078f36f 100644 --- a/include/asm-sh/kgdb.h +++ b/include/asm-sh/kgdb.h | |||
@@ -66,18 +66,4 @@ extern int setjmp(jmp_buf __jmpb); | |||
66 | /* Forced breakpoint */ | 66 | /* Forced breakpoint */ |
67 | #define breakpoint() __asm__ __volatile__("trapa #0x3c") | 67 | #define breakpoint() __asm__ __volatile__("trapa #0x3c") |
68 | 68 | ||
69 | /* Taken from sh-stub.c of GDB 4.18 */ | ||
70 | static const char hexchars[] = "0123456789abcdef"; | ||
71 | |||
72 | /* Get high hex bits */ | ||
73 | static inline char highhex(const int x) | ||
74 | { | ||
75 | return hexchars[(x >> 4) & 0xf]; | ||
76 | } | ||
77 | |||
78 | /* Get low hex bits */ | ||
79 | static inline char lowhex(const int x) | ||
80 | { | ||
81 | return hexchars[x & 0xf]; | ||
82 | } | ||
83 | #endif | 69 | #endif |
diff --git a/include/asm-x86/kvm_x86_emulate.h b/include/asm-x86/kvm_x86_emulate.h index d6337f941c98..b877bbd2d3a7 100644 --- a/include/asm-x86/kvm_x86_emulate.h +++ b/include/asm-x86/kvm_x86_emulate.h | |||
@@ -135,6 +135,7 @@ struct decode_cache { | |||
135 | u8 modrm_rm; | 135 | u8 modrm_rm; |
136 | u8 use_modrm_ea; | 136 | u8 use_modrm_ea; |
137 | unsigned long modrm_ea; | 137 | unsigned long modrm_ea; |
138 | void *modrm_ptr; | ||
138 | unsigned long modrm_val; | 139 | unsigned long modrm_val; |
139 | struct fetch_cache fetch; | 140 | struct fetch_cache fetch; |
140 | }; | 141 | }; |
diff --git a/include/linux/Kbuild b/include/linux/Kbuild index b7d81b2a9041..5dfa739045c8 100644 --- a/include/linux/Kbuild +++ b/include/linux/Kbuild | |||
@@ -105,7 +105,6 @@ header-y += ixjuser.h | |||
105 | header-y += jffs2.h | 105 | header-y += jffs2.h |
106 | header-y += keyctl.h | 106 | header-y += keyctl.h |
107 | header-y += limits.h | 107 | header-y += limits.h |
108 | header-y += dlm_plock.h | ||
109 | header-y += magic.h | 108 | header-y += magic.h |
110 | header-y += major.h | 109 | header-y += major.h |
111 | header-y += matroxfb.h | 110 | header-y += matroxfb.h |
@@ -190,6 +189,7 @@ unifdef-y += cyclades.h | |||
190 | unifdef-y += dccp.h | 189 | unifdef-y += dccp.h |
191 | unifdef-y += dirent.h | 190 | unifdef-y += dirent.h |
192 | unifdef-y += dlm.h | 191 | unifdef-y += dlm.h |
192 | unifdef-y += dlm_plock.h | ||
193 | unifdef-y += edd.h | 193 | unifdef-y += edd.h |
194 | unifdef-y += elf.h | 194 | unifdef-y += elf.h |
195 | unifdef-y += elfcore.h | 195 | unifdef-y += elfcore.h |
diff --git a/include/linux/binfmts.h b/include/linux/binfmts.h index b512e48f6d8e..ee0ed48e8348 100644 --- a/include/linux/binfmts.h +++ b/include/linux/binfmts.h | |||
@@ -99,6 +99,7 @@ extern int copy_strings_kernel(int argc,char ** argv,struct linux_binprm *bprm); | |||
99 | extern void compute_creds(struct linux_binprm *binprm); | 99 | extern void compute_creds(struct linux_binprm *binprm); |
100 | extern int do_coredump(long signr, int exit_code, struct pt_regs * regs); | 100 | extern int do_coredump(long signr, int exit_code, struct pt_regs * regs); |
101 | extern int set_binfmt(struct linux_binfmt *new); | 101 | extern int set_binfmt(struct linux_binfmt *new); |
102 | extern void free_bprm(struct linux_binprm *); | ||
102 | 103 | ||
103 | #endif /* __KERNEL__ */ | 104 | #endif /* __KERNEL__ */ |
104 | #endif /* _LINUX_BINFMTS_H */ | 105 | #endif /* _LINUX_BINFMTS_H */ |
diff --git a/include/linux/fdtable.h b/include/linux/fdtable.h index a118f3c0b240..4aab6f12cfab 100644 --- a/include/linux/fdtable.h +++ b/include/linux/fdtable.h | |||
@@ -93,6 +93,7 @@ struct files_struct *get_files_struct(struct task_struct *); | |||
93 | void put_files_struct(struct files_struct *fs); | 93 | void put_files_struct(struct files_struct *fs); |
94 | void reset_files_struct(struct files_struct *); | 94 | void reset_files_struct(struct files_struct *); |
95 | int unshare_files(struct files_struct **); | 95 | int unshare_files(struct files_struct **); |
96 | struct files_struct *dup_fd(struct files_struct *, int *); | ||
96 | 97 | ||
97 | extern struct kmem_cache *files_cachep; | 98 | extern struct kmem_cache *files_cachep; |
98 | 99 | ||
diff --git a/include/linux/i2c.h b/include/linux/i2c.h index 6716ec808c5e..fb9af6a0fe9c 100644 --- a/include/linux/i2c.h +++ b/include/linux/i2c.h | |||
@@ -155,8 +155,6 @@ struct i2c_driver { | |||
155 | * @driver: device's driver, hence pointer to access routines | 155 | * @driver: device's driver, hence pointer to access routines |
156 | * @dev: Driver model device node for the slave. | 156 | * @dev: Driver model device node for the slave. |
157 | * @irq: indicates the IRQ generated by this device (if any) | 157 | * @irq: indicates the IRQ generated by this device (if any) |
158 | * @driver_name: Identifies new-style driver used with this device; also | ||
159 | * used as the module name for hotplug/coldplug modprobe support. | ||
160 | * @list: list of active/busy clients (DEPRECATED) | 158 | * @list: list of active/busy clients (DEPRECATED) |
161 | * @released: used to synchronize client releases & detaches and references | 159 | * @released: used to synchronize client releases & detaches and references |
162 | * | 160 | * |
@@ -174,7 +172,6 @@ struct i2c_client { | |||
174 | struct i2c_driver *driver; /* and our access routines */ | 172 | struct i2c_driver *driver; /* and our access routines */ |
175 | struct device dev; /* the device structure */ | 173 | struct device dev; /* the device structure */ |
176 | int irq; /* irq issued by device (or -1) */ | 174 | int irq; /* irq issued by device (or -1) */ |
177 | char driver_name[KOBJ_NAME_LEN]; | ||
178 | struct list_head list; /* DEPRECATED */ | 175 | struct list_head list; /* DEPRECATED */ |
179 | struct completion released; | 176 | struct completion released; |
180 | }; | 177 | }; |
@@ -200,8 +197,7 @@ static inline void i2c_set_clientdata (struct i2c_client *dev, void *data) | |||
200 | 197 | ||
201 | /** | 198 | /** |
202 | * struct i2c_board_info - template for device creation | 199 | * struct i2c_board_info - template for device creation |
203 | * @driver_name: identifies the driver to be bound to the device | 200 | * @type: chip type, to initialize i2c_client.name |
204 | * @type: optional chip type information, to initialize i2c_client.name | ||
205 | * @flags: to initialize i2c_client.flags | 201 | * @flags: to initialize i2c_client.flags |
206 | * @addr: stored in i2c_client.addr | 202 | * @addr: stored in i2c_client.addr |
207 | * @platform_data: stored in i2c_client.dev.platform_data | 203 | * @platform_data: stored in i2c_client.dev.platform_data |
@@ -220,7 +216,6 @@ static inline void i2c_set_clientdata (struct i2c_client *dev, void *data) | |||
220 | * with the adapter already known. | 216 | * with the adapter already known. |
221 | */ | 217 | */ |
222 | struct i2c_board_info { | 218 | struct i2c_board_info { |
223 | char driver_name[KOBJ_NAME_LEN]; | ||
224 | char type[I2C_NAME_SIZE]; | 219 | char type[I2C_NAME_SIZE]; |
225 | unsigned short flags; | 220 | unsigned short flags; |
226 | unsigned short addr; | 221 | unsigned short addr; |
diff --git a/include/linux/i2c/pcf857x.h b/include/linux/i2c/pcf857x.h index ba8ea6e16476..0767a2a6b2f1 100644 --- a/include/linux/i2c/pcf857x.h +++ b/include/linux/i2c/pcf857x.h | |||
@@ -12,8 +12,7 @@ | |||
12 | * @context: optional parameter passed to setup() and teardown() | 12 | * @context: optional parameter passed to setup() and teardown() |
13 | * | 13 | * |
14 | * In addition to the I2C_BOARD_INFO() state appropriate to each chip, | 14 | * In addition to the I2C_BOARD_INFO() state appropriate to each chip, |
15 | * the i2c_board_info used with the pcf875x driver must provide the | 15 | * the i2c_board_info used with the pcf875x driver must provide its |
16 | * chip "type" ("pcf8574", "pcf8574a", "pcf8575", "pcf8575c") and its | ||
17 | * platform_data (pointer to one of these structures) with at least | 16 | * platform_data (pointer to one of these structures) with at least |
18 | * the gpio_base value initialized. | 17 | * the gpio_base value initialized. |
19 | * | 18 | * |
diff --git a/include/linux/init_task.h b/include/linux/init_task.h index b24c2875aa05..9927a88674a3 100644 --- a/include/linux/init_task.h +++ b/include/linux/init_task.h | |||
@@ -1,7 +1,6 @@ | |||
1 | #ifndef _LINUX__INIT_TASK_H | 1 | #ifndef _LINUX__INIT_TASK_H |
2 | #define _LINUX__INIT_TASK_H | 2 | #define _LINUX__INIT_TASK_H |
3 | 3 | ||
4 | #include <linux/fdtable.h> | ||
5 | #include <linux/rcupdate.h> | 4 | #include <linux/rcupdate.h> |
6 | #include <linux/irqflags.h> | 5 | #include <linux/irqflags.h> |
7 | #include <linux/utsname.h> | 6 | #include <linux/utsname.h> |
@@ -12,27 +11,7 @@ | |||
12 | #include <linux/securebits.h> | 11 | #include <linux/securebits.h> |
13 | #include <net/net_namespace.h> | 12 | #include <net/net_namespace.h> |
14 | 13 | ||
15 | #define INIT_FDTABLE \ | 14 | extern struct files_struct init_files; |
16 | { \ | ||
17 | .max_fds = NR_OPEN_DEFAULT, \ | ||
18 | .fd = &init_files.fd_array[0], \ | ||
19 | .close_on_exec = (fd_set *)&init_files.close_on_exec_init, \ | ||
20 | .open_fds = (fd_set *)&init_files.open_fds_init, \ | ||
21 | .rcu = RCU_HEAD_INIT, \ | ||
22 | .next = NULL, \ | ||
23 | } | ||
24 | |||
25 | #define INIT_FILES \ | ||
26 | { \ | ||
27 | .count = ATOMIC_INIT(1), \ | ||
28 | .fdt = &init_files.fdtab, \ | ||
29 | .fdtab = INIT_FDTABLE, \ | ||
30 | .file_lock = __SPIN_LOCK_UNLOCKED(init_task.file_lock), \ | ||
31 | .next_fd = 0, \ | ||
32 | .close_on_exec_init = { { 0, } }, \ | ||
33 | .open_fds_init = { { 0, } }, \ | ||
34 | .fd_array = { NULL, } \ | ||
35 | } | ||
36 | 15 | ||
37 | #define INIT_KIOCTX(name, which_mm) \ | 16 | #define INIT_KIOCTX(name, which_mm) \ |
38 | { \ | 17 | { \ |
diff --git a/include/linux/libata.h b/include/linux/libata.h index 0f17643e0a6e..4a92fbafce9d 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -341,7 +341,7 @@ enum { | |||
341 | ATA_EH_PMP_TRIES = 5, | 341 | ATA_EH_PMP_TRIES = 5, |
342 | ATA_EH_PMP_LINK_TRIES = 3, | 342 | ATA_EH_PMP_LINK_TRIES = 3, |
343 | 343 | ||
344 | SATA_PMP_SCR_TIMEOUT = 250, | 344 | SATA_PMP_RW_TIMEOUT = 3000, /* PMP read/write timeout */ |
345 | 345 | ||
346 | /* Horkage types. May be set by libata or controller on drives | 346 | /* Horkage types. May be set by libata or controller on drives |
347 | (some horkage may be drive/controller pair dependant */ | 347 | (some horkage may be drive/controller pair dependant */ |
@@ -351,7 +351,7 @@ enum { | |||
351 | ATA_HORKAGE_NONCQ = (1 << 2), /* Don't use NCQ */ | 351 | ATA_HORKAGE_NONCQ = (1 << 2), /* Don't use NCQ */ |
352 | ATA_HORKAGE_MAX_SEC_128 = (1 << 3), /* Limit max sects to 128 */ | 352 | ATA_HORKAGE_MAX_SEC_128 = (1 << 3), /* Limit max sects to 128 */ |
353 | ATA_HORKAGE_BROKEN_HPA = (1 << 4), /* Broken HPA */ | 353 | ATA_HORKAGE_BROKEN_HPA = (1 << 4), /* Broken HPA */ |
354 | ATA_HORKAGE_SKIP_PM = (1 << 5), /* Skip PM operations */ | 354 | ATA_HORKAGE_DISABLE = (1 << 5), /* Disable it */ |
355 | ATA_HORKAGE_HPA_SIZE = (1 << 6), /* native size off by one */ | 355 | ATA_HORKAGE_HPA_SIZE = (1 << 6), /* native size off by one */ |
356 | ATA_HORKAGE_IPM = (1 << 7), /* Link PM problems */ | 356 | ATA_HORKAGE_IPM = (1 << 7), /* Link PM problems */ |
357 | ATA_HORKAGE_IVB = (1 << 8), /* cbl det validity bit bugs */ | 357 | ATA_HORKAGE_IVB = (1 << 8), /* cbl det validity bit bugs */ |
@@ -821,8 +821,6 @@ struct ata_timing { | |||
821 | unsigned short udma; /* t2CYCTYP/2 */ | 821 | unsigned short udma; /* t2CYCTYP/2 */ |
822 | }; | 822 | }; |
823 | 823 | ||
824 | #define FIT(v, vmin, vmax) max_t(short, min_t(short, v, vmax), vmin) | ||
825 | |||
826 | /* | 824 | /* |
827 | * Core layer - drivers/ata/libata-core.c | 825 | * Core layer - drivers/ata/libata-core.c |
828 | */ | 826 | */ |
diff --git a/kernel/fork.c b/kernel/fork.c index 933e60ebccae..19908b26cf80 100644 --- a/kernel/fork.c +++ b/kernel/fork.c | |||
@@ -660,136 +660,6 @@ static int copy_fs(unsigned long clone_flags, struct task_struct *tsk) | |||
660 | return 0; | 660 | return 0; |
661 | } | 661 | } |
662 | 662 | ||
663 | static int count_open_files(struct fdtable *fdt) | ||
664 | { | ||
665 | int size = fdt->max_fds; | ||
666 | int i; | ||
667 | |||
668 | /* Find the last open fd */ | ||
669 | for (i = size/(8*sizeof(long)); i > 0; ) { | ||
670 | if (fdt->open_fds->fds_bits[--i]) | ||
671 | break; | ||
672 | } | ||
673 | i = (i+1) * 8 * sizeof(long); | ||
674 | return i; | ||
675 | } | ||
676 | |||
677 | static struct files_struct *alloc_files(void) | ||
678 | { | ||
679 | struct files_struct *newf; | ||
680 | struct fdtable *fdt; | ||
681 | |||
682 | newf = kmem_cache_alloc(files_cachep, GFP_KERNEL); | ||
683 | if (!newf) | ||
684 | goto out; | ||
685 | |||
686 | atomic_set(&newf->count, 1); | ||
687 | |||
688 | spin_lock_init(&newf->file_lock); | ||
689 | newf->next_fd = 0; | ||
690 | fdt = &newf->fdtab; | ||
691 | fdt->max_fds = NR_OPEN_DEFAULT; | ||
692 | fdt->close_on_exec = (fd_set *)&newf->close_on_exec_init; | ||
693 | fdt->open_fds = (fd_set *)&newf->open_fds_init; | ||
694 | fdt->fd = &newf->fd_array[0]; | ||
695 | INIT_RCU_HEAD(&fdt->rcu); | ||
696 | fdt->next = NULL; | ||
697 | rcu_assign_pointer(newf->fdt, fdt); | ||
698 | out: | ||
699 | return newf; | ||
700 | } | ||
701 | |||
702 | /* | ||
703 | * Allocate a new files structure and copy contents from the | ||
704 | * passed in files structure. | ||
705 | * errorp will be valid only when the returned files_struct is NULL. | ||
706 | */ | ||
707 | static struct files_struct *dup_fd(struct files_struct *oldf, int *errorp) | ||
708 | { | ||
709 | struct files_struct *newf; | ||
710 | struct file **old_fds, **new_fds; | ||
711 | int open_files, size, i; | ||
712 | struct fdtable *old_fdt, *new_fdt; | ||
713 | |||
714 | *errorp = -ENOMEM; | ||
715 | newf = alloc_files(); | ||
716 | if (!newf) | ||
717 | goto out; | ||
718 | |||
719 | spin_lock(&oldf->file_lock); | ||
720 | old_fdt = files_fdtable(oldf); | ||
721 | new_fdt = files_fdtable(newf); | ||
722 | open_files = count_open_files(old_fdt); | ||
723 | |||
724 | /* | ||
725 | * Check whether we need to allocate a larger fd array and fd set. | ||
726 | * Note: we're not a clone task, so the open count won't change. | ||
727 | */ | ||
728 | if (open_files > new_fdt->max_fds) { | ||
729 | new_fdt->max_fds = 0; | ||
730 | spin_unlock(&oldf->file_lock); | ||
731 | spin_lock(&newf->file_lock); | ||
732 | *errorp = expand_files(newf, open_files-1); | ||
733 | spin_unlock(&newf->file_lock); | ||
734 | if (*errorp < 0) | ||
735 | goto out_release; | ||
736 | new_fdt = files_fdtable(newf); | ||
737 | /* | ||
738 | * Reacquire the oldf lock and a pointer to its fd table | ||
739 | * who knows it may have a new bigger fd table. We need | ||
740 | * the latest pointer. | ||
741 | */ | ||
742 | spin_lock(&oldf->file_lock); | ||
743 | old_fdt = files_fdtable(oldf); | ||
744 | } | ||
745 | |||
746 | old_fds = old_fdt->fd; | ||
747 | new_fds = new_fdt->fd; | ||
748 | |||
749 | memcpy(new_fdt->open_fds->fds_bits, | ||
750 | old_fdt->open_fds->fds_bits, open_files/8); | ||
751 | memcpy(new_fdt->close_on_exec->fds_bits, | ||
752 | old_fdt->close_on_exec->fds_bits, open_files/8); | ||
753 | |||
754 | for (i = open_files; i != 0; i--) { | ||
755 | struct file *f = *old_fds++; | ||
756 | if (f) { | ||
757 | get_file(f); | ||
758 | } else { | ||
759 | /* | ||
760 | * The fd may be claimed in the fd bitmap but not yet | ||
761 | * instantiated in the files array if a sibling thread | ||
762 | * is partway through open(). So make sure that this | ||
763 | * fd is available to the new process. | ||
764 | */ | ||
765 | FD_CLR(open_files - i, new_fdt->open_fds); | ||
766 | } | ||
767 | rcu_assign_pointer(*new_fds++, f); | ||
768 | } | ||
769 | spin_unlock(&oldf->file_lock); | ||
770 | |||
771 | /* compute the remainder to be cleared */ | ||
772 | size = (new_fdt->max_fds - open_files) * sizeof(struct file *); | ||
773 | |||
774 | /* This is long word aligned thus could use a optimized version */ | ||
775 | memset(new_fds, 0, size); | ||
776 | |||
777 | if (new_fdt->max_fds > open_files) { | ||
778 | int left = (new_fdt->max_fds-open_files)/8; | ||
779 | int start = open_files / (8 * sizeof(unsigned long)); | ||
780 | |||
781 | memset(&new_fdt->open_fds->fds_bits[start], 0, left); | ||
782 | memset(&new_fdt->close_on_exec->fds_bits[start], 0, left); | ||
783 | } | ||
784 | |||
785 | return newf; | ||
786 | |||
787 | out_release: | ||
788 | kmem_cache_free(files_cachep, newf); | ||
789 | out: | ||
790 | return NULL; | ||
791 | } | ||
792 | |||
793 | static int copy_files(unsigned long clone_flags, struct task_struct * tsk) | 663 | static int copy_files(unsigned long clone_flags, struct task_struct * tsk) |
794 | { | 664 | { |
795 | struct files_struct *oldf, *newf; | 665 | struct files_struct *oldf, *newf; |
diff --git a/kernel/sysctl.c b/kernel/sysctl.c index d7ffdc59816a..29116652dca8 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c | |||
@@ -81,6 +81,7 @@ extern int compat_log; | |||
81 | extern int maps_protect; | 81 | extern int maps_protect; |
82 | extern int sysctl_stat_interval; | 82 | extern int sysctl_stat_interval; |
83 | extern int latencytop_enabled; | 83 | extern int latencytop_enabled; |
84 | extern int sysctl_nr_open_min, sysctl_nr_open_max; | ||
84 | 85 | ||
85 | /* Constants used for minimum and maximum */ | 86 | /* Constants used for minimum and maximum */ |
86 | #if defined(CONFIG_DETECT_SOFTLOCKUP) || defined(CONFIG_HIGHMEM) | 87 | #if defined(CONFIG_DETECT_SOFTLOCKUP) || defined(CONFIG_HIGHMEM) |
@@ -1190,7 +1191,9 @@ static struct ctl_table fs_table[] = { | |||
1190 | .data = &sysctl_nr_open, | 1191 | .data = &sysctl_nr_open, |
1191 | .maxlen = sizeof(int), | 1192 | .maxlen = sizeof(int), |
1192 | .mode = 0644, | 1193 | .mode = 0644, |
1193 | .proc_handler = &proc_dointvec, | 1194 | .proc_handler = &proc_dointvec_minmax, |
1195 | .extra1 = &sysctl_nr_open_min, | ||
1196 | .extra2 = &sysctl_nr_open_max, | ||
1194 | }, | 1197 | }, |
1195 | { | 1198 | { |
1196 | .ctl_name = FS_DENTRY, | 1199 | .ctl_name = FS_DENTRY, |
diff --git a/net/sunrpc/auth_generic.c b/net/sunrpc/auth_generic.c index d927d9f57412..744b79fdcb19 100644 --- a/net/sunrpc/auth_generic.c +++ b/net/sunrpc/auth_generic.c | |||
@@ -17,8 +17,8 @@ | |||
17 | # define RPCDBG_FACILITY RPCDBG_AUTH | 17 | # define RPCDBG_FACILITY RPCDBG_AUTH |
18 | #endif | 18 | #endif |
19 | 19 | ||
20 | #define RPC_ANONYMOUS_USERID ((uid_t)-2) | 20 | #define RPC_MACHINE_CRED_USERID ((uid_t)0) |
21 | #define RPC_ANONYMOUS_GROUPID ((gid_t)-2) | 21 | #define RPC_MACHINE_CRED_GROUPID ((gid_t)0) |
22 | 22 | ||
23 | struct generic_cred { | 23 | struct generic_cred { |
24 | struct rpc_cred gc_base; | 24 | struct rpc_cred gc_base; |
@@ -44,8 +44,8 @@ EXPORT_SYMBOL_GPL(rpc_lookup_cred); | |||
44 | struct rpc_cred *rpc_lookup_machine_cred(void) | 44 | struct rpc_cred *rpc_lookup_machine_cred(void) |
45 | { | 45 | { |
46 | struct auth_cred acred = { | 46 | struct auth_cred acred = { |
47 | .uid = RPC_ANONYMOUS_USERID, | 47 | .uid = RPC_MACHINE_CRED_USERID, |
48 | .gid = RPC_ANONYMOUS_GROUPID, | 48 | .gid = RPC_MACHINE_CRED_GROUPID, |
49 | .machine_cred = 1, | 49 | .machine_cred = 1, |
50 | }; | 50 | }; |
51 | 51 | ||
diff --git a/scripts/kallsyms.c b/scripts/kallsyms.c index 5d20a2e24cd1..ad2434b26970 100644 --- a/scripts/kallsyms.c +++ b/scripts/kallsyms.c | |||
@@ -108,6 +108,9 @@ static int read_symbol(FILE *in, struct sym_entry *s) | |||
108 | /* exclude also MIPS ELF local symbols ($L123 instead of .L123) */ | 108 | /* exclude also MIPS ELF local symbols ($L123 instead of .L123) */ |
109 | else if (str[0] == '$') | 109 | else if (str[0] == '$') |
110 | return -1; | 110 | return -1; |
111 | /* exclude debugging symbols */ | ||
112 | else if (stype == 'N') | ||
113 | return -1; | ||
111 | 114 | ||
112 | /* include the type field in the symbol name, so that it gets | 115 | /* include the type field in the symbol name, so that it gets |
113 | * compressed together */ | 116 | * compressed together */ |
diff --git a/scripts/kconfig/util.c b/scripts/kconfig/util.c index f8e73c039dc8..3cc9f9369036 100644 --- a/scripts/kconfig/util.c +++ b/scripts/kconfig/util.c | |||
@@ -77,7 +77,7 @@ struct gstr str_new(void) | |||
77 | { | 77 | { |
78 | struct gstr gs; | 78 | struct gstr gs; |
79 | gs.s = malloc(sizeof(char) * 64); | 79 | gs.s = malloc(sizeof(char) * 64); |
80 | gs.len = 16; | 80 | gs.len = 64; |
81 | strcpy(gs.s, "\0"); | 81 | strcpy(gs.s, "\0"); |
82 | return gs; | 82 | return gs; |
83 | } | 83 | } |
diff --git a/scripts/kernel-doc b/scripts/kernel-doc index 83cee18a02e9..88e3934a8b8c 100755 --- a/scripts/kernel-doc +++ b/scripts/kernel-doc | |||
@@ -1556,7 +1556,9 @@ sub create_parameterlist($$$) { | |||
1556 | push_parameter($2, "$type $1", $file); | 1556 | push_parameter($2, "$type $1", $file); |
1557 | } | 1557 | } |
1558 | elsif ($param =~ m/(.*?):(\d+)/) { | 1558 | elsif ($param =~ m/(.*?):(\d+)/) { |
1559 | push_parameter($1, "$type:$2", $file) | 1559 | if ($type ne "") { # skip unnamed bit-fields |
1560 | push_parameter($1, "$type:$2", $file) | ||
1561 | } | ||
1560 | } | 1562 | } |
1561 | else { | 1563 | else { |
1562 | push_parameter($param, $type, $file); | 1564 | push_parameter($param, $type, $file); |
diff --git a/scripts/mksysmap b/scripts/mksysmap index 4390fab9f5bd..6e133a0bae7a 100644 --- a/scripts/mksysmap +++ b/scripts/mksysmap | |||
@@ -32,6 +32,7 @@ | |||
32 | # For System.map filter away: | 32 | # For System.map filter away: |
33 | # a - local absolute symbols | 33 | # a - local absolute symbols |
34 | # U - undefined global symbols | 34 | # U - undefined global symbols |
35 | # N - debugging symbols | ||
35 | # w - local weak symbols | 36 | # w - local weak symbols |
36 | 37 | ||
37 | # readprofile starts reading symbols when _stext is found, and | 38 | # readprofile starts reading symbols when _stext is found, and |
@@ -40,5 +41,5 @@ | |||
40 | # so we just ignore them to let readprofile continue to work. | 41 | # so we just ignore them to let readprofile continue to work. |
41 | # (At least sparc64 has __crc_ in the middle). | 42 | # (At least sparc64 has __crc_ in the middle). |
42 | 43 | ||
43 | $NM -n $1 | grep -v '\( [aUw] \)\|\(__crc_\)\|\( \$[adt]\)' > $2 | 44 | $NM -n $1 | grep -v '\( [aNUw] \)\|\(__crc_\)\|\( \$[adt]\)' > $2 |
44 | 45 | ||
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c index 757294b4f322..508c5895c680 100644 --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c | |||
@@ -721,7 +721,7 @@ static int check_section(const char *modname, const char *sec) | |||
721 | /* consume all digits */ | 721 | /* consume all digits */ |
722 | while (*e && e != sec && isdigit(*e)) | 722 | while (*e && e != sec && isdigit(*e)) |
723 | e--; | 723 | e--; |
724 | if (*e == '.') { | 724 | if (*e == '.' && !strstr(sec, ".linkonce")) { |
725 | warn("%s (%s): unexpected section name.\n" | 725 | warn("%s (%s): unexpected section name.\n" |
726 | "The (.[number]+) following section name are " | 726 | "The (.[number]+) following section name are " |
727 | "ld generated and not expected.\n" | 727 | "ld generated and not expected.\n" |
diff --git a/sound/Kconfig b/sound/Kconfig index b2a2db47aff5..4247406160e7 100644 --- a/sound/Kconfig +++ b/sound/Kconfig | |||
@@ -28,11 +28,6 @@ config SOUND | |||
28 | and read <file:Documentation/sound/oss/README.modules>; the module | 28 | and read <file:Documentation/sound/oss/README.modules>; the module |
29 | will be called soundcore. | 29 | will be called soundcore. |
30 | 30 | ||
31 | I'm told that even without a sound card, you can make your computer | ||
32 | say more than an occasional beep, by programming the PC speaker. | ||
33 | Kernel patches and supporting utilities to do that are in the pcsp | ||
34 | package, available at <ftp://ftp.infradead.org/pub/pcsp/>. | ||
35 | |||
36 | source "sound/oss/dmasound/Kconfig" | 31 | source "sound/oss/dmasound/Kconfig" |
37 | 32 | ||
38 | if !M68K | 33 | if !M68K |
diff --git a/sound/drivers/Kconfig b/sound/drivers/Kconfig index 379bcb074463..602b58e3b55d 100644 --- a/sound/drivers/Kconfig +++ b/sound/drivers/Kconfig | |||
@@ -5,9 +5,10 @@ menu "Generic devices" | |||
5 | 5 | ||
6 | 6 | ||
7 | config SND_PCSP | 7 | config SND_PCSP |
8 | tristate "PC-Speaker support" | 8 | tristate "PC-Speaker support (READ HELP!)" |
9 | depends on PCSPKR_PLATFORM && X86_PC && HIGH_RES_TIMERS | 9 | depends on PCSPKR_PLATFORM && X86_PC && HIGH_RES_TIMERS |
10 | depends on INPUT | 10 | depends on INPUT |
11 | depends on EXPERIMENTAL | ||
11 | depends on SND | 12 | depends on SND |
12 | select SND_PCM | 13 | select SND_PCM |
13 | help | 14 | help |
@@ -18,11 +19,21 @@ config SND_PCSP | |||
18 | 19 | ||
19 | You can compile this as a module which will be called snd-pcsp. | 20 | You can compile this as a module which will be called snd-pcsp. |
20 | 21 | ||
22 | WARNING: if you already have a soundcard, enabling this | ||
23 | driver may lead to a problem. Namely, it may get loaded | ||
24 | before the other sound driver of yours, making the | ||
25 | pc-speaker a default sound device. Which is likely not | ||
26 | what you want. To make this driver play nicely with other | ||
27 | sound driver, you can add this into your /etc/modprobe.conf: | ||
28 | options snd-pcsp index=2 | ||
29 | |||
21 | You don't need this driver if you only want your pc-speaker to beep. | 30 | You don't need this driver if you only want your pc-speaker to beep. |
22 | You don't need this driver if you have a tablet piezo beeper | 31 | You don't need this driver if you have a tablet piezo beeper |
23 | in your PC instead of the real speaker. | 32 | in your PC instead of the real speaker. |
24 | 33 | ||
25 | It should not hurt to say Y or M here in all other cases. | 34 | Say N if you have a sound card. |
35 | Say M if you don't. | ||
36 | Say Y only if you really know what you do. | ||
26 | 37 | ||
27 | config SND_MPU401_UART | 38 | config SND_MPU401_UART |
28 | tristate | 39 | tristate |
diff --git a/sound/drivers/pcsp/pcsp_lib.c b/sound/drivers/pcsp/pcsp_lib.c index ac6238e93513..7ad4a1534b2b 100644 --- a/sound/drivers/pcsp/pcsp_lib.c +++ b/sound/drivers/pcsp/pcsp_lib.c | |||
@@ -18,6 +18,8 @@ module_param(nforce_wa, bool, 0444); | |||
18 | MODULE_PARM_DESC(nforce_wa, "Apply NForce chipset workaround " | 18 | MODULE_PARM_DESC(nforce_wa, "Apply NForce chipset workaround " |
19 | "(expect bad sound)"); | 19 | "(expect bad sound)"); |
20 | 20 | ||
21 | #define DMIX_WANTS_S16 1 | ||
22 | |||
21 | static void pcsp_start_timer(unsigned long dummy) | 23 | static void pcsp_start_timer(unsigned long dummy) |
22 | { | 24 | { |
23 | hrtimer_start(&pcsp_chip.timer, ktime_set(0, 0), HRTIMER_MODE_REL); | 25 | hrtimer_start(&pcsp_chip.timer, ktime_set(0, 0), HRTIMER_MODE_REL); |
@@ -47,7 +49,7 @@ enum hrtimer_restart pcsp_do_timer(struct hrtimer *handle) | |||
47 | { | 49 | { |
48 | unsigned long flags; | 50 | unsigned long flags; |
49 | unsigned char timer_cnt, val; | 51 | unsigned char timer_cnt, val; |
50 | int periods_elapsed; | 52 | int fmt_size, periods_elapsed; |
51 | u64 ns; | 53 | u64 ns; |
52 | size_t period_bytes, buffer_bytes; | 54 | size_t period_bytes, buffer_bytes; |
53 | struct snd_pcm_substream *substream; | 55 | struct snd_pcm_substream *substream; |
@@ -92,8 +94,11 @@ enum hrtimer_restart pcsp_do_timer(struct hrtimer *handle) | |||
92 | goto exit_nr_unlock2; | 94 | goto exit_nr_unlock2; |
93 | 95 | ||
94 | runtime = substream->runtime; | 96 | runtime = substream->runtime; |
95 | /* assume it is u8 mono */ | 97 | fmt_size = snd_pcm_format_physical_width(runtime->format) >> 3; |
96 | val = runtime->dma_area[chip->playback_ptr]; | 98 | /* assume it is mono! */ |
99 | val = runtime->dma_area[chip->playback_ptr + fmt_size - 1]; | ||
100 | if (snd_pcm_format_signed(runtime->format)) | ||
101 | val ^= 0x80; | ||
97 | timer_cnt = val * CUR_DIV() / 256; | 102 | timer_cnt = val * CUR_DIV() / 256; |
98 | 103 | ||
99 | if (timer_cnt && chip->enable) { | 104 | if (timer_cnt && chip->enable) { |
@@ -111,12 +116,14 @@ enum hrtimer_restart pcsp_do_timer(struct hrtimer *handle) | |||
111 | 116 | ||
112 | period_bytes = snd_pcm_lib_period_bytes(substream); | 117 | period_bytes = snd_pcm_lib_period_bytes(substream); |
113 | buffer_bytes = snd_pcm_lib_buffer_bytes(substream); | 118 | buffer_bytes = snd_pcm_lib_buffer_bytes(substream); |
114 | chip->playback_ptr += PCSP_INDEX_INC(); | 119 | chip->playback_ptr += PCSP_INDEX_INC() * fmt_size; |
115 | periods_elapsed = chip->playback_ptr - chip->period_ptr; | 120 | periods_elapsed = chip->playback_ptr - chip->period_ptr; |
116 | if (periods_elapsed < 0) { | 121 | if (periods_elapsed < 0) { |
117 | printk(KERN_WARNING "PCSP: playback_ptr inconsistent " | 122 | #if PCSP_DEBUG |
123 | printk(KERN_INFO "PCSP: buffer_bytes mod period_bytes != 0 ? " | ||
118 | "(%zi %zi %zi)\n", | 124 | "(%zi %zi %zi)\n", |
119 | chip->playback_ptr, period_bytes, buffer_bytes); | 125 | chip->playback_ptr, period_bytes, buffer_bytes); |
126 | #endif | ||
120 | periods_elapsed += buffer_bytes; | 127 | periods_elapsed += buffer_bytes; |
121 | } | 128 | } |
122 | periods_elapsed /= period_bytes; | 129 | periods_elapsed /= period_bytes; |
@@ -270,7 +277,11 @@ static struct snd_pcm_hardware snd_pcsp_playback = { | |||
270 | .info = (SNDRV_PCM_INFO_INTERLEAVED | | 277 | .info = (SNDRV_PCM_INFO_INTERLEAVED | |
271 | SNDRV_PCM_INFO_HALF_DUPLEX | | 278 | SNDRV_PCM_INFO_HALF_DUPLEX | |
272 | SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID), | 279 | SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID), |
273 | .formats = SNDRV_PCM_FMTBIT_U8, | 280 | .formats = (SNDRV_PCM_FMTBIT_U8 |
281 | #if DMIX_WANTS_S16 | ||
282 | | SNDRV_PCM_FMTBIT_S16_LE | ||
283 | #endif | ||
284 | ), | ||
274 | .rates = SNDRV_PCM_RATE_KNOT, | 285 | .rates = SNDRV_PCM_RATE_KNOT, |
275 | .rate_min = PCSP_DEFAULT_SRATE, | 286 | .rate_min = PCSP_DEFAULT_SRATE, |
276 | .rate_max = PCSP_DEFAULT_SRATE, | 287 | .rate_max = PCSP_DEFAULT_SRATE, |
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index f7ba099049ea..2d29e260da3d 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c | |||
@@ -758,25 +758,26 @@ void mark_page_dirty(struct kvm *kvm, gfn_t gfn) | |||
758 | */ | 758 | */ |
759 | void kvm_vcpu_block(struct kvm_vcpu *vcpu) | 759 | void kvm_vcpu_block(struct kvm_vcpu *vcpu) |
760 | { | 760 | { |
761 | DECLARE_WAITQUEUE(wait, current); | 761 | DEFINE_WAIT(wait); |
762 | 762 | ||
763 | add_wait_queue(&vcpu->wq, &wait); | 763 | for (;;) { |
764 | 764 | prepare_to_wait(&vcpu->wq, &wait, TASK_INTERRUPTIBLE); | |
765 | /* | 765 | |
766 | * We will block until either an interrupt or a signal wakes us up | 766 | if (kvm_cpu_has_interrupt(vcpu)) |
767 | */ | 767 | break; |
768 | while (!kvm_cpu_has_interrupt(vcpu) | 768 | if (kvm_cpu_has_pending_timer(vcpu)) |
769 | && !kvm_cpu_has_pending_timer(vcpu) | 769 | break; |
770 | && !signal_pending(current) | 770 | if (kvm_arch_vcpu_runnable(vcpu)) |
771 | && !kvm_arch_vcpu_runnable(vcpu)) { | 771 | break; |
772 | set_current_state(TASK_INTERRUPTIBLE); | 772 | if (signal_pending(current)) |
773 | break; | ||
774 | |||
773 | vcpu_put(vcpu); | 775 | vcpu_put(vcpu); |
774 | schedule(); | 776 | schedule(); |
775 | vcpu_load(vcpu); | 777 | vcpu_load(vcpu); |
776 | } | 778 | } |
777 | 779 | ||
778 | __set_current_state(TASK_RUNNING); | 780 | finish_wait(&vcpu->wq, &wait); |
779 | remove_wait_queue(&vcpu->wq, &wait); | ||
780 | } | 781 | } |
781 | 782 | ||
782 | void kvm_resched(struct kvm_vcpu *vcpu) | 783 | void kvm_resched(struct kvm_vcpu *vcpu) |