mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-24 09:50:04 +00:00
Merge branches 'sched/clock', 'sched/urgent' and 'linus' into sched/core
This commit is contained in:
commit
f6411fe7e0
145 changed files with 1344 additions and 946 deletions
|
@ -298,3 +298,15 @@ over a rather long period of time, but improvements are always welcome!
|
||||||
|
|
||||||
Note that, rcu_assign_pointer() and rcu_dereference() relate to
|
Note that, rcu_assign_pointer() and rcu_dereference() relate to
|
||||||
SRCU just as they do to other forms of RCU.
|
SRCU just as they do to other forms of RCU.
|
||||||
|
|
||||||
|
15. The whole point of call_rcu(), synchronize_rcu(), and friends
|
||||||
|
is to wait until all pre-existing readers have finished before
|
||||||
|
carrying out some otherwise-destructive operation. It is
|
||||||
|
therefore critically important to -first- remove any path
|
||||||
|
that readers can follow that could be affected by the
|
||||||
|
destructive operation, and -only- -then- invoke call_rcu(),
|
||||||
|
synchronize_rcu(), or friends.
|
||||||
|
|
||||||
|
Because these primitives only wait for pre-existing readers,
|
||||||
|
it is the caller's responsibility to guarantee safety to
|
||||||
|
any subsequent readers.
|
||||||
|
|
|
@ -335,3 +335,12 @@ Why: In 2.6.18 the Secmark concept was introduced to replace the "compat_net"
|
||||||
Secmark, it is time to deprecate the older mechanism and start the
|
Secmark, it is time to deprecate the older mechanism and start the
|
||||||
process of removing the old code.
|
process of removing the old code.
|
||||||
Who: Paul Moore <paul.moore@hp.com>
|
Who: Paul Moore <paul.moore@hp.com>
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
What: sysfs ui for changing p4-clockmod parameters
|
||||||
|
When: September 2009
|
||||||
|
Why: See commits 129f8ae9b1b5be94517da76009ea956e89104ce8 and
|
||||||
|
e088e4c9cdb618675874becb91b2fd581ee707e6.
|
||||||
|
Removal is subject to fixing any remaining bugs in ACPI which may
|
||||||
|
cause the thermal throttling not to happen at the right time.
|
||||||
|
Who: Dave Jones <davej@redhat.com>, Matthew Garrett <mjg@redhat.com>
|
||||||
|
|
|
@ -373,10 +373,10 @@ Filesystem Resizing http://ext2resize.sourceforge.net/
|
||||||
Compression (*) http://e2compr.sourceforge.net/
|
Compression (*) http://e2compr.sourceforge.net/
|
||||||
|
|
||||||
Implementations for:
|
Implementations for:
|
||||||
Windows 95/98/NT/2000 http://uranus.it.swin.edu.au/~jn/linux/Explore2fs.htm
|
Windows 95/98/NT/2000 http://www.chrysocome.net/explore2fs
|
||||||
Windows 95 (*) http://www.yipton.demon.co.uk/content.html#FSDEXT2
|
Windows 95 (*) http://www.yipton.net/content.html#FSDEXT2
|
||||||
DOS client (*) ftp://metalab.unc.edu/pub/Linux/system/filesystems/ext2/
|
DOS client (*) ftp://metalab.unc.edu/pub/Linux/system/filesystems/ext2/
|
||||||
OS/2 http://perso.wanadoo.fr/matthieu.willm/ext2-os2/
|
OS/2 (*) ftp://metalab.unc.edu/pub/Linux/system/filesystems/ext2/
|
||||||
RISC OS client ftp://ftp.barnet.ac.uk/pub/acorn/armlinux/iscafs/
|
RISC OS client http://www.esw-heim.tu-clausthal.de/~marco/smorbrod/IscaFS/
|
||||||
|
|
||||||
(*) no longer actively developed/supported (as of Apr 2001)
|
(*) no longer actively developed/supported (as of Mar 2009)
|
||||||
|
|
|
@ -198,5 +198,5 @@ kernel source: <file:fs/ext3/>
|
||||||
programs: http://e2fsprogs.sourceforge.net/
|
programs: http://e2fsprogs.sourceforge.net/
|
||||||
http://ext2resize.sourceforge.net
|
http://ext2resize.sourceforge.net
|
||||||
|
|
||||||
useful links: http://www-106.ibm.com/developerworks/linux/library/l-fs7/
|
useful links: http://www.ibm.com/developerworks/library/l-fs7.html
|
||||||
http://www-106.ibm.com/developerworks/linux/library/l-fs8/
|
http://www.ibm.com/developerworks/library/l-fs8.html
|
||||||
|
|
|
@ -42,6 +42,11 @@ Supported chips:
|
||||||
Addresses scanned: I2C 0x4e
|
Addresses scanned: I2C 0x4e
|
||||||
Datasheet: Publicly available at the Maxim website
|
Datasheet: Publicly available at the Maxim website
|
||||||
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3497
|
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3497
|
||||||
|
* Maxim MAX6648
|
||||||
|
Prefix: 'max6646'
|
||||||
|
Addresses scanned: I2C 0x4c
|
||||||
|
Datasheet: Publicly available at the Maxim website
|
||||||
|
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3500
|
||||||
* Maxim MAX6649
|
* Maxim MAX6649
|
||||||
Prefix: 'max6646'
|
Prefix: 'max6646'
|
||||||
Addresses scanned: I2C 0x4c
|
Addresses scanned: I2C 0x4c
|
||||||
|
@ -74,6 +79,11 @@ Supported chips:
|
||||||
0x4c, 0x4d and 0x4e
|
0x4c, 0x4d and 0x4e
|
||||||
Datasheet: Publicly available at the Maxim website
|
Datasheet: Publicly available at the Maxim website
|
||||||
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3370
|
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3370
|
||||||
|
* Maxim MAX6692
|
||||||
|
Prefix: 'max6646'
|
||||||
|
Addresses scanned: I2C 0x4c
|
||||||
|
Datasheet: Publicly available at the Maxim website
|
||||||
|
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3500
|
||||||
|
|
||||||
|
|
||||||
Author: Jean Delvare <khali@linux-fr.org>
|
Author: Jean Delvare <khali@linux-fr.org>
|
||||||
|
|
35
Documentation/networking/ipv6.txt
Normal file
35
Documentation/networking/ipv6.txt
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
|
||||||
|
Options for the ipv6 module are supplied as parameters at load time.
|
||||||
|
|
||||||
|
Module options may be given as command line arguments to the insmod
|
||||||
|
or modprobe command, but are usually specified in either the
|
||||||
|
/etc/modules.conf or /etc/modprobe.conf configuration file, or in a
|
||||||
|
distro-specific configuration file.
|
||||||
|
|
||||||
|
The available ipv6 module parameters are listed below. If a parameter
|
||||||
|
is not specified the default value is used.
|
||||||
|
|
||||||
|
The parameters are as follows:
|
||||||
|
|
||||||
|
disable
|
||||||
|
|
||||||
|
Specifies whether to load the IPv6 module, but disable all
|
||||||
|
its functionality. This might be used when another module
|
||||||
|
has a dependency on the IPv6 module being loaded, but no
|
||||||
|
IPv6 addresses or operations are desired.
|
||||||
|
|
||||||
|
The possible values and their effects are:
|
||||||
|
|
||||||
|
0
|
||||||
|
IPv6 is enabled.
|
||||||
|
|
||||||
|
This is the default value.
|
||||||
|
|
||||||
|
1
|
||||||
|
IPv6 is disabled.
|
||||||
|
|
||||||
|
No IPv6 addresses will be added to interfaces, and
|
||||||
|
it will not be possible to open an IPv6 socket.
|
||||||
|
|
||||||
|
A reboot is required to enable IPv6.
|
||||||
|
|
|
@ -1469,8 +1469,6 @@ L: linux-acpi@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
|
|
||||||
DOCUMENTATION (/Documentation directory)
|
DOCUMENTATION (/Documentation directory)
|
||||||
P: Michael Kerrisk
|
|
||||||
M: mtk.manpages@gmail.com
|
|
||||||
P: Randy Dunlap
|
P: Randy Dunlap
|
||||||
M: rdunlap@xenotime.net
|
M: rdunlap@xenotime.net
|
||||||
L: linux-doc@vger.kernel.org
|
L: linux-doc@vger.kernel.org
|
||||||
|
@ -2879,7 +2877,7 @@ P: Michael Kerrisk
|
||||||
M: mtk.manpages@gmail.com
|
M: mtk.manpages@gmail.com
|
||||||
W: http://www.kernel.org/doc/man-pages
|
W: http://www.kernel.org/doc/man-pages
|
||||||
L: linux-man@vger.kernel.org
|
L: linux-man@vger.kernel.org
|
||||||
S: Supported
|
S: Maintained
|
||||||
|
|
||||||
MARVELL LIBERTAS WIRELESS DRIVER
|
MARVELL LIBERTAS WIRELESS DRIVER
|
||||||
P: Dan Williams
|
P: Dan Williams
|
||||||
|
|
14
Makefile
14
Makefile
|
@ -904,12 +904,18 @@ localver = $(subst $(space),, $(string) \
|
||||||
# and if the SCM is know a tag from the SCM is appended.
|
# and if the SCM is know a tag from the SCM is appended.
|
||||||
# The appended tag is determined by the SCM used.
|
# The appended tag is determined by the SCM used.
|
||||||
#
|
#
|
||||||
# Currently, only git is supported.
|
# .scmversion is used when generating rpm packages so we do not loose
|
||||||
# Other SCMs can edit scripts/setlocalversion and add the appropriate
|
# the version information from the SCM when we do the build of the kernel
|
||||||
# checks as needed.
|
# from the copied source
|
||||||
ifdef CONFIG_LOCALVERSION_AUTO
|
ifdef CONFIG_LOCALVERSION_AUTO
|
||||||
|
|
||||||
|
ifeq ($(wildcard .scmversion),)
|
||||||
_localver-auto = $(shell $(CONFIG_SHELL) \
|
_localver-auto = $(shell $(CONFIG_SHELL) \
|
||||||
$(srctree)/scripts/setlocalversion $(srctree))
|
$(srctree)/scripts/setlocalversion $(srctree))
|
||||||
|
else
|
||||||
|
_localver-auto = $(shell cat .scmversion 2> /dev/null)
|
||||||
|
endif
|
||||||
|
|
||||||
localver-auto = $(LOCALVERSION)$(_localver-auto)
|
localver-auto = $(LOCALVERSION)$(_localver-auto)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -1537,7 +1543,7 @@ quiet_cmd_depmod = DEPMOD $(KERNELRELEASE)
|
||||||
cmd_depmod = \
|
cmd_depmod = \
|
||||||
if [ -r System.map -a -x $(DEPMOD) ]; then \
|
if [ -r System.map -a -x $(DEPMOD) ]; then \
|
||||||
$(DEPMOD) -ae -F System.map \
|
$(DEPMOD) -ae -F System.map \
|
||||||
$(if $(strip $(INSTALL_MOD_PATH)), -b $(INSTALL_MOD_PATH) -r) \
|
$(if $(strip $(INSTALL_MOD_PATH)), -b $(INSTALL_MOD_PATH) ) \
|
||||||
$(KERNELRELEASE); \
|
$(KERNELRELEASE); \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -81,7 +81,7 @@ static inline void __init ldp_init_smc911x(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
ldp_smc911x_resources[0].start = cs_mem_base + 0x0;
|
ldp_smc911x_resources[0].start = cs_mem_base + 0x0;
|
||||||
ldp_smc911x_resources[0].end = cs_mem_base + 0xf;
|
ldp_smc911x_resources[0].end = cs_mem_base + 0xff;
|
||||||
udelay(100);
|
udelay(100);
|
||||||
|
|
||||||
eth_gpio = LDP_SMC911X_GPIO;
|
eth_gpio = LDP_SMC911X_GPIO;
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
#include <asm/coldfire.h>
|
#include <asm/coldfire.h>
|
||||||
#include <asm/mcfsim.h>
|
#include <asm/mcfsim.h>
|
||||||
#include <asm/mcfdma.h>
|
#include <asm/mcfdma.h>
|
||||||
|
#include <asm/mcfuart.h>
|
||||||
|
|
||||||
/***************************************************************************/
|
/***************************************************************************/
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,6 @@
|
||||||
#include <asm/coldfire.h>
|
#include <asm/coldfire.h>
|
||||||
#include <asm/mcfsim.h>
|
#include <asm/mcfsim.h>
|
||||||
#include <asm/mcfuart.h>
|
#include <asm/mcfuart.h>
|
||||||
#include <asm/mcfqspi.h>
|
|
||||||
|
|
||||||
#ifdef CONFIG_MTD_PARTITIONS
|
#ifdef CONFIG_MTD_PARTITIONS
|
||||||
#include <linux/mtd/partitions.h>
|
#include <linux/mtd/partitions.h>
|
||||||
|
@ -33,233 +32,6 @@
|
||||||
/***************************************************************************/
|
/***************************************************************************/
|
||||||
|
|
||||||
void coldfire_reset(void);
|
void coldfire_reset(void);
|
||||||
static void coldfire_qspi_cs_control(u8 cs, u8 command);
|
|
||||||
|
|
||||||
/***************************************************************************/
|
|
||||||
|
|
||||||
#if defined(CONFIG_SPI)
|
|
||||||
|
|
||||||
#if defined(CONFIG_WILDFIRE)
|
|
||||||
#define SPI_NUM_CHIPSELECTS 0x02
|
|
||||||
#define SPI_PAR_VAL 0x07 /* Enable DIN, DOUT, CLK */
|
|
||||||
#define SPI_CS_MASK 0x18
|
|
||||||
|
|
||||||
#define FLASH_BLOCKSIZE (1024*64)
|
|
||||||
#define FLASH_NUMBLOCKS 16
|
|
||||||
#define FLASH_TYPE "m25p80"
|
|
||||||
|
|
||||||
#define M25P80_CS 0
|
|
||||||
#define MMC_CS 1
|
|
||||||
|
|
||||||
#ifdef CONFIG_MTD_PARTITIONS
|
|
||||||
static struct mtd_partition stm25p_partitions[] = {
|
|
||||||
/* sflash */
|
|
||||||
[0] = {
|
|
||||||
.name = "stm25p80",
|
|
||||||
.offset = 0x00000000,
|
|
||||||
.size = FLASH_BLOCKSIZE * FLASH_NUMBLOCKS,
|
|
||||||
.mask_flags = 0
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#elif defined(CONFIG_WILDFIREMOD)
|
|
||||||
|
|
||||||
#define SPI_NUM_CHIPSELECTS 0x08
|
|
||||||
#define SPI_PAR_VAL 0x07 /* Enable DIN, DOUT, CLK */
|
|
||||||
#define SPI_CS_MASK 0x78
|
|
||||||
|
|
||||||
#define FLASH_BLOCKSIZE (1024*64)
|
|
||||||
#define FLASH_NUMBLOCKS 64
|
|
||||||
#define FLASH_TYPE "m25p32"
|
|
||||||
/* Reserve 1M for the kernel parition */
|
|
||||||
#define FLASH_KERNEL_SIZE (1024 * 1024)
|
|
||||||
|
|
||||||
#define M25P80_CS 5
|
|
||||||
#define MMC_CS 6
|
|
||||||
|
|
||||||
#ifdef CONFIG_MTD_PARTITIONS
|
|
||||||
static struct mtd_partition stm25p_partitions[] = {
|
|
||||||
/* sflash */
|
|
||||||
[0] = {
|
|
||||||
.name = "kernel",
|
|
||||||
.offset = FLASH_BLOCKSIZE * FLASH_NUMBLOCKS - FLASH_KERNEL_SIZE,
|
|
||||||
.size = FLASH_KERNEL_SIZE,
|
|
||||||
.mask_flags = 0
|
|
||||||
},
|
|
||||||
[1] = {
|
|
||||||
.name = "image",
|
|
||||||
.offset = 0x00000000,
|
|
||||||
.size = FLASH_BLOCKSIZE * FLASH_NUMBLOCKS - FLASH_KERNEL_SIZE,
|
|
||||||
.mask_flags = 0
|
|
||||||
},
|
|
||||||
[2] = {
|
|
||||||
.name = "all",
|
|
||||||
.offset = 0x00000000,
|
|
||||||
.size = FLASH_BLOCKSIZE * FLASH_NUMBLOCKS,
|
|
||||||
.mask_flags = 0
|
|
||||||
}
|
|
||||||
};
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#else
|
|
||||||
#define SPI_NUM_CHIPSELECTS 0x04
|
|
||||||
#define SPI_PAR_VAL 0x7F /* Enable DIN, DOUT, CLK, CS0 - CS4 */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef MMC_CS
|
|
||||||
static struct coldfire_spi_chip flash_chip_info = {
|
|
||||||
.mode = SPI_MODE_0,
|
|
||||||
.bits_per_word = 16,
|
|
||||||
.del_cs_to_clk = 17,
|
|
||||||
.del_after_trans = 1,
|
|
||||||
.void_write_data = 0
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct coldfire_spi_chip mmc_chip_info = {
|
|
||||||
.mode = SPI_MODE_0,
|
|
||||||
.bits_per_word = 16,
|
|
||||||
.del_cs_to_clk = 17,
|
|
||||||
.del_after_trans = 1,
|
|
||||||
.void_write_data = 0xFFFF
|
|
||||||
};
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef M25P80_CS
|
|
||||||
static struct flash_platform_data stm25p80_platform_data = {
|
|
||||||
.name = "ST M25P80 SPI Flash chip",
|
|
||||||
#ifdef CONFIG_MTD_PARTITIONS
|
|
||||||
.parts = stm25p_partitions,
|
|
||||||
.nr_parts = sizeof(stm25p_partitions) / sizeof(*stm25p_partitions),
|
|
||||||
#endif
|
|
||||||
.type = FLASH_TYPE
|
|
||||||
};
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static struct spi_board_info spi_board_info[] __initdata = {
|
|
||||||
#ifdef M25P80_CS
|
|
||||||
{
|
|
||||||
.modalias = "m25p80",
|
|
||||||
.max_speed_hz = 16000000,
|
|
||||||
.bus_num = 1,
|
|
||||||
.chip_select = M25P80_CS,
|
|
||||||
.platform_data = &stm25p80_platform_data,
|
|
||||||
.controller_data = &flash_chip_info
|
|
||||||
},
|
|
||||||
#endif
|
|
||||||
#ifdef MMC_CS
|
|
||||||
{
|
|
||||||
.modalias = "mmc_spi",
|
|
||||||
.max_speed_hz = 16000000,
|
|
||||||
.bus_num = 1,
|
|
||||||
.chip_select = MMC_CS,
|
|
||||||
.controller_data = &mmc_chip_info
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct coldfire_spi_master coldfire_master_info = {
|
|
||||||
.bus_num = 1,
|
|
||||||
.num_chipselect = SPI_NUM_CHIPSELECTS,
|
|
||||||
.irq_source = MCF5282_QSPI_IRQ_SOURCE,
|
|
||||||
.irq_vector = MCF5282_QSPI_IRQ_VECTOR,
|
|
||||||
.irq_mask = ((0x01 << MCF5282_QSPI_IRQ_SOURCE) | 0x01),
|
|
||||||
.irq_lp = 0x2B, /* Level 5 and Priority 3 */
|
|
||||||
.par_val = SPI_PAR_VAL,
|
|
||||||
.cs_control = coldfire_qspi_cs_control,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct resource coldfire_spi_resources[] = {
|
|
||||||
[0] = {
|
|
||||||
.name = "qspi-par",
|
|
||||||
.start = MCF5282_QSPI_PAR,
|
|
||||||
.end = MCF5282_QSPI_PAR,
|
|
||||||
.flags = IORESOURCE_MEM
|
|
||||||
},
|
|
||||||
|
|
||||||
[1] = {
|
|
||||||
.name = "qspi-module",
|
|
||||||
.start = MCF5282_QSPI_QMR,
|
|
||||||
.end = MCF5282_QSPI_QMR + 0x18,
|
|
||||||
.flags = IORESOURCE_MEM
|
|
||||||
},
|
|
||||||
|
|
||||||
[2] = {
|
|
||||||
.name = "qspi-int-level",
|
|
||||||
.start = MCF5282_INTC0 + MCFINTC_ICR0 + MCF5282_QSPI_IRQ_SOURCE,
|
|
||||||
.end = MCF5282_INTC0 + MCFINTC_ICR0 + MCF5282_QSPI_IRQ_SOURCE,
|
|
||||||
.flags = IORESOURCE_MEM
|
|
||||||
},
|
|
||||||
|
|
||||||
[3] = {
|
|
||||||
.name = "qspi-int-mask",
|
|
||||||
.start = MCF5282_INTC0 + MCFINTC_IMRL,
|
|
||||||
.end = MCF5282_INTC0 + MCFINTC_IMRL,
|
|
||||||
.flags = IORESOURCE_MEM
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct platform_device coldfire_spi = {
|
|
||||||
.name = "spi_coldfire",
|
|
||||||
.id = -1,
|
|
||||||
.resource = coldfire_spi_resources,
|
|
||||||
.num_resources = ARRAY_SIZE(coldfire_spi_resources),
|
|
||||||
.dev = {
|
|
||||||
.platform_data = &coldfire_master_info,
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
static void coldfire_qspi_cs_control(u8 cs, u8 command)
|
|
||||||
{
|
|
||||||
u8 cs_bit = ((0x01 << cs) << 3) & SPI_CS_MASK;
|
|
||||||
|
|
||||||
#if defined(CONFIG_WILDFIRE)
|
|
||||||
u8 cs_mask = ~(((0x01 << cs) << 3) & SPI_CS_MASK);
|
|
||||||
#endif
|
|
||||||
#if defined(CONFIG_WILDFIREMOD)
|
|
||||||
u8 cs_mask = (cs << 3) & SPI_CS_MASK;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Don't do anything if the chip select is not
|
|
||||||
* one of the port qs pins.
|
|
||||||
*/
|
|
||||||
if (command & QSPI_CS_INIT) {
|
|
||||||
#if defined(CONFIG_WILDFIRE)
|
|
||||||
MCF5282_GPIO_DDRQS |= cs_bit;
|
|
||||||
MCF5282_GPIO_PQSPAR &= ~cs_bit;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(CONFIG_WILDFIREMOD)
|
|
||||||
MCF5282_GPIO_DDRQS |= SPI_CS_MASK;
|
|
||||||
MCF5282_GPIO_PQSPAR &= ~SPI_CS_MASK;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
if (command & QSPI_CS_ASSERT) {
|
|
||||||
MCF5282_GPIO_PORTQS &= ~SPI_CS_MASK;
|
|
||||||
MCF5282_GPIO_PORTQS |= cs_mask;
|
|
||||||
} else if (command & QSPI_CS_DROP) {
|
|
||||||
MCF5282_GPIO_PORTQS |= SPI_CS_MASK;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static int __init spi_dev_init(void)
|
|
||||||
{
|
|
||||||
int retval;
|
|
||||||
|
|
||||||
retval = platform_device_register(&coldfire_spi);
|
|
||||||
if (retval < 0)
|
|
||||||
return retval;
|
|
||||||
|
|
||||||
if (ARRAY_SIZE(spi_board_info))
|
|
||||||
retval = spi_register_board_info(spi_board_info, ARRAY_SIZE(spi_board_info));
|
|
||||||
|
|
||||||
return retval;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* CONFIG_SPI */
|
|
||||||
|
|
||||||
/***************************************************************************/
|
/***************************************************************************/
|
||||||
|
|
||||||
|
|
|
@ -512,7 +512,7 @@ CONFIG_MD_LINEAR=m
|
||||||
CONFIG_MD_RAID0=y
|
CONFIG_MD_RAID0=y
|
||||||
CONFIG_MD_RAID1=y
|
CONFIG_MD_RAID1=y
|
||||||
CONFIG_MD_RAID10=m
|
CONFIG_MD_RAID10=m
|
||||||
CONFIG_MD_RAID456=m
|
CONFIG_MD_RAID456=y
|
||||||
CONFIG_MD_RAID5_RESHAPE=y
|
CONFIG_MD_RAID5_RESHAPE=y
|
||||||
CONFIG_MD_MULTIPATH=m
|
CONFIG_MD_MULTIPATH=m
|
||||||
CONFIG_MD_FAULTY=m
|
CONFIG_MD_FAULTY=m
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#
|
#
|
||||||
# Automatically generated make config: don't edit
|
# Automatically generated make config: don't edit
|
||||||
# Linux kernel version: 2.6.26-rc9
|
# Linux kernel version: 2.6.29-rc7
|
||||||
# Fri Jul 11 23:01:36 2008
|
# Wed Mar 4 23:07:16 2009
|
||||||
#
|
#
|
||||||
CONFIG_MIPS=y
|
CONFIG_MIPS=y
|
||||||
|
|
||||||
|
@ -18,8 +18,10 @@ CONFIG_MIPS=y
|
||||||
# CONFIG_LEMOTE_FULONG is not set
|
# CONFIG_LEMOTE_FULONG is not set
|
||||||
# CONFIG_MIPS_MALTA is not set
|
# CONFIG_MIPS_MALTA is not set
|
||||||
# CONFIG_MIPS_SIM is not set
|
# CONFIG_MIPS_SIM is not set
|
||||||
# CONFIG_MARKEINS is not set
|
# CONFIG_MACH_EMMA is not set
|
||||||
# CONFIG_MACH_VR41XX is not set
|
# CONFIG_MACH_VR41XX is not set
|
||||||
|
# CONFIG_NXP_STB220 is not set
|
||||||
|
# CONFIG_NXP_STB225 is not set
|
||||||
# CONFIG_PNX8550_JBS is not set
|
# CONFIG_PNX8550_JBS is not set
|
||||||
# CONFIG_PNX8550_STB810 is not set
|
# CONFIG_PNX8550_STB810 is not set
|
||||||
# CONFIG_PMC_MSP is not set
|
# CONFIG_PMC_MSP is not set
|
||||||
|
@ -39,7 +41,11 @@ CONFIG_MIPS=y
|
||||||
# CONFIG_SNI_RM is not set
|
# CONFIG_SNI_RM is not set
|
||||||
CONFIG_MACH_TX39XX=y
|
CONFIG_MACH_TX39XX=y
|
||||||
# CONFIG_MACH_TX49XX is not set
|
# CONFIG_MACH_TX49XX is not set
|
||||||
|
# CONFIG_MIKROTIK_RB532 is not set
|
||||||
# CONFIG_WR_PPMC is not set
|
# CONFIG_WR_PPMC is not set
|
||||||
|
# CONFIG_CAVIUM_OCTEON_SIMULATOR is not set
|
||||||
|
# CONFIG_CAVIUM_OCTEON_REFERENCE_BOARD is not set
|
||||||
|
CONFIG_MACH_TXX9=y
|
||||||
CONFIG_TOSHIBA_JMR3927=y
|
CONFIG_TOSHIBA_JMR3927=y
|
||||||
CONFIG_SOC_TX3927=y
|
CONFIG_SOC_TX3927=y
|
||||||
# CONFIG_TOSHIBA_FPCIB0 is not set
|
# CONFIG_TOSHIBA_FPCIB0 is not set
|
||||||
|
@ -54,12 +60,14 @@ CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||||
CONFIG_GENERIC_TIME=y
|
CONFIG_GENERIC_TIME=y
|
||||||
CONFIG_GENERIC_CMOS_UPDATE=y
|
CONFIG_GENERIC_CMOS_UPDATE=y
|
||||||
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
|
CONFIG_SCHED_OMIT_FRAME_POINTER=y
|
||||||
CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
|
CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
|
||||||
CONFIG_CEVT_TXX9=y
|
CONFIG_CEVT_TXX9=y
|
||||||
CONFIG_GPIO_TXX9=y
|
CONFIG_GPIO_TXX9=y
|
||||||
CONFIG_DMA_NONCOHERENT=y
|
CONFIG_DMA_NONCOHERENT=y
|
||||||
CONFIG_DMA_NEED_PCI_MAP_STATE=y
|
CONFIG_DMA_NEED_PCI_MAP_STATE=y
|
||||||
|
CONFIG_EARLY_PRINTK=y
|
||||||
|
CONFIG_SYS_HAS_EARLY_PRINTK=y
|
||||||
# CONFIG_HOTPLUG_CPU is not set
|
# CONFIG_HOTPLUG_CPU is not set
|
||||||
# CONFIG_NO_IOPORT is not set
|
# CONFIG_NO_IOPORT is not set
|
||||||
CONFIG_GENERIC_GPIO=y
|
CONFIG_GENERIC_GPIO=y
|
||||||
|
@ -87,6 +95,7 @@ CONFIG_CPU_TX39XX=y
|
||||||
# CONFIG_CPU_TX49XX is not set
|
# CONFIG_CPU_TX49XX is not set
|
||||||
# CONFIG_CPU_R5000 is not set
|
# CONFIG_CPU_R5000 is not set
|
||||||
# CONFIG_CPU_R5432 is not set
|
# CONFIG_CPU_R5432 is not set
|
||||||
|
# CONFIG_CPU_R5500 is not set
|
||||||
# CONFIG_CPU_R6000 is not set
|
# CONFIG_CPU_R6000 is not set
|
||||||
# CONFIG_CPU_NEVADA is not set
|
# CONFIG_CPU_NEVADA is not set
|
||||||
# CONFIG_CPU_R8000 is not set
|
# CONFIG_CPU_R8000 is not set
|
||||||
|
@ -94,6 +103,7 @@ CONFIG_CPU_TX39XX=y
|
||||||
# CONFIG_CPU_RM7000 is not set
|
# CONFIG_CPU_RM7000 is not set
|
||||||
# CONFIG_CPU_RM9000 is not set
|
# CONFIG_CPU_RM9000 is not set
|
||||||
# CONFIG_CPU_SB1 is not set
|
# CONFIG_CPU_SB1 is not set
|
||||||
|
# CONFIG_CPU_CAVIUM_OCTEON is not set
|
||||||
CONFIG_SYS_HAS_CPU_TX39XX=y
|
CONFIG_SYS_HAS_CPU_TX39XX=y
|
||||||
CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
|
CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
|
||||||
CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
|
CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
|
||||||
|
@ -117,14 +127,12 @@ CONFIG_ARCH_FLATMEM_ENABLE=y
|
||||||
CONFIG_ARCH_POPULATES_NODE_MAP=y
|
CONFIG_ARCH_POPULATES_NODE_MAP=y
|
||||||
CONFIG_FLATMEM=y
|
CONFIG_FLATMEM=y
|
||||||
CONFIG_FLAT_NODE_MEM_MAP=y
|
CONFIG_FLAT_NODE_MEM_MAP=y
|
||||||
# CONFIG_SPARSEMEM_STATIC is not set
|
|
||||||
# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
|
|
||||||
CONFIG_PAGEFLAGS_EXTENDED=y
|
CONFIG_PAGEFLAGS_EXTENDED=y
|
||||||
CONFIG_SPLIT_PTLOCK_CPUS=4
|
CONFIG_SPLIT_PTLOCK_CPUS=4
|
||||||
# CONFIG_RESOURCES_64BIT is not set
|
# CONFIG_PHYS_ADDR_T_64BIT is not set
|
||||||
CONFIG_ZONE_DMA_FLAG=0
|
CONFIG_ZONE_DMA_FLAG=0
|
||||||
CONFIG_VIRT_TO_BUS=y
|
CONFIG_VIRT_TO_BUS=y
|
||||||
# CONFIG_TICK_ONESHOT is not set
|
CONFIG_UNEVICTABLE_LRU=y
|
||||||
# CONFIG_NO_HZ is not set
|
# CONFIG_NO_HZ is not set
|
||||||
# CONFIG_HIGH_RES_TIMERS is not set
|
# CONFIG_HIGH_RES_TIMERS is not set
|
||||||
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
|
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
|
||||||
|
@ -159,6 +167,15 @@ CONFIG_SYSVIPC_SYSCTL=y
|
||||||
# CONFIG_BSD_PROCESS_ACCT is not set
|
# CONFIG_BSD_PROCESS_ACCT is not set
|
||||||
# CONFIG_TASKSTATS is not set
|
# CONFIG_TASKSTATS is not set
|
||||||
# CONFIG_AUDIT is not set
|
# CONFIG_AUDIT is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# RCU Subsystem
|
||||||
|
#
|
||||||
|
CONFIG_CLASSIC_RCU=y
|
||||||
|
# CONFIG_TREE_RCU is not set
|
||||||
|
# CONFIG_PREEMPT_RCU is not set
|
||||||
|
# CONFIG_TREE_RCU_TRACE is not set
|
||||||
|
# CONFIG_PREEMPT_RCU_TRACE is not set
|
||||||
# CONFIG_IKCONFIG is not set
|
# CONFIG_IKCONFIG is not set
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
# CONFIG_CGROUPS is not set
|
# CONFIG_CGROUPS is not set
|
||||||
|
@ -171,7 +188,6 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||||
CONFIG_SYSCTL=y
|
CONFIG_SYSCTL=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EMBEDDED=y
|
||||||
CONFIG_SYSCTL_SYSCALL=y
|
CONFIG_SYSCTL_SYSCALL=y
|
||||||
CONFIG_SYSCTL_SYSCALL_CHECK=y
|
|
||||||
CONFIG_KALLSYMS=y
|
CONFIG_KALLSYMS=y
|
||||||
# CONFIG_KALLSYMS_EXTRA_PASS is not set
|
# CONFIG_KALLSYMS_EXTRA_PASS is not set
|
||||||
# CONFIG_HOTPLUG is not set
|
# CONFIG_HOTPLUG is not set
|
||||||
|
@ -188,26 +204,23 @@ CONFIG_SIGNALFD=y
|
||||||
CONFIG_TIMERFD=y
|
CONFIG_TIMERFD=y
|
||||||
CONFIG_EVENTFD=y
|
CONFIG_EVENTFD=y
|
||||||
CONFIG_SHMEM=y
|
CONFIG_SHMEM=y
|
||||||
|
CONFIG_AIO=y
|
||||||
CONFIG_VM_EVENT_COUNTERS=y
|
CONFIG_VM_EVENT_COUNTERS=y
|
||||||
|
CONFIG_PCI_QUIRKS=y
|
||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
# CONFIG_SLUB is not set
|
# CONFIG_SLUB is not set
|
||||||
# CONFIG_SLOB is not set
|
# CONFIG_SLOB is not set
|
||||||
# CONFIG_PROFILING is not set
|
# CONFIG_PROFILING is not set
|
||||||
# CONFIG_MARKERS is not set
|
|
||||||
CONFIG_HAVE_OPROFILE=y
|
CONFIG_HAVE_OPROFILE=y
|
||||||
# CONFIG_HAVE_KPROBES is not set
|
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
|
||||||
# CONFIG_HAVE_KRETPROBES is not set
|
|
||||||
# CONFIG_HAVE_DMA_ATTRS is not set
|
|
||||||
CONFIG_PROC_PAGE_MONITOR=y
|
|
||||||
CONFIG_SLABINFO=y
|
CONFIG_SLABINFO=y
|
||||||
CONFIG_RT_MUTEXES=y
|
CONFIG_RT_MUTEXES=y
|
||||||
# CONFIG_TINY_SHMEM is not set
|
|
||||||
CONFIG_BASE_SMALL=0
|
CONFIG_BASE_SMALL=0
|
||||||
# CONFIG_MODULES is not set
|
# CONFIG_MODULES is not set
|
||||||
CONFIG_BLOCK=y
|
CONFIG_BLOCK=y
|
||||||
# CONFIG_LBD is not set
|
# CONFIG_LBD is not set
|
||||||
# CONFIG_BLK_DEV_IO_TRACE is not set
|
# CONFIG_BLK_DEV_IO_TRACE is not set
|
||||||
# CONFIG_LSF is not set
|
# CONFIG_BLK_DEV_INTEGRITY is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# IO Schedulers
|
# IO Schedulers
|
||||||
|
@ -221,7 +234,7 @@ CONFIG_IOSCHED_CFQ=y
|
||||||
CONFIG_DEFAULT_CFQ=y
|
CONFIG_DEFAULT_CFQ=y
|
||||||
# CONFIG_DEFAULT_NOOP is not set
|
# CONFIG_DEFAULT_NOOP is not set
|
||||||
CONFIG_DEFAULT_IOSCHED="cfq"
|
CONFIG_DEFAULT_IOSCHED="cfq"
|
||||||
CONFIG_CLASSIC_RCU=y
|
# CONFIG_FREEZER is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Bus options (PCI, PCMCIA, EISA, ISA, TC)
|
# Bus options (PCI, PCMCIA, EISA, ISA, TC)
|
||||||
|
@ -231,12 +244,15 @@ CONFIG_PCI=y
|
||||||
CONFIG_PCI_DOMAINS=y
|
CONFIG_PCI_DOMAINS=y
|
||||||
# CONFIG_ARCH_SUPPORTS_MSI is not set
|
# CONFIG_ARCH_SUPPORTS_MSI is not set
|
||||||
CONFIG_PCI_LEGACY=y
|
CONFIG_PCI_LEGACY=y
|
||||||
|
# CONFIG_PCI_STUB is not set
|
||||||
CONFIG_MMU=y
|
CONFIG_MMU=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# Executable file formats
|
# Executable file formats
|
||||||
#
|
#
|
||||||
CONFIG_BINFMT_ELF=y
|
CONFIG_BINFMT_ELF=y
|
||||||
|
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||||
|
# CONFIG_HAVE_AOUT is not set
|
||||||
# CONFIG_BINFMT_MISC is not set
|
# CONFIG_BINFMT_MISC is not set
|
||||||
CONFIG_TRAD_SIGNALS=y
|
CONFIG_TRAD_SIGNALS=y
|
||||||
|
|
||||||
|
@ -245,15 +261,12 @@ CONFIG_TRAD_SIGNALS=y
|
||||||
#
|
#
|
||||||
CONFIG_ARCH_SUSPEND_POSSIBLE=y
|
CONFIG_ARCH_SUSPEND_POSSIBLE=y
|
||||||
# CONFIG_PM is not set
|
# CONFIG_PM is not set
|
||||||
|
|
||||||
#
|
|
||||||
# Networking
|
|
||||||
#
|
|
||||||
CONFIG_NET=y
|
CONFIG_NET=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# Networking options
|
# Networking options
|
||||||
#
|
#
|
||||||
|
CONFIG_COMPAT_NET_DEV_OPS=y
|
||||||
CONFIG_PACKET=y
|
CONFIG_PACKET=y
|
||||||
# CONFIG_PACKET_MMAP is not set
|
# CONFIG_PACKET_MMAP is not set
|
||||||
CONFIG_UNIX=y
|
CONFIG_UNIX=y
|
||||||
|
@ -293,6 +306,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
|
||||||
# CONFIG_IPX is not set
|
# CONFIG_IPX is not set
|
||||||
# CONFIG_ATALK is not set
|
# CONFIG_ATALK is not set
|
||||||
# CONFIG_NET_SCHED is not set
|
# CONFIG_NET_SCHED is not set
|
||||||
|
# CONFIG_DCB is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Network testing
|
# Network testing
|
||||||
|
@ -302,14 +316,9 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
|
||||||
# CONFIG_CAN is not set
|
# CONFIG_CAN is not set
|
||||||
# CONFIG_IRDA is not set
|
# CONFIG_IRDA is not set
|
||||||
# CONFIG_BT is not set
|
# CONFIG_BT is not set
|
||||||
|
# CONFIG_PHONET is not set
|
||||||
#
|
# CONFIG_WIRELESS is not set
|
||||||
# Wireless
|
# CONFIG_WIMAX is not set
|
||||||
#
|
|
||||||
# CONFIG_CFG80211 is not set
|
|
||||||
# CONFIG_WIRELESS_EXT is not set
|
|
||||||
# CONFIG_MAC80211 is not set
|
|
||||||
# CONFIG_IEEE80211 is not set
|
|
||||||
# CONFIG_RFKILL is not set
|
# CONFIG_RFKILL is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -323,7 +332,89 @@ CONFIG_STANDALONE=y
|
||||||
CONFIG_PREVENT_FIRMWARE_BUILD=y
|
CONFIG_PREVENT_FIRMWARE_BUILD=y
|
||||||
# CONFIG_SYS_HYPERVISOR is not set
|
# CONFIG_SYS_HYPERVISOR is not set
|
||||||
# CONFIG_CONNECTOR is not set
|
# CONFIG_CONNECTOR is not set
|
||||||
# CONFIG_MTD is not set
|
CONFIG_MTD=y
|
||||||
|
# CONFIG_MTD_DEBUG is not set
|
||||||
|
# CONFIG_MTD_CONCAT is not set
|
||||||
|
CONFIG_MTD_PARTITIONS=y
|
||||||
|
# CONFIG_MTD_REDBOOT_PARTS is not set
|
||||||
|
CONFIG_MTD_CMDLINE_PARTS=y
|
||||||
|
# CONFIG_MTD_AR7_PARTS is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# User Modules And Translation Layers
|
||||||
|
#
|
||||||
|
CONFIG_MTD_CHAR=y
|
||||||
|
# CONFIG_MTD_BLKDEVS is not set
|
||||||
|
# CONFIG_MTD_BLOCK is not set
|
||||||
|
# CONFIG_MTD_BLOCK_RO is not set
|
||||||
|
# CONFIG_FTL is not set
|
||||||
|
# CONFIG_NFTL is not set
|
||||||
|
# CONFIG_INFTL is not set
|
||||||
|
# CONFIG_RFD_FTL is not set
|
||||||
|
# CONFIG_SSFDC is not set
|
||||||
|
# CONFIG_MTD_OOPS is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# RAM/ROM/Flash chip drivers
|
||||||
|
#
|
||||||
|
CONFIG_MTD_CFI=y
|
||||||
|
CONFIG_MTD_JEDECPROBE=y
|
||||||
|
CONFIG_MTD_GEN_PROBE=y
|
||||||
|
# CONFIG_MTD_CFI_ADV_OPTIONS is not set
|
||||||
|
CONFIG_MTD_MAP_BANK_WIDTH_1=y
|
||||||
|
CONFIG_MTD_MAP_BANK_WIDTH_2=y
|
||||||
|
CONFIG_MTD_MAP_BANK_WIDTH_4=y
|
||||||
|
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
|
||||||
|
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
|
||||||
|
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
|
||||||
|
CONFIG_MTD_CFI_I1=y
|
||||||
|
CONFIG_MTD_CFI_I2=y
|
||||||
|
# CONFIG_MTD_CFI_I4 is not set
|
||||||
|
# CONFIG_MTD_CFI_I8 is not set
|
||||||
|
# CONFIG_MTD_CFI_INTELEXT is not set
|
||||||
|
CONFIG_MTD_CFI_AMDSTD=y
|
||||||
|
# CONFIG_MTD_CFI_STAA is not set
|
||||||
|
CONFIG_MTD_CFI_UTIL=y
|
||||||
|
# CONFIG_MTD_RAM is not set
|
||||||
|
# CONFIG_MTD_ROM is not set
|
||||||
|
# CONFIG_MTD_ABSENT is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Mapping drivers for chip access
|
||||||
|
#
|
||||||
|
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
|
||||||
|
CONFIG_MTD_PHYSMAP=y
|
||||||
|
# CONFIG_MTD_PHYSMAP_COMPAT is not set
|
||||||
|
# CONFIG_MTD_INTEL_VR_NOR is not set
|
||||||
|
# CONFIG_MTD_PLATRAM is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Self-contained MTD device drivers
|
||||||
|
#
|
||||||
|
# CONFIG_MTD_PMC551 is not set
|
||||||
|
# CONFIG_MTD_SLRAM is not set
|
||||||
|
# CONFIG_MTD_PHRAM is not set
|
||||||
|
# CONFIG_MTD_MTDRAM is not set
|
||||||
|
# CONFIG_MTD_BLOCK2MTD is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Disk-On-Chip Device Drivers
|
||||||
|
#
|
||||||
|
# CONFIG_MTD_DOC2000 is not set
|
||||||
|
# CONFIG_MTD_DOC2001 is not set
|
||||||
|
# CONFIG_MTD_DOC2001PLUS is not set
|
||||||
|
# CONFIG_MTD_NAND is not set
|
||||||
|
# CONFIG_MTD_ONENAND is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# LPDDR flash memory drivers
|
||||||
|
#
|
||||||
|
# CONFIG_MTD_LPDDR is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# UBI - Unsorted block images
|
||||||
|
#
|
||||||
|
# CONFIG_MTD_UBI is not set
|
||||||
# CONFIG_PARPORT is not set
|
# CONFIG_PARPORT is not set
|
||||||
CONFIG_BLK_DEV=y
|
CONFIG_BLK_DEV=y
|
||||||
# CONFIG_BLK_CPQ_DA is not set
|
# CONFIG_BLK_CPQ_DA is not set
|
||||||
|
@ -336,6 +427,7 @@ CONFIG_BLK_DEV=y
|
||||||
# CONFIG_BLK_DEV_RAM is not set
|
# CONFIG_BLK_DEV_RAM is not set
|
||||||
# CONFIG_CDROM_PKTCDVD is not set
|
# CONFIG_CDROM_PKTCDVD is not set
|
||||||
# CONFIG_ATA_OVER_ETH is not set
|
# CONFIG_ATA_OVER_ETH is not set
|
||||||
|
# CONFIG_BLK_DEV_HD is not set
|
||||||
# CONFIG_MISC_DEVICES is not set
|
# CONFIG_MISC_DEVICES is not set
|
||||||
CONFIG_HAVE_IDE=y
|
CONFIG_HAVE_IDE=y
|
||||||
# CONFIG_IDE is not set
|
# CONFIG_IDE is not set
|
||||||
|
@ -361,7 +453,6 @@ CONFIG_HAVE_IDE=y
|
||||||
# CONFIG_IEEE1394 is not set
|
# CONFIG_IEEE1394 is not set
|
||||||
# CONFIG_I2O is not set
|
# CONFIG_I2O is not set
|
||||||
CONFIG_NETDEVICES=y
|
CONFIG_NETDEVICES=y
|
||||||
# CONFIG_NETDEVICES_MULTIQUEUE is not set
|
|
||||||
# CONFIG_DUMMY is not set
|
# CONFIG_DUMMY is not set
|
||||||
# CONFIG_BONDING is not set
|
# CONFIG_BONDING is not set
|
||||||
# CONFIG_EQUALIZER is not set
|
# CONFIG_EQUALIZER is not set
|
||||||
|
@ -383,6 +474,9 @@ CONFIG_PHYLIB=y
|
||||||
# CONFIG_BROADCOM_PHY is not set
|
# CONFIG_BROADCOM_PHY is not set
|
||||||
# CONFIG_ICPLUS_PHY is not set
|
# CONFIG_ICPLUS_PHY is not set
|
||||||
# CONFIG_REALTEK_PHY is not set
|
# CONFIG_REALTEK_PHY is not set
|
||||||
|
# CONFIG_NATIONAL_PHY is not set
|
||||||
|
# CONFIG_STE10XP is not set
|
||||||
|
# CONFIG_LSI_ET1011C_PHY is not set
|
||||||
# CONFIG_FIXED_PHY is not set
|
# CONFIG_FIXED_PHY is not set
|
||||||
# CONFIG_MDIO_BITBANG is not set
|
# CONFIG_MDIO_BITBANG is not set
|
||||||
CONFIG_NET_ETHERNET=y
|
CONFIG_NET_ETHERNET=y
|
||||||
|
@ -392,6 +486,7 @@ CONFIG_NET_ETHERNET=y
|
||||||
# CONFIG_SUNGEM is not set
|
# CONFIG_SUNGEM is not set
|
||||||
# CONFIG_CASSINI is not set
|
# CONFIG_CASSINI is not set
|
||||||
# CONFIG_NET_VENDOR_3COM is not set
|
# CONFIG_NET_VENDOR_3COM is not set
|
||||||
|
# CONFIG_SMC91X is not set
|
||||||
# CONFIG_DM9000 is not set
|
# CONFIG_DM9000 is not set
|
||||||
# CONFIG_NET_TULIP is not set
|
# CONFIG_NET_TULIP is not set
|
||||||
# CONFIG_HP100 is not set
|
# CONFIG_HP100 is not set
|
||||||
|
@ -399,6 +494,9 @@ CONFIG_NET_ETHERNET=y
|
||||||
# CONFIG_IBM_NEW_EMAC_RGMII is not set
|
# CONFIG_IBM_NEW_EMAC_RGMII is not set
|
||||||
# CONFIG_IBM_NEW_EMAC_TAH is not set
|
# CONFIG_IBM_NEW_EMAC_TAH is not set
|
||||||
# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
|
# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
|
||||||
|
# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
|
||||||
|
# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
|
||||||
|
# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
|
||||||
CONFIG_NET_PCI=y
|
CONFIG_NET_PCI=y
|
||||||
# CONFIG_PCNET32 is not set
|
# CONFIG_PCNET32 is not set
|
||||||
# CONFIG_AMD8111_ETH is not set
|
# CONFIG_AMD8111_ETH is not set
|
||||||
|
@ -406,7 +504,6 @@ CONFIG_NET_PCI=y
|
||||||
# CONFIG_B44 is not set
|
# CONFIG_B44 is not set
|
||||||
# CONFIG_FORCEDETH is not set
|
# CONFIG_FORCEDETH is not set
|
||||||
CONFIG_TC35815=y
|
CONFIG_TC35815=y
|
||||||
# CONFIG_EEPRO100 is not set
|
|
||||||
# CONFIG_E100 is not set
|
# CONFIG_E100 is not set
|
||||||
# CONFIG_FEALNX is not set
|
# CONFIG_FEALNX is not set
|
||||||
# CONFIG_NATSEMI is not set
|
# CONFIG_NATSEMI is not set
|
||||||
|
@ -415,9 +512,11 @@ CONFIG_TC35815=y
|
||||||
# CONFIG_R6040 is not set
|
# CONFIG_R6040 is not set
|
||||||
# CONFIG_SIS900 is not set
|
# CONFIG_SIS900 is not set
|
||||||
# CONFIG_EPIC100 is not set
|
# CONFIG_EPIC100 is not set
|
||||||
|
# CONFIG_SMSC9420 is not set
|
||||||
# CONFIG_SUNDANCE is not set
|
# CONFIG_SUNDANCE is not set
|
||||||
# CONFIG_TLAN is not set
|
# CONFIG_TLAN is not set
|
||||||
# CONFIG_VIA_RHINE is not set
|
# CONFIG_VIA_RHINE is not set
|
||||||
|
# CONFIG_ATL2 is not set
|
||||||
# CONFIG_NETDEV_1000 is not set
|
# CONFIG_NETDEV_1000 is not set
|
||||||
# CONFIG_NETDEV_10000 is not set
|
# CONFIG_NETDEV_10000 is not set
|
||||||
# CONFIG_TR is not set
|
# CONFIG_TR is not set
|
||||||
|
@ -428,6 +527,10 @@ CONFIG_TC35815=y
|
||||||
# CONFIG_WLAN_PRE80211 is not set
|
# CONFIG_WLAN_PRE80211 is not set
|
||||||
# CONFIG_WLAN_80211 is not set
|
# CONFIG_WLAN_80211 is not set
|
||||||
# CONFIG_IWLWIFI_LEDS is not set
|
# CONFIG_IWLWIFI_LEDS is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Enable WiMAX (Networking options) to see the WiMAX drivers
|
||||||
|
#
|
||||||
# CONFIG_WAN is not set
|
# CONFIG_WAN is not set
|
||||||
# CONFIG_FDDI is not set
|
# CONFIG_FDDI is not set
|
||||||
# CONFIG_PPP is not set
|
# CONFIG_PPP is not set
|
||||||
|
@ -440,27 +543,7 @@ CONFIG_TC35815=y
|
||||||
#
|
#
|
||||||
# Input device support
|
# Input device support
|
||||||
#
|
#
|
||||||
CONFIG_INPUT=y
|
# CONFIG_INPUT is not set
|
||||||
# CONFIG_INPUT_FF_MEMLESS is not set
|
|
||||||
# CONFIG_INPUT_POLLDEV is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# Userland interfaces
|
|
||||||
#
|
|
||||||
# CONFIG_INPUT_MOUSEDEV is not set
|
|
||||||
# CONFIG_INPUT_JOYDEV is not set
|
|
||||||
# CONFIG_INPUT_EVDEV is not set
|
|
||||||
# CONFIG_INPUT_EVBUG is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# Input Device Drivers
|
|
||||||
#
|
|
||||||
# CONFIG_INPUT_KEYBOARD is not set
|
|
||||||
# CONFIG_INPUT_MOUSE is not set
|
|
||||||
# CONFIG_INPUT_JOYSTICK is not set
|
|
||||||
# CONFIG_INPUT_TABLET is not set
|
|
||||||
# CONFIG_INPUT_TOUCHSCREEN is not set
|
|
||||||
# CONFIG_INPUT_MISC is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Hardware I/O ports
|
# Hardware I/O ports
|
||||||
|
@ -517,16 +600,22 @@ CONFIG_LEGACY_PTY_COUNT=256
|
||||||
CONFIG_DEVPORT=y
|
CONFIG_DEVPORT=y
|
||||||
# CONFIG_I2C is not set
|
# CONFIG_I2C is not set
|
||||||
# CONFIG_SPI is not set
|
# CONFIG_SPI is not set
|
||||||
CONFIG_HAVE_GPIO_LIB=y
|
CONFIG_ARCH_REQUIRE_GPIOLIB=y
|
||||||
|
CONFIG_GPIOLIB=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# GPIO Support
|
# Memory mapped GPIO expanders:
|
||||||
#
|
#
|
||||||
|
|
||||||
#
|
#
|
||||||
# I2C GPIO expanders:
|
# I2C GPIO expanders:
|
||||||
#
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# PCI GPIO expanders:
|
||||||
|
#
|
||||||
|
# CONFIG_GPIO_BT8XX is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# SPI GPIO expanders:
|
# SPI GPIO expanders:
|
||||||
#
|
#
|
||||||
|
@ -542,6 +631,7 @@ CONFIG_WATCHDOG=y
|
||||||
# Watchdog Device Drivers
|
# Watchdog Device Drivers
|
||||||
#
|
#
|
||||||
# CONFIG_SOFT_WATCHDOG is not set
|
# CONFIG_SOFT_WATCHDOG is not set
|
||||||
|
# CONFIG_ALIM7101_WDT is not set
|
||||||
CONFIG_TXX9_WDT=y
|
CONFIG_TXX9_WDT=y
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -549,18 +639,21 @@ CONFIG_TXX9_WDT=y
|
||||||
#
|
#
|
||||||
# CONFIG_PCIPCWATCHDOG is not set
|
# CONFIG_PCIPCWATCHDOG is not set
|
||||||
# CONFIG_WDTPCI is not set
|
# CONFIG_WDTPCI is not set
|
||||||
|
CONFIG_SSB_POSSIBLE=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# Sonics Silicon Backplane
|
# Sonics Silicon Backplane
|
||||||
#
|
#
|
||||||
CONFIG_SSB_POSSIBLE=y
|
|
||||||
# CONFIG_SSB is not set
|
# CONFIG_SSB is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Multifunction device drivers
|
# Multifunction device drivers
|
||||||
#
|
#
|
||||||
|
# CONFIG_MFD_CORE is not set
|
||||||
# CONFIG_MFD_SM501 is not set
|
# CONFIG_MFD_SM501 is not set
|
||||||
# CONFIG_HTC_PASIC3 is not set
|
# CONFIG_HTC_PASIC3 is not set
|
||||||
|
# CONFIG_MFD_TMIO is not set
|
||||||
|
# CONFIG_REGULATOR is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Multimedia devices
|
# Multimedia devices
|
||||||
|
@ -591,16 +684,26 @@ CONFIG_SSB_POSSIBLE=y
|
||||||
# Display device support
|
# Display device support
|
||||||
#
|
#
|
||||||
# CONFIG_DISPLAY_SUPPORT is not set
|
# CONFIG_DISPLAY_SUPPORT is not set
|
||||||
|
|
||||||
#
|
|
||||||
# Sound
|
|
||||||
#
|
|
||||||
# CONFIG_SOUND is not set
|
# CONFIG_SOUND is not set
|
||||||
# CONFIG_HID_SUPPORT is not set
|
|
||||||
# CONFIG_USB_SUPPORT is not set
|
# CONFIG_USB_SUPPORT is not set
|
||||||
# CONFIG_MMC is not set
|
# CONFIG_MMC is not set
|
||||||
# CONFIG_MEMSTICK is not set
|
# CONFIG_MEMSTICK is not set
|
||||||
# CONFIG_NEW_LEDS is not set
|
CONFIG_NEW_LEDS=y
|
||||||
|
CONFIG_LEDS_CLASS=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# LED drivers
|
||||||
|
#
|
||||||
|
CONFIG_LEDS_GPIO=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# LED Triggers
|
||||||
|
#
|
||||||
|
CONFIG_LEDS_TRIGGERS=y
|
||||||
|
# CONFIG_LEDS_TRIGGER_TIMER is not set
|
||||||
|
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||||
|
# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
|
||||||
|
# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
|
||||||
# CONFIG_ACCESSIBILITY is not set
|
# CONFIG_ACCESSIBILITY is not set
|
||||||
# CONFIG_INFINIBAND is not set
|
# CONFIG_INFINIBAND is not set
|
||||||
CONFIG_RTC_LIB=y
|
CONFIG_RTC_LIB=y
|
||||||
|
@ -626,27 +729,34 @@ CONFIG_RTC_INTF_DEV=y
|
||||||
# Platform RTC drivers
|
# Platform RTC drivers
|
||||||
#
|
#
|
||||||
# CONFIG_RTC_DRV_CMOS is not set
|
# CONFIG_RTC_DRV_CMOS is not set
|
||||||
|
# CONFIG_RTC_DRV_DS1286 is not set
|
||||||
# CONFIG_RTC_DRV_DS1511 is not set
|
# CONFIG_RTC_DRV_DS1511 is not set
|
||||||
# CONFIG_RTC_DRV_DS1553 is not set
|
# CONFIG_RTC_DRV_DS1553 is not set
|
||||||
CONFIG_RTC_DRV_DS1742=y
|
CONFIG_RTC_DRV_DS1742=y
|
||||||
# CONFIG_RTC_DRV_STK17TA8 is not set
|
# CONFIG_RTC_DRV_STK17TA8 is not set
|
||||||
# CONFIG_RTC_DRV_M48T86 is not set
|
# CONFIG_RTC_DRV_M48T86 is not set
|
||||||
|
# CONFIG_RTC_DRV_M48T35 is not set
|
||||||
# CONFIG_RTC_DRV_M48T59 is not set
|
# CONFIG_RTC_DRV_M48T59 is not set
|
||||||
|
# CONFIG_RTC_DRV_BQ4802 is not set
|
||||||
# CONFIG_RTC_DRV_V3020 is not set
|
# CONFIG_RTC_DRV_V3020 is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# on-CPU RTC drivers
|
# on-CPU RTC drivers
|
||||||
#
|
#
|
||||||
|
# CONFIG_DMADEVICES is not set
|
||||||
# CONFIG_UIO is not set
|
# CONFIG_UIO is not set
|
||||||
|
# CONFIG_STAGING is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# File systems
|
# File systems
|
||||||
#
|
#
|
||||||
# CONFIG_EXT2_FS is not set
|
# CONFIG_EXT2_FS is not set
|
||||||
# CONFIG_EXT3_FS is not set
|
# CONFIG_EXT3_FS is not set
|
||||||
|
# CONFIG_EXT4_FS is not set
|
||||||
# CONFIG_REISERFS_FS is not set
|
# CONFIG_REISERFS_FS is not set
|
||||||
# CONFIG_JFS_FS is not set
|
# CONFIG_JFS_FS is not set
|
||||||
# CONFIG_FS_POSIX_ACL is not set
|
# CONFIG_FS_POSIX_ACL is not set
|
||||||
|
CONFIG_FILE_LOCKING=y
|
||||||
# CONFIG_XFS_FS is not set
|
# CONFIG_XFS_FS is not set
|
||||||
# CONFIG_OCFS2_FS is not set
|
# CONFIG_OCFS2_FS is not set
|
||||||
CONFIG_DNOTIFY=y
|
CONFIG_DNOTIFY=y
|
||||||
|
@ -676,28 +786,17 @@ CONFIG_INOTIFY_USER=y
|
||||||
CONFIG_PROC_FS=y
|
CONFIG_PROC_FS=y
|
||||||
CONFIG_PROC_KCORE=y
|
CONFIG_PROC_KCORE=y
|
||||||
CONFIG_PROC_SYSCTL=y
|
CONFIG_PROC_SYSCTL=y
|
||||||
|
CONFIG_PROC_PAGE_MONITOR=y
|
||||||
CONFIG_SYSFS=y
|
CONFIG_SYSFS=y
|
||||||
# CONFIG_TMPFS is not set
|
# CONFIG_TMPFS is not set
|
||||||
# CONFIG_HUGETLB_PAGE is not set
|
# CONFIG_HUGETLB_PAGE is not set
|
||||||
# CONFIG_CONFIGFS_FS is not set
|
# CONFIG_CONFIGFS_FS is not set
|
||||||
|
# CONFIG_MISC_FILESYSTEMS is not set
|
||||||
#
|
|
||||||
# Miscellaneous filesystems
|
|
||||||
#
|
|
||||||
# CONFIG_HFSPLUS_FS is not set
|
|
||||||
# CONFIG_CRAMFS is not set
|
|
||||||
# CONFIG_VXFS_FS is not set
|
|
||||||
# CONFIG_MINIX_FS is not set
|
|
||||||
# CONFIG_HPFS_FS is not set
|
|
||||||
# CONFIG_QNX4FS_FS is not set
|
|
||||||
# CONFIG_ROMFS_FS is not set
|
|
||||||
# CONFIG_SYSV_FS is not set
|
|
||||||
# CONFIG_UFS_FS is not set
|
|
||||||
CONFIG_NETWORK_FILESYSTEMS=y
|
CONFIG_NETWORK_FILESYSTEMS=y
|
||||||
CONFIG_NFS_FS=y
|
CONFIG_NFS_FS=y
|
||||||
# CONFIG_NFS_V3 is not set
|
# CONFIG_NFS_V3 is not set
|
||||||
# CONFIG_NFSD is not set
|
|
||||||
CONFIG_ROOT_NFS=y
|
CONFIG_ROOT_NFS=y
|
||||||
|
# CONFIG_NFSD is not set
|
||||||
CONFIG_LOCKD=y
|
CONFIG_LOCKD=y
|
||||||
CONFIG_NFS_COMMON=y
|
CONFIG_NFS_COMMON=y
|
||||||
CONFIG_SUNRPC=y
|
CONFIG_SUNRPC=y
|
||||||
|
@ -726,7 +825,16 @@ CONFIG_FRAME_WARN=1024
|
||||||
# CONFIG_DEBUG_FS is not set
|
# CONFIG_DEBUG_FS is not set
|
||||||
# CONFIG_HEADERS_CHECK is not set
|
# CONFIG_HEADERS_CHECK is not set
|
||||||
# CONFIG_DEBUG_KERNEL is not set
|
# CONFIG_DEBUG_KERNEL is not set
|
||||||
|
# CONFIG_DEBUG_MEMORY_INIT is not set
|
||||||
|
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
|
||||||
|
CONFIG_SYSCTL_SYSCALL_CHECK=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# Tracers
|
||||||
|
#
|
||||||
|
# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
|
||||||
# CONFIG_SAMPLES is not set
|
# CONFIG_SAMPLES is not set
|
||||||
|
CONFIG_HAVE_ARCH_KGDB=y
|
||||||
CONFIG_CMDLINE=""
|
CONFIG_CMDLINE=""
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -734,15 +842,18 @@ CONFIG_CMDLINE=""
|
||||||
#
|
#
|
||||||
# CONFIG_KEYS is not set
|
# CONFIG_KEYS is not set
|
||||||
# CONFIG_SECURITY is not set
|
# CONFIG_SECURITY is not set
|
||||||
|
# CONFIG_SECURITYFS is not set
|
||||||
|
# CONFIG_SECURITY_FILE_CAPABILITIES is not set
|
||||||
# CONFIG_CRYPTO is not set
|
# CONFIG_CRYPTO is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Library routines
|
# Library routines
|
||||||
#
|
#
|
||||||
CONFIG_BITREVERSE=y
|
CONFIG_BITREVERSE=y
|
||||||
# CONFIG_GENERIC_FIND_FIRST_BIT is not set
|
CONFIG_GENERIC_FIND_LAST_BIT=y
|
||||||
# CONFIG_CRC_CCITT is not set
|
# CONFIG_CRC_CCITT is not set
|
||||||
# CONFIG_CRC16 is not set
|
# CONFIG_CRC16 is not set
|
||||||
|
# CONFIG_CRC_T10DIF is not set
|
||||||
# CONFIG_CRC_ITU_T is not set
|
# CONFIG_CRC_ITU_T is not set
|
||||||
CONFIG_CRC32=y
|
CONFIG_CRC32=y
|
||||||
# CONFIG_CRC7 is not set
|
# CONFIG_CRC7 is not set
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#
|
#
|
||||||
# Automatically generated make config: don't edit
|
# Automatically generated make config: don't edit
|
||||||
# Linux kernel version: 2.6.26-rc9
|
# Linux kernel version: 2.6.29-rc7
|
||||||
# Fri Jul 11 23:03:21 2008
|
# Wed Mar 4 23:08:06 2009
|
||||||
#
|
#
|
||||||
CONFIG_MIPS=y
|
CONFIG_MIPS=y
|
||||||
|
|
||||||
|
@ -18,8 +18,10 @@ CONFIG_MIPS=y
|
||||||
# CONFIG_LEMOTE_FULONG is not set
|
# CONFIG_LEMOTE_FULONG is not set
|
||||||
# CONFIG_MIPS_MALTA is not set
|
# CONFIG_MIPS_MALTA is not set
|
||||||
# CONFIG_MIPS_SIM is not set
|
# CONFIG_MIPS_SIM is not set
|
||||||
# CONFIG_MARKEINS is not set
|
# CONFIG_MACH_EMMA is not set
|
||||||
# CONFIG_MACH_VR41XX is not set
|
# CONFIG_MACH_VR41XX is not set
|
||||||
|
# CONFIG_NXP_STB220 is not set
|
||||||
|
# CONFIG_NXP_STB225 is not set
|
||||||
# CONFIG_PNX8550_JBS is not set
|
# CONFIG_PNX8550_JBS is not set
|
||||||
# CONFIG_PNX8550_STB810 is not set
|
# CONFIG_PNX8550_STB810 is not set
|
||||||
# CONFIG_PMC_MSP is not set
|
# CONFIG_PMC_MSP is not set
|
||||||
|
@ -39,20 +41,28 @@ CONFIG_MIPS=y
|
||||||
# CONFIG_SNI_RM is not set
|
# CONFIG_SNI_RM is not set
|
||||||
# CONFIG_MACH_TX39XX is not set
|
# CONFIG_MACH_TX39XX is not set
|
||||||
CONFIG_MACH_TX49XX=y
|
CONFIG_MACH_TX49XX=y
|
||||||
|
# CONFIG_MIKROTIK_RB532 is not set
|
||||||
# CONFIG_WR_PPMC is not set
|
# CONFIG_WR_PPMC is not set
|
||||||
|
# CONFIG_CAVIUM_OCTEON_SIMULATOR is not set
|
||||||
|
# CONFIG_CAVIUM_OCTEON_REFERENCE_BOARD is not set
|
||||||
|
CONFIG_MACH_TXX9=y
|
||||||
CONFIG_TOSHIBA_RBTX4927=y
|
CONFIG_TOSHIBA_RBTX4927=y
|
||||||
CONFIG_TOSHIBA_RBTX4938=y
|
CONFIG_TOSHIBA_RBTX4938=y
|
||||||
|
CONFIG_TOSHIBA_RBTX4939=y
|
||||||
CONFIG_SOC_TX4927=y
|
CONFIG_SOC_TX4927=y
|
||||||
CONFIG_SOC_TX4938=y
|
CONFIG_SOC_TX4938=y
|
||||||
|
CONFIG_SOC_TX4939=y
|
||||||
|
CONFIG_TXX9_7SEGLED=y
|
||||||
# CONFIG_TOSHIBA_FPCIB0 is not set
|
# CONFIG_TOSHIBA_FPCIB0 is not set
|
||||||
CONFIG_PICMG_PCI_BACKPLANE_DEFAULT=y
|
CONFIG_PICMG_PCI_BACKPLANE_DEFAULT=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# Multiplex Pin Select
|
# Multiplex Pin Select
|
||||||
#
|
#
|
||||||
CONFIG_TOSHIBA_RBTX4938_MPLEX_PIO58_61=y
|
# CONFIG_TOSHIBA_RBTX4938_MPLEX_PIO58_61 is not set
|
||||||
# CONFIG_TOSHIBA_RBTX4938_MPLEX_NAND is not set
|
# CONFIG_TOSHIBA_RBTX4938_MPLEX_NAND is not set
|
||||||
# CONFIG_TOSHIBA_RBTX4938_MPLEX_ATA is not set
|
# CONFIG_TOSHIBA_RBTX4938_MPLEX_ATA is not set
|
||||||
|
CONFIG_TOSHIBA_RBTX4938_MPLEX_KEEP=y
|
||||||
CONFIG_PCI_TX4927=y
|
CONFIG_PCI_TX4927=y
|
||||||
CONFIG_RWSEM_GENERIC_SPINLOCK=y
|
CONFIG_RWSEM_GENERIC_SPINLOCK=y
|
||||||
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
|
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
|
||||||
|
@ -64,14 +74,18 @@ CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||||
CONFIG_GENERIC_TIME=y
|
CONFIG_GENERIC_TIME=y
|
||||||
CONFIG_GENERIC_CMOS_UPDATE=y
|
CONFIG_GENERIC_CMOS_UPDATE=y
|
||||||
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
|
CONFIG_SCHED_OMIT_FRAME_POINTER=y
|
||||||
CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
|
CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
|
||||||
|
CONFIG_CEVT_R4K_LIB=y
|
||||||
CONFIG_CEVT_R4K=y
|
CONFIG_CEVT_R4K=y
|
||||||
CONFIG_CEVT_TXX9=y
|
CONFIG_CEVT_TXX9=y
|
||||||
|
CONFIG_CSRC_R4K_LIB=y
|
||||||
CONFIG_CSRC_R4K=y
|
CONFIG_CSRC_R4K=y
|
||||||
CONFIG_GPIO_TXX9=y
|
CONFIG_GPIO_TXX9=y
|
||||||
CONFIG_DMA_NONCOHERENT=y
|
CONFIG_DMA_NONCOHERENT=y
|
||||||
CONFIG_DMA_NEED_PCI_MAP_STATE=y
|
CONFIG_DMA_NEED_PCI_MAP_STATE=y
|
||||||
|
CONFIG_EARLY_PRINTK=y
|
||||||
|
CONFIG_SYS_HAS_EARLY_PRINTK=y
|
||||||
# CONFIG_HOTPLUG_CPU is not set
|
# CONFIG_HOTPLUG_CPU is not set
|
||||||
# CONFIG_NO_IOPORT is not set
|
# CONFIG_NO_IOPORT is not set
|
||||||
CONFIG_GENERIC_GPIO=y
|
CONFIG_GENERIC_GPIO=y
|
||||||
|
@ -100,6 +114,7 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5
|
||||||
CONFIG_CPU_TX49XX=y
|
CONFIG_CPU_TX49XX=y
|
||||||
# CONFIG_CPU_R5000 is not set
|
# CONFIG_CPU_R5000 is not set
|
||||||
# CONFIG_CPU_R5432 is not set
|
# CONFIG_CPU_R5432 is not set
|
||||||
|
# CONFIG_CPU_R5500 is not set
|
||||||
# CONFIG_CPU_R6000 is not set
|
# CONFIG_CPU_R6000 is not set
|
||||||
# CONFIG_CPU_NEVADA is not set
|
# CONFIG_CPU_NEVADA is not set
|
||||||
# CONFIG_CPU_R8000 is not set
|
# CONFIG_CPU_R8000 is not set
|
||||||
|
@ -107,6 +122,7 @@ CONFIG_CPU_TX49XX=y
|
||||||
# CONFIG_CPU_RM7000 is not set
|
# CONFIG_CPU_RM7000 is not set
|
||||||
# CONFIG_CPU_RM9000 is not set
|
# CONFIG_CPU_RM9000 is not set
|
||||||
# CONFIG_CPU_SB1 is not set
|
# CONFIG_CPU_SB1 is not set
|
||||||
|
# CONFIG_CPU_CAVIUM_OCTEON is not set
|
||||||
CONFIG_SYS_HAS_CPU_TX49XX=y
|
CONFIG_SYS_HAS_CPU_TX49XX=y
|
||||||
CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
|
CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
|
||||||
CONFIG_SYS_SUPPORTS_64BIT_KERNEL=y
|
CONFIG_SYS_SUPPORTS_64BIT_KERNEL=y
|
||||||
|
@ -134,13 +150,12 @@ CONFIG_ARCH_FLATMEM_ENABLE=y
|
||||||
CONFIG_ARCH_POPULATES_NODE_MAP=y
|
CONFIG_ARCH_POPULATES_NODE_MAP=y
|
||||||
CONFIG_FLATMEM=y
|
CONFIG_FLATMEM=y
|
||||||
CONFIG_FLAT_NODE_MEM_MAP=y
|
CONFIG_FLAT_NODE_MEM_MAP=y
|
||||||
# CONFIG_SPARSEMEM_STATIC is not set
|
|
||||||
# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
|
|
||||||
CONFIG_PAGEFLAGS_EXTENDED=y
|
CONFIG_PAGEFLAGS_EXTENDED=y
|
||||||
CONFIG_SPLIT_PTLOCK_CPUS=4
|
CONFIG_SPLIT_PTLOCK_CPUS=4
|
||||||
# CONFIG_RESOURCES_64BIT is not set
|
# CONFIG_PHYS_ADDR_T_64BIT is not set
|
||||||
CONFIG_ZONE_DMA_FLAG=0
|
CONFIG_ZONE_DMA_FLAG=0
|
||||||
CONFIG_VIRT_TO_BUS=y
|
CONFIG_VIRT_TO_BUS=y
|
||||||
|
CONFIG_UNEVICTABLE_LRU=y
|
||||||
CONFIG_TICK_ONESHOT=y
|
CONFIG_TICK_ONESHOT=y
|
||||||
CONFIG_NO_HZ=y
|
CONFIG_NO_HZ=y
|
||||||
CONFIG_HIGH_RES_TIMERS=y
|
CONFIG_HIGH_RES_TIMERS=y
|
||||||
|
@ -176,6 +191,15 @@ CONFIG_SYSVIPC_SYSCTL=y
|
||||||
# CONFIG_BSD_PROCESS_ACCT is not set
|
# CONFIG_BSD_PROCESS_ACCT is not set
|
||||||
# CONFIG_TASKSTATS is not set
|
# CONFIG_TASKSTATS is not set
|
||||||
# CONFIG_AUDIT is not set
|
# CONFIG_AUDIT is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# RCU Subsystem
|
||||||
|
#
|
||||||
|
CONFIG_CLASSIC_RCU=y
|
||||||
|
# CONFIG_TREE_RCU is not set
|
||||||
|
# CONFIG_PREEMPT_RCU is not set
|
||||||
|
# CONFIG_TREE_RCU_TRACE is not set
|
||||||
|
# CONFIG_PREEMPT_RCU_TRACE is not set
|
||||||
CONFIG_IKCONFIG=y
|
CONFIG_IKCONFIG=y
|
||||||
CONFIG_IKCONFIG_PROC=y
|
CONFIG_IKCONFIG_PROC=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
|
@ -190,7 +214,6 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||||
CONFIG_SYSCTL=y
|
CONFIG_SYSCTL=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EMBEDDED=y
|
||||||
CONFIG_SYSCTL_SYSCALL=y
|
CONFIG_SYSCTL_SYSCALL=y
|
||||||
CONFIG_SYSCTL_SYSCALL_CHECK=y
|
|
||||||
CONFIG_KALLSYMS=y
|
CONFIG_KALLSYMS=y
|
||||||
# CONFIG_KALLSYMS_EXTRA_PASS is not set
|
# CONFIG_KALLSYMS_EXTRA_PASS is not set
|
||||||
# CONFIG_HOTPLUG is not set
|
# CONFIG_HOTPLUG is not set
|
||||||
|
@ -207,30 +230,26 @@ CONFIG_SIGNALFD=y
|
||||||
CONFIG_TIMERFD=y
|
CONFIG_TIMERFD=y
|
||||||
CONFIG_EVENTFD=y
|
CONFIG_EVENTFD=y
|
||||||
CONFIG_SHMEM=y
|
CONFIG_SHMEM=y
|
||||||
|
CONFIG_AIO=y
|
||||||
CONFIG_VM_EVENT_COUNTERS=y
|
CONFIG_VM_EVENT_COUNTERS=y
|
||||||
|
CONFIG_PCI_QUIRKS=y
|
||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
# CONFIG_SLUB is not set
|
# CONFIG_SLUB is not set
|
||||||
# CONFIG_SLOB is not set
|
# CONFIG_SLOB is not set
|
||||||
# CONFIG_PROFILING is not set
|
# CONFIG_PROFILING is not set
|
||||||
# CONFIG_MARKERS is not set
|
|
||||||
CONFIG_HAVE_OPROFILE=y
|
CONFIG_HAVE_OPROFILE=y
|
||||||
# CONFIG_HAVE_KPROBES is not set
|
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
|
||||||
# CONFIG_HAVE_KRETPROBES is not set
|
|
||||||
# CONFIG_HAVE_DMA_ATTRS is not set
|
|
||||||
CONFIG_PROC_PAGE_MONITOR=y
|
|
||||||
CONFIG_SLABINFO=y
|
CONFIG_SLABINFO=y
|
||||||
# CONFIG_TINY_SHMEM is not set
|
|
||||||
CONFIG_BASE_SMALL=0
|
CONFIG_BASE_SMALL=0
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
# CONFIG_MODULE_FORCE_LOAD is not set
|
# CONFIG_MODULE_FORCE_LOAD is not set
|
||||||
# CONFIG_MODULE_UNLOAD is not set
|
CONFIG_MODULE_UNLOAD=y
|
||||||
# CONFIG_MODVERSIONS is not set
|
# CONFIG_MODVERSIONS is not set
|
||||||
# CONFIG_MODULE_SRCVERSION_ALL is not set
|
# CONFIG_MODULE_SRCVERSION_ALL is not set
|
||||||
CONFIG_KMOD=y
|
|
||||||
CONFIG_BLOCK=y
|
CONFIG_BLOCK=y
|
||||||
# CONFIG_LBD is not set
|
# CONFIG_LBD is not set
|
||||||
# CONFIG_BLK_DEV_IO_TRACE is not set
|
# CONFIG_BLK_DEV_IO_TRACE is not set
|
||||||
# CONFIG_LSF is not set
|
# CONFIG_BLK_DEV_INTEGRITY is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# IO Schedulers
|
# IO Schedulers
|
||||||
|
@ -244,7 +263,8 @@ CONFIG_DEFAULT_AS=y
|
||||||
# CONFIG_DEFAULT_CFQ is not set
|
# CONFIG_DEFAULT_CFQ is not set
|
||||||
# CONFIG_DEFAULT_NOOP is not set
|
# CONFIG_DEFAULT_NOOP is not set
|
||||||
CONFIG_DEFAULT_IOSCHED="anticipatory"
|
CONFIG_DEFAULT_IOSCHED="anticipatory"
|
||||||
CONFIG_CLASSIC_RCU=y
|
# CONFIG_PROBE_INITRD_HEADER is not set
|
||||||
|
# CONFIG_FREEZER is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Bus options (PCI, PCMCIA, EISA, ISA, TC)
|
# Bus options (PCI, PCMCIA, EISA, ISA, TC)
|
||||||
|
@ -254,12 +274,15 @@ CONFIG_PCI=y
|
||||||
CONFIG_PCI_DOMAINS=y
|
CONFIG_PCI_DOMAINS=y
|
||||||
# CONFIG_ARCH_SUPPORTS_MSI is not set
|
# CONFIG_ARCH_SUPPORTS_MSI is not set
|
||||||
# CONFIG_PCI_LEGACY is not set
|
# CONFIG_PCI_LEGACY is not set
|
||||||
|
# CONFIG_PCI_STUB is not set
|
||||||
CONFIG_MMU=y
|
CONFIG_MMU=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# Executable file formats
|
# Executable file formats
|
||||||
#
|
#
|
||||||
CONFIG_BINFMT_ELF=y
|
CONFIG_BINFMT_ELF=y
|
||||||
|
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||||
|
# CONFIG_HAVE_AOUT is not set
|
||||||
# CONFIG_BINFMT_MISC is not set
|
# CONFIG_BINFMT_MISC is not set
|
||||||
CONFIG_TRAD_SIGNALS=y
|
CONFIG_TRAD_SIGNALS=y
|
||||||
|
|
||||||
|
@ -268,15 +291,12 @@ CONFIG_TRAD_SIGNALS=y
|
||||||
#
|
#
|
||||||
CONFIG_ARCH_SUSPEND_POSSIBLE=y
|
CONFIG_ARCH_SUSPEND_POSSIBLE=y
|
||||||
# CONFIG_PM is not set
|
# CONFIG_PM is not set
|
||||||
|
|
||||||
#
|
|
||||||
# Networking
|
|
||||||
#
|
|
||||||
CONFIG_NET=y
|
CONFIG_NET=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# Networking options
|
# Networking options
|
||||||
#
|
#
|
||||||
|
CONFIG_COMPAT_NET_DEV_OPS=y
|
||||||
CONFIG_PACKET=y
|
CONFIG_PACKET=y
|
||||||
# CONFIG_PACKET_MMAP is not set
|
# CONFIG_PACKET_MMAP is not set
|
||||||
CONFIG_UNIX=y
|
CONFIG_UNIX=y
|
||||||
|
@ -318,6 +338,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
|
||||||
# CONFIG_IPX is not set
|
# CONFIG_IPX is not set
|
||||||
# CONFIG_ATALK is not set
|
# CONFIG_ATALK is not set
|
||||||
# CONFIG_NET_SCHED is not set
|
# CONFIG_NET_SCHED is not set
|
||||||
|
# CONFIG_DCB is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Network testing
|
# Network testing
|
||||||
|
@ -327,14 +348,9 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
|
||||||
# CONFIG_CAN is not set
|
# CONFIG_CAN is not set
|
||||||
# CONFIG_IRDA is not set
|
# CONFIG_IRDA is not set
|
||||||
# CONFIG_BT is not set
|
# CONFIG_BT is not set
|
||||||
|
# CONFIG_PHONET is not set
|
||||||
#
|
# CONFIG_WIRELESS is not set
|
||||||
# Wireless
|
# CONFIG_WIMAX is not set
|
||||||
#
|
|
||||||
# CONFIG_CFG80211 is not set
|
|
||||||
# CONFIG_WIRELESS_EXT is not set
|
|
||||||
# CONFIG_MAC80211 is not set
|
|
||||||
# CONFIG_IEEE80211 is not set
|
|
||||||
# CONFIG_RFKILL is not set
|
# CONFIG_RFKILL is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -348,7 +364,90 @@ CONFIG_STANDALONE=y
|
||||||
CONFIG_PREVENT_FIRMWARE_BUILD=y
|
CONFIG_PREVENT_FIRMWARE_BUILD=y
|
||||||
# CONFIG_SYS_HYPERVISOR is not set
|
# CONFIG_SYS_HYPERVISOR is not set
|
||||||
# CONFIG_CONNECTOR is not set
|
# CONFIG_CONNECTOR is not set
|
||||||
# CONFIG_MTD is not set
|
CONFIG_MTD=y
|
||||||
|
# CONFIG_MTD_DEBUG is not set
|
||||||
|
# CONFIG_MTD_CONCAT is not set
|
||||||
|
CONFIG_MTD_PARTITIONS=y
|
||||||
|
# CONFIG_MTD_TESTS is not set
|
||||||
|
# CONFIG_MTD_REDBOOT_PARTS is not set
|
||||||
|
CONFIG_MTD_CMDLINE_PARTS=y
|
||||||
|
# CONFIG_MTD_AR7_PARTS is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# User Modules And Translation Layers
|
||||||
|
#
|
||||||
|
CONFIG_MTD_CHAR=y
|
||||||
|
# CONFIG_MTD_BLKDEVS is not set
|
||||||
|
# CONFIG_MTD_BLOCK is not set
|
||||||
|
# CONFIG_MTD_BLOCK_RO is not set
|
||||||
|
# CONFIG_FTL is not set
|
||||||
|
# CONFIG_NFTL is not set
|
||||||
|
# CONFIG_INFTL is not set
|
||||||
|
# CONFIG_RFD_FTL is not set
|
||||||
|
# CONFIG_SSFDC is not set
|
||||||
|
# CONFIG_MTD_OOPS is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# RAM/ROM/Flash chip drivers
|
||||||
|
#
|
||||||
|
CONFIG_MTD_CFI=y
|
||||||
|
CONFIG_MTD_JEDECPROBE=y
|
||||||
|
CONFIG_MTD_GEN_PROBE=y
|
||||||
|
# CONFIG_MTD_CFI_ADV_OPTIONS is not set
|
||||||
|
CONFIG_MTD_MAP_BANK_WIDTH_1=y
|
||||||
|
CONFIG_MTD_MAP_BANK_WIDTH_2=y
|
||||||
|
CONFIG_MTD_MAP_BANK_WIDTH_4=y
|
||||||
|
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
|
||||||
|
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
|
||||||
|
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
|
||||||
|
CONFIG_MTD_CFI_I1=y
|
||||||
|
CONFIG_MTD_CFI_I2=y
|
||||||
|
# CONFIG_MTD_CFI_I4 is not set
|
||||||
|
# CONFIG_MTD_CFI_I8 is not set
|
||||||
|
# CONFIG_MTD_CFI_INTELEXT is not set
|
||||||
|
CONFIG_MTD_CFI_AMDSTD=y
|
||||||
|
# CONFIG_MTD_CFI_STAA is not set
|
||||||
|
CONFIG_MTD_CFI_UTIL=y
|
||||||
|
# CONFIG_MTD_RAM is not set
|
||||||
|
# CONFIG_MTD_ROM is not set
|
||||||
|
# CONFIG_MTD_ABSENT is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Mapping drivers for chip access
|
||||||
|
#
|
||||||
|
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
|
||||||
|
CONFIG_MTD_PHYSMAP=y
|
||||||
|
# CONFIG_MTD_PHYSMAP_COMPAT is not set
|
||||||
|
# CONFIG_MTD_INTEL_VR_NOR is not set
|
||||||
|
# CONFIG_MTD_PLATRAM is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Self-contained MTD device drivers
|
||||||
|
#
|
||||||
|
# CONFIG_MTD_PMC551 is not set
|
||||||
|
# CONFIG_MTD_SLRAM is not set
|
||||||
|
# CONFIG_MTD_PHRAM is not set
|
||||||
|
# CONFIG_MTD_MTDRAM is not set
|
||||||
|
# CONFIG_MTD_BLOCK2MTD is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Disk-On-Chip Device Drivers
|
||||||
|
#
|
||||||
|
# CONFIG_MTD_DOC2000 is not set
|
||||||
|
# CONFIG_MTD_DOC2001 is not set
|
||||||
|
# CONFIG_MTD_DOC2001PLUS is not set
|
||||||
|
# CONFIG_MTD_NAND is not set
|
||||||
|
# CONFIG_MTD_ONENAND is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# LPDDR flash memory drivers
|
||||||
|
#
|
||||||
|
# CONFIG_MTD_LPDDR is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# UBI - Unsorted block images
|
||||||
|
#
|
||||||
|
# CONFIG_MTD_UBI is not set
|
||||||
# CONFIG_PARPORT is not set
|
# CONFIG_PARPORT is not set
|
||||||
CONFIG_BLK_DEV=y
|
CONFIG_BLK_DEV=y
|
||||||
# CONFIG_BLK_CPQ_DA is not set
|
# CONFIG_BLK_CPQ_DA is not set
|
||||||
|
@ -365,9 +464,60 @@ CONFIG_BLK_DEV_RAM_SIZE=8192
|
||||||
# CONFIG_BLK_DEV_XIP is not set
|
# CONFIG_BLK_DEV_XIP is not set
|
||||||
# CONFIG_CDROM_PKTCDVD is not set
|
# CONFIG_CDROM_PKTCDVD is not set
|
||||||
# CONFIG_ATA_OVER_ETH is not set
|
# CONFIG_ATA_OVER_ETH is not set
|
||||||
|
# CONFIG_BLK_DEV_HD is not set
|
||||||
# CONFIG_MISC_DEVICES is not set
|
# CONFIG_MISC_DEVICES is not set
|
||||||
CONFIG_HAVE_IDE=y
|
CONFIG_HAVE_IDE=y
|
||||||
# CONFIG_IDE is not set
|
CONFIG_IDE=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# Please see Documentation/ide/ide.txt for help/info on IDE drives
|
||||||
|
#
|
||||||
|
CONFIG_IDE_TIMINGS=y
|
||||||
|
# CONFIG_BLK_DEV_IDE_SATA is not set
|
||||||
|
CONFIG_IDE_GD=y
|
||||||
|
CONFIG_IDE_GD_ATA=y
|
||||||
|
# CONFIG_IDE_GD_ATAPI is not set
|
||||||
|
# CONFIG_BLK_DEV_IDECD is not set
|
||||||
|
# CONFIG_BLK_DEV_IDETAPE is not set
|
||||||
|
# CONFIG_IDE_TASK_IOCTL is not set
|
||||||
|
CONFIG_IDE_PROC_FS=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# IDE chipset support/bugfixes
|
||||||
|
#
|
||||||
|
# CONFIG_IDE_GENERIC is not set
|
||||||
|
# CONFIG_BLK_DEV_PLATFORM is not set
|
||||||
|
CONFIG_BLK_DEV_IDEDMA_SFF=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# PCI IDE chipsets support
|
||||||
|
#
|
||||||
|
# CONFIG_BLK_DEV_GENERIC is not set
|
||||||
|
# CONFIG_BLK_DEV_AEC62XX is not set
|
||||||
|
# CONFIG_BLK_DEV_ALI15X3 is not set
|
||||||
|
# CONFIG_BLK_DEV_AMD74XX is not set
|
||||||
|
# CONFIG_BLK_DEV_CMD64X is not set
|
||||||
|
# CONFIG_BLK_DEV_TRIFLEX is not set
|
||||||
|
# CONFIG_BLK_DEV_CS5530 is not set
|
||||||
|
# CONFIG_BLK_DEV_HPT366 is not set
|
||||||
|
# CONFIG_BLK_DEV_JMICRON is not set
|
||||||
|
# CONFIG_BLK_DEV_SC1200 is not set
|
||||||
|
# CONFIG_BLK_DEV_PIIX is not set
|
||||||
|
# CONFIG_BLK_DEV_IT8172 is not set
|
||||||
|
# CONFIG_BLK_DEV_IT8213 is not set
|
||||||
|
# CONFIG_BLK_DEV_IT821X is not set
|
||||||
|
# CONFIG_BLK_DEV_NS87415 is not set
|
||||||
|
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
|
||||||
|
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
|
||||||
|
# CONFIG_BLK_DEV_SVWKS is not set
|
||||||
|
# CONFIG_BLK_DEV_SIIMAGE is not set
|
||||||
|
# CONFIG_BLK_DEV_SLC90E66 is not set
|
||||||
|
# CONFIG_BLK_DEV_TRM290 is not set
|
||||||
|
# CONFIG_BLK_DEV_VIA82CXXX is not set
|
||||||
|
# CONFIG_BLK_DEV_TC86C001 is not set
|
||||||
|
CONFIG_BLK_DEV_IDE_TX4938=y
|
||||||
|
CONFIG_BLK_DEV_IDE_TX4939=y
|
||||||
|
CONFIG_BLK_DEV_IDEDMA=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# SCSI device support
|
# SCSI device support
|
||||||
|
@ -390,7 +540,6 @@ CONFIG_HAVE_IDE=y
|
||||||
# CONFIG_IEEE1394 is not set
|
# CONFIG_IEEE1394 is not set
|
||||||
# CONFIG_I2O is not set
|
# CONFIG_I2O is not set
|
||||||
CONFIG_NETDEVICES=y
|
CONFIG_NETDEVICES=y
|
||||||
# CONFIG_NETDEVICES_MULTIQUEUE is not set
|
|
||||||
# CONFIG_DUMMY is not set
|
# CONFIG_DUMMY is not set
|
||||||
# CONFIG_BONDING is not set
|
# CONFIG_BONDING is not set
|
||||||
# CONFIG_EQUALIZER is not set
|
# CONFIG_EQUALIZER is not set
|
||||||
|
@ -412,15 +561,19 @@ CONFIG_PHYLIB=y
|
||||||
# CONFIG_BROADCOM_PHY is not set
|
# CONFIG_BROADCOM_PHY is not set
|
||||||
# CONFIG_ICPLUS_PHY is not set
|
# CONFIG_ICPLUS_PHY is not set
|
||||||
# CONFIG_REALTEK_PHY is not set
|
# CONFIG_REALTEK_PHY is not set
|
||||||
|
# CONFIG_NATIONAL_PHY is not set
|
||||||
|
# CONFIG_STE10XP is not set
|
||||||
|
# CONFIG_LSI_ET1011C_PHY is not set
|
||||||
# CONFIG_FIXED_PHY is not set
|
# CONFIG_FIXED_PHY is not set
|
||||||
# CONFIG_MDIO_BITBANG is not set
|
# CONFIG_MDIO_BITBANG is not set
|
||||||
CONFIG_NET_ETHERNET=y
|
CONFIG_NET_ETHERNET=y
|
||||||
# CONFIG_MII is not set
|
CONFIG_MII=y
|
||||||
# CONFIG_AX88796 is not set
|
# CONFIG_AX88796 is not set
|
||||||
# CONFIG_HAPPYMEAL is not set
|
# CONFIG_HAPPYMEAL is not set
|
||||||
# CONFIG_SUNGEM is not set
|
# CONFIG_SUNGEM is not set
|
||||||
# CONFIG_CASSINI is not set
|
# CONFIG_CASSINI is not set
|
||||||
# CONFIG_NET_VENDOR_3COM is not set
|
# CONFIG_NET_VENDOR_3COM is not set
|
||||||
|
CONFIG_SMC91X=y
|
||||||
# CONFIG_DM9000 is not set
|
# CONFIG_DM9000 is not set
|
||||||
# CONFIG_NET_TULIP is not set
|
# CONFIG_NET_TULIP is not set
|
||||||
# CONFIG_HP100 is not set
|
# CONFIG_HP100 is not set
|
||||||
|
@ -429,6 +582,9 @@ CONFIG_NE2000=y
|
||||||
# CONFIG_IBM_NEW_EMAC_RGMII is not set
|
# CONFIG_IBM_NEW_EMAC_RGMII is not set
|
||||||
# CONFIG_IBM_NEW_EMAC_TAH is not set
|
# CONFIG_IBM_NEW_EMAC_TAH is not set
|
||||||
# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
|
# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
|
||||||
|
# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
|
||||||
|
# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
|
||||||
|
# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
|
||||||
CONFIG_NET_PCI=y
|
CONFIG_NET_PCI=y
|
||||||
# CONFIG_PCNET32 is not set
|
# CONFIG_PCNET32 is not set
|
||||||
# CONFIG_AMD8111_ETH is not set
|
# CONFIG_AMD8111_ETH is not set
|
||||||
|
@ -436,7 +592,6 @@ CONFIG_NET_PCI=y
|
||||||
# CONFIG_B44 is not set
|
# CONFIG_B44 is not set
|
||||||
# CONFIG_FORCEDETH is not set
|
# CONFIG_FORCEDETH is not set
|
||||||
CONFIG_TC35815=y
|
CONFIG_TC35815=y
|
||||||
# CONFIG_EEPRO100 is not set
|
|
||||||
# CONFIG_E100 is not set
|
# CONFIG_E100 is not set
|
||||||
# CONFIG_FEALNX is not set
|
# CONFIG_FEALNX is not set
|
||||||
# CONFIG_NATSEMI is not set
|
# CONFIG_NATSEMI is not set
|
||||||
|
@ -445,9 +600,11 @@ CONFIG_TC35815=y
|
||||||
# CONFIG_R6040 is not set
|
# CONFIG_R6040 is not set
|
||||||
# CONFIG_SIS900 is not set
|
# CONFIG_SIS900 is not set
|
||||||
# CONFIG_EPIC100 is not set
|
# CONFIG_EPIC100 is not set
|
||||||
|
# CONFIG_SMSC9420 is not set
|
||||||
# CONFIG_SUNDANCE is not set
|
# CONFIG_SUNDANCE is not set
|
||||||
# CONFIG_TLAN is not set
|
# CONFIG_TLAN is not set
|
||||||
# CONFIG_VIA_RHINE is not set
|
# CONFIG_VIA_RHINE is not set
|
||||||
|
# CONFIG_ATL2 is not set
|
||||||
# CONFIG_NETDEV_1000 is not set
|
# CONFIG_NETDEV_1000 is not set
|
||||||
# CONFIG_NETDEV_10000 is not set
|
# CONFIG_NETDEV_10000 is not set
|
||||||
# CONFIG_TR is not set
|
# CONFIG_TR is not set
|
||||||
|
@ -458,6 +615,10 @@ CONFIG_TC35815=y
|
||||||
# CONFIG_WLAN_PRE80211 is not set
|
# CONFIG_WLAN_PRE80211 is not set
|
||||||
# CONFIG_WLAN_80211 is not set
|
# CONFIG_WLAN_80211 is not set
|
||||||
# CONFIG_IWLWIFI_LEDS is not set
|
# CONFIG_IWLWIFI_LEDS is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Enable WiMAX (Networking options) to see the WiMAX drivers
|
||||||
|
#
|
||||||
# CONFIG_WAN is not set
|
# CONFIG_WAN is not set
|
||||||
# CONFIG_FDDI is not set
|
# CONFIG_FDDI is not set
|
||||||
# CONFIG_PPP is not set
|
# CONFIG_PPP is not set
|
||||||
|
@ -502,6 +663,7 @@ CONFIG_SERIAL_TXX9_CONSOLE=y
|
||||||
CONFIG_SERIAL_TXX9_STDSERIAL=y
|
CONFIG_SERIAL_TXX9_STDSERIAL=y
|
||||||
# CONFIG_SERIAL_JSM is not set
|
# CONFIG_SERIAL_JSM is not set
|
||||||
CONFIG_UNIX98_PTYS=y
|
CONFIG_UNIX98_PTYS=y
|
||||||
|
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
|
||||||
CONFIG_LEGACY_PTYS=y
|
CONFIG_LEGACY_PTYS=y
|
||||||
CONFIG_LEGACY_PTY_COUNT=256
|
CONFIG_LEGACY_PTY_COUNT=256
|
||||||
# CONFIG_IPMI_HANDLER is not set
|
# CONFIG_IPMI_HANDLER is not set
|
||||||
|
@ -517,26 +679,34 @@ CONFIG_SPI_MASTER=y
|
||||||
#
|
#
|
||||||
# SPI Master Controller Drivers
|
# SPI Master Controller Drivers
|
||||||
#
|
#
|
||||||
|
# CONFIG_SPI_BITBANG is not set
|
||||||
|
# CONFIG_SPI_GPIO is not set
|
||||||
CONFIG_SPI_TXX9=y
|
CONFIG_SPI_TXX9=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# SPI Protocol Masters
|
# SPI Protocol Masters
|
||||||
#
|
#
|
||||||
CONFIG_EEPROM_AT25=y
|
|
||||||
# CONFIG_SPI_TLE62X0 is not set
|
# CONFIG_SPI_TLE62X0 is not set
|
||||||
CONFIG_HAVE_GPIO_LIB=y
|
CONFIG_ARCH_REQUIRE_GPIOLIB=y
|
||||||
|
CONFIG_GPIOLIB=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# GPIO Support
|
# Memory mapped GPIO expanders:
|
||||||
#
|
#
|
||||||
|
|
||||||
#
|
#
|
||||||
# I2C GPIO expanders:
|
# I2C GPIO expanders:
|
||||||
#
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# PCI GPIO expanders:
|
||||||
|
#
|
||||||
|
# CONFIG_GPIO_BT8XX is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# SPI GPIO expanders:
|
# SPI GPIO expanders:
|
||||||
#
|
#
|
||||||
|
# CONFIG_GPIO_MAX7301 is not set
|
||||||
# CONFIG_GPIO_MCP23S08 is not set
|
# CONFIG_GPIO_MCP23S08 is not set
|
||||||
# CONFIG_W1 is not set
|
# CONFIG_W1 is not set
|
||||||
# CONFIG_POWER_SUPPLY is not set
|
# CONFIG_POWER_SUPPLY is not set
|
||||||
|
@ -550,6 +720,7 @@ CONFIG_WATCHDOG=y
|
||||||
# Watchdog Device Drivers
|
# Watchdog Device Drivers
|
||||||
#
|
#
|
||||||
# CONFIG_SOFT_WATCHDOG is not set
|
# CONFIG_SOFT_WATCHDOG is not set
|
||||||
|
# CONFIG_ALIM7101_WDT is not set
|
||||||
CONFIG_TXX9_WDT=m
|
CONFIG_TXX9_WDT=m
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -557,18 +728,21 @@ CONFIG_TXX9_WDT=m
|
||||||
#
|
#
|
||||||
# CONFIG_PCIPCWATCHDOG is not set
|
# CONFIG_PCIPCWATCHDOG is not set
|
||||||
# CONFIG_WDTPCI is not set
|
# CONFIG_WDTPCI is not set
|
||||||
|
CONFIG_SSB_POSSIBLE=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# Sonics Silicon Backplane
|
# Sonics Silicon Backplane
|
||||||
#
|
#
|
||||||
CONFIG_SSB_POSSIBLE=y
|
|
||||||
# CONFIG_SSB is not set
|
# CONFIG_SSB is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Multifunction device drivers
|
# Multifunction device drivers
|
||||||
#
|
#
|
||||||
|
# CONFIG_MFD_CORE is not set
|
||||||
# CONFIG_MFD_SM501 is not set
|
# CONFIG_MFD_SM501 is not set
|
||||||
# CONFIG_HTC_PASIC3 is not set
|
# CONFIG_HTC_PASIC3 is not set
|
||||||
|
# CONFIG_MFD_TMIO is not set
|
||||||
|
# CONFIG_REGULATOR is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Multimedia devices
|
# Multimedia devices
|
||||||
|
@ -599,15 +773,27 @@ CONFIG_SSB_POSSIBLE=y
|
||||||
# Display device support
|
# Display device support
|
||||||
#
|
#
|
||||||
# CONFIG_DISPLAY_SUPPORT is not set
|
# CONFIG_DISPLAY_SUPPORT is not set
|
||||||
|
|
||||||
#
|
|
||||||
# Sound
|
|
||||||
#
|
|
||||||
# CONFIG_SOUND is not set
|
# CONFIG_SOUND is not set
|
||||||
# CONFIG_USB_SUPPORT is not set
|
# CONFIG_USB_SUPPORT is not set
|
||||||
# CONFIG_MMC is not set
|
# CONFIG_MMC is not set
|
||||||
# CONFIG_MEMSTICK is not set
|
# CONFIG_MEMSTICK is not set
|
||||||
# CONFIG_NEW_LEDS is not set
|
CONFIG_NEW_LEDS=y
|
||||||
|
CONFIG_LEDS_CLASS=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# LED drivers
|
||||||
|
#
|
||||||
|
CONFIG_LEDS_GPIO=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# LED Triggers
|
||||||
|
#
|
||||||
|
CONFIG_LEDS_TRIGGERS=y
|
||||||
|
# CONFIG_LEDS_TRIGGER_TIMER is not set
|
||||||
|
CONFIG_LEDS_TRIGGER_IDE_DISK=y
|
||||||
|
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||||
|
# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
|
||||||
|
# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
|
||||||
# CONFIG_ACCESSIBILITY is not set
|
# CONFIG_ACCESSIBILITY is not set
|
||||||
# CONFIG_INFINIBAND is not set
|
# CONFIG_INFINIBAND is not set
|
||||||
CONFIG_RTC_LIB=y
|
CONFIG_RTC_LIB=y
|
||||||
|
@ -628,35 +814,47 @@ CONFIG_RTC_INTF_DEV_UIE_EMUL=y
|
||||||
#
|
#
|
||||||
# SPI RTC drivers
|
# SPI RTC drivers
|
||||||
#
|
#
|
||||||
|
# CONFIG_RTC_DRV_M41T94 is not set
|
||||||
|
# CONFIG_RTC_DRV_DS1305 is not set
|
||||||
|
# CONFIG_RTC_DRV_DS1390 is not set
|
||||||
# CONFIG_RTC_DRV_MAX6902 is not set
|
# CONFIG_RTC_DRV_MAX6902 is not set
|
||||||
# CONFIG_RTC_DRV_R9701 is not set
|
# CONFIG_RTC_DRV_R9701 is not set
|
||||||
CONFIG_RTC_DRV_RS5C348=y
|
CONFIG_RTC_DRV_RS5C348=y
|
||||||
|
# CONFIG_RTC_DRV_DS3234 is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Platform RTC drivers
|
# Platform RTC drivers
|
||||||
#
|
#
|
||||||
# CONFIG_RTC_DRV_CMOS is not set
|
# CONFIG_RTC_DRV_CMOS is not set
|
||||||
|
# CONFIG_RTC_DRV_DS1286 is not set
|
||||||
# CONFIG_RTC_DRV_DS1511 is not set
|
# CONFIG_RTC_DRV_DS1511 is not set
|
||||||
# CONFIG_RTC_DRV_DS1553 is not set
|
# CONFIG_RTC_DRV_DS1553 is not set
|
||||||
CONFIG_RTC_DRV_DS1742=y
|
CONFIG_RTC_DRV_DS1742=y
|
||||||
# CONFIG_RTC_DRV_STK17TA8 is not set
|
# CONFIG_RTC_DRV_STK17TA8 is not set
|
||||||
# CONFIG_RTC_DRV_M48T86 is not set
|
# CONFIG_RTC_DRV_M48T86 is not set
|
||||||
|
# CONFIG_RTC_DRV_M48T35 is not set
|
||||||
# CONFIG_RTC_DRV_M48T59 is not set
|
# CONFIG_RTC_DRV_M48T59 is not set
|
||||||
|
# CONFIG_RTC_DRV_BQ4802 is not set
|
||||||
# CONFIG_RTC_DRV_V3020 is not set
|
# CONFIG_RTC_DRV_V3020 is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# on-CPU RTC drivers
|
# on-CPU RTC drivers
|
||||||
#
|
#
|
||||||
|
CONFIG_RTC_DRV_TX4939=y
|
||||||
|
# CONFIG_DMADEVICES is not set
|
||||||
# CONFIG_UIO is not set
|
# CONFIG_UIO is not set
|
||||||
|
# CONFIG_STAGING is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# File systems
|
# File systems
|
||||||
#
|
#
|
||||||
# CONFIG_EXT2_FS is not set
|
# CONFIG_EXT2_FS is not set
|
||||||
# CONFIG_EXT3_FS is not set
|
# CONFIG_EXT3_FS is not set
|
||||||
|
# CONFIG_EXT4_FS is not set
|
||||||
# CONFIG_REISERFS_FS is not set
|
# CONFIG_REISERFS_FS is not set
|
||||||
# CONFIG_JFS_FS is not set
|
# CONFIG_JFS_FS is not set
|
||||||
CONFIG_FS_POSIX_ACL=y
|
CONFIG_FS_POSIX_ACL=y
|
||||||
|
CONFIG_FILE_LOCKING=y
|
||||||
# CONFIG_XFS_FS is not set
|
# CONFIG_XFS_FS is not set
|
||||||
# CONFIG_OCFS2_FS is not set
|
# CONFIG_OCFS2_FS is not set
|
||||||
# CONFIG_DNOTIFY is not set
|
# CONFIG_DNOTIFY is not set
|
||||||
|
@ -687,30 +885,19 @@ CONFIG_GENERIC_ACL=y
|
||||||
CONFIG_PROC_FS=y
|
CONFIG_PROC_FS=y
|
||||||
# CONFIG_PROC_KCORE is not set
|
# CONFIG_PROC_KCORE is not set
|
||||||
CONFIG_PROC_SYSCTL=y
|
CONFIG_PROC_SYSCTL=y
|
||||||
|
CONFIG_PROC_PAGE_MONITOR=y
|
||||||
CONFIG_SYSFS=y
|
CONFIG_SYSFS=y
|
||||||
CONFIG_TMPFS=y
|
CONFIG_TMPFS=y
|
||||||
CONFIG_TMPFS_POSIX_ACL=y
|
CONFIG_TMPFS_POSIX_ACL=y
|
||||||
# CONFIG_HUGETLB_PAGE is not set
|
# CONFIG_HUGETLB_PAGE is not set
|
||||||
# CONFIG_CONFIGFS_FS is not set
|
# CONFIG_CONFIGFS_FS is not set
|
||||||
|
# CONFIG_MISC_FILESYSTEMS is not set
|
||||||
#
|
|
||||||
# Miscellaneous filesystems
|
|
||||||
#
|
|
||||||
# CONFIG_HFSPLUS_FS is not set
|
|
||||||
# CONFIG_CRAMFS is not set
|
|
||||||
# CONFIG_VXFS_FS is not set
|
|
||||||
# CONFIG_MINIX_FS is not set
|
|
||||||
# CONFIG_HPFS_FS is not set
|
|
||||||
# CONFIG_QNX4FS_FS is not set
|
|
||||||
# CONFIG_ROMFS_FS is not set
|
|
||||||
# CONFIG_SYSV_FS is not set
|
|
||||||
# CONFIG_UFS_FS is not set
|
|
||||||
CONFIG_NETWORK_FILESYSTEMS=y
|
CONFIG_NETWORK_FILESYSTEMS=y
|
||||||
CONFIG_NFS_FS=y
|
CONFIG_NFS_FS=y
|
||||||
CONFIG_NFS_V3=y
|
CONFIG_NFS_V3=y
|
||||||
# CONFIG_NFS_V3_ACL is not set
|
# CONFIG_NFS_V3_ACL is not set
|
||||||
# CONFIG_NFSD is not set
|
|
||||||
CONFIG_ROOT_NFS=y
|
CONFIG_ROOT_NFS=y
|
||||||
|
# CONFIG_NFSD is not set
|
||||||
CONFIG_LOCKD=y
|
CONFIG_LOCKD=y
|
||||||
CONFIG_LOCKD_V4=y
|
CONFIG_LOCKD_V4=y
|
||||||
CONFIG_NFS_COMMON=y
|
CONFIG_NFS_COMMON=y
|
||||||
|
@ -740,7 +927,16 @@ CONFIG_FRAME_WARN=1024
|
||||||
CONFIG_DEBUG_FS=y
|
CONFIG_DEBUG_FS=y
|
||||||
# CONFIG_HEADERS_CHECK is not set
|
# CONFIG_HEADERS_CHECK is not set
|
||||||
# CONFIG_DEBUG_KERNEL is not set
|
# CONFIG_DEBUG_KERNEL is not set
|
||||||
|
# CONFIG_DEBUG_MEMORY_INIT is not set
|
||||||
|
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
|
||||||
|
CONFIG_SYSCTL_SYSCALL_CHECK=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# Tracers
|
||||||
|
#
|
||||||
|
# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
|
||||||
# CONFIG_SAMPLES is not set
|
# CONFIG_SAMPLES is not set
|
||||||
|
CONFIG_HAVE_ARCH_KGDB=y
|
||||||
CONFIG_CMDLINE=""
|
CONFIG_CMDLINE=""
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -748,15 +944,18 @@ CONFIG_CMDLINE=""
|
||||||
#
|
#
|
||||||
# CONFIG_KEYS is not set
|
# CONFIG_KEYS is not set
|
||||||
# CONFIG_SECURITY is not set
|
# CONFIG_SECURITY is not set
|
||||||
|
# CONFIG_SECURITYFS is not set
|
||||||
|
# CONFIG_SECURITY_FILE_CAPABILITIES is not set
|
||||||
# CONFIG_CRYPTO is not set
|
# CONFIG_CRYPTO is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Library routines
|
# Library routines
|
||||||
#
|
#
|
||||||
CONFIG_BITREVERSE=y
|
CONFIG_BITREVERSE=y
|
||||||
# CONFIG_GENERIC_FIND_FIRST_BIT is not set
|
CONFIG_GENERIC_FIND_LAST_BIT=y
|
||||||
# CONFIG_CRC_CCITT is not set
|
# CONFIG_CRC_CCITT is not set
|
||||||
# CONFIG_CRC16 is not set
|
# CONFIG_CRC16 is not set
|
||||||
|
# CONFIG_CRC_T10DIF is not set
|
||||||
# CONFIG_CRC_ITU_T is not set
|
# CONFIG_CRC_ITU_T is not set
|
||||||
CONFIG_CRC32=y
|
CONFIG_CRC32=y
|
||||||
# CONFIG_CRC7 is not set
|
# CONFIG_CRC7 is not set
|
||||||
|
|
|
@ -138,7 +138,8 @@ do { \
|
||||||
__instruction_hazard(); \
|
__instruction_hazard(); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
#elif defined(CONFIG_CPU_R10000) || defined(CONFIG_CPU_CAVIUM_OCTEON)
|
#elif defined(CONFIG_CPU_R10000) || defined(CONFIG_CPU_CAVIUM_OCTEON) || \
|
||||||
|
defined(CONFIG_CPU_R5500)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* R10000 rocks - all hazards handled in hardware, so this becomes a nobrainer.
|
* R10000 rocks - all hazards handled in hardware, so this becomes a nobrainer.
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
* Pref_WriteBackInvalidate is a nop and Pref_PrepareForStore is broken in
|
* Pref_WriteBackInvalidate is a nop and Pref_PrepareForStore is broken in
|
||||||
* current versions due to erratum G105.
|
* current versions due to erratum G105.
|
||||||
*
|
*
|
||||||
* VR7701 only implements the Load prefetch.
|
* VR5500 (including VR5701 and VR7701) only implement load prefetch.
|
||||||
*
|
*
|
||||||
* Finally MIPS32 and MIPS64 implement all of the following hints.
|
* Finally MIPS32 and MIPS64 implement all of the following hints.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -149,6 +149,7 @@ void __init check_wait(void)
|
||||||
case CPU_R4650:
|
case CPU_R4650:
|
||||||
case CPU_R4700:
|
case CPU_R4700:
|
||||||
case CPU_R5000:
|
case CPU_R5000:
|
||||||
|
case CPU_R5500:
|
||||||
case CPU_NEVADA:
|
case CPU_NEVADA:
|
||||||
case CPU_4KC:
|
case CPU_4KC:
|
||||||
case CPU_4KEC:
|
case CPU_4KEC:
|
||||||
|
|
|
@ -235,7 +235,7 @@ SYSCALL_DEFINE6(32_ipc, u32, call, long, first, long, second, long, third,
|
||||||
#else
|
#else
|
||||||
|
|
||||||
SYSCALL_DEFINE6(32_ipc, u32, call, int, first, int, second, int, third,
|
SYSCALL_DEFINE6(32_ipc, u32, call, int, first, int, second, int, third,
|
||||||
u32, ptr, u32 fifth)
|
u32, ptr, u32, fifth)
|
||||||
{
|
{
|
||||||
return -ENOSYS;
|
return -ENOSYS;
|
||||||
}
|
}
|
||||||
|
|
|
@ -172,8 +172,9 @@ static void __cpuinit set_prefetch_parameters(void)
|
||||||
*/
|
*/
|
||||||
cache_line_size = cpu_dcache_line_size();
|
cache_line_size = cpu_dcache_line_size();
|
||||||
switch (current_cpu_type()) {
|
switch (current_cpu_type()) {
|
||||||
|
case CPU_R5500:
|
||||||
case CPU_TX49XX:
|
case CPU_TX49XX:
|
||||||
/* TX49 supports only Pref_Load */
|
/* These processors only support the Pref_Load. */
|
||||||
pref_bias_copy_load = 256;
|
pref_bias_copy_load = 256;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -318,6 +318,7 @@ static void __cpuinit build_tlb_write_entry(u32 **p, struct uasm_label **l,
|
||||||
case CPU_BCM4710:
|
case CPU_BCM4710:
|
||||||
case CPU_LOONGSON2:
|
case CPU_LOONGSON2:
|
||||||
case CPU_CAVIUM_OCTEON:
|
case CPU_CAVIUM_OCTEON:
|
||||||
|
case CPU_R5500:
|
||||||
if (m4kc_tlbp_war())
|
if (m4kc_tlbp_war())
|
||||||
uasm_i_nop(p);
|
uasm_i_nop(p);
|
||||||
tlbw(p);
|
tlbw(p);
|
||||||
|
|
|
@ -686,7 +686,7 @@ CONFIG_SERIAL_UARTLITE_CONSOLE=y
|
||||||
CONFIG_SERIAL_CORE=y
|
CONFIG_SERIAL_CORE=y
|
||||||
CONFIG_SERIAL_CORE_CONSOLE=y
|
CONFIG_SERIAL_CORE_CONSOLE=y
|
||||||
# CONFIG_SERIAL_JSM is not set
|
# CONFIG_SERIAL_JSM is not set
|
||||||
# CONFIG_SERIAL_OF_PLATFORM is not set
|
CONFIG_SERIAL_OF_PLATFORM=y
|
||||||
# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
|
# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
|
||||||
CONFIG_UNIX98_PTYS=y
|
CONFIG_UNIX98_PTYS=y
|
||||||
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
|
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
|
||||||
|
|
|
@ -691,7 +691,7 @@ CONFIG_SERIAL_UARTLITE_CONSOLE=y
|
||||||
CONFIG_SERIAL_CORE=y
|
CONFIG_SERIAL_CORE=y
|
||||||
CONFIG_SERIAL_CORE_CONSOLE=y
|
CONFIG_SERIAL_CORE_CONSOLE=y
|
||||||
# CONFIG_SERIAL_JSM is not set
|
# CONFIG_SERIAL_JSM is not set
|
||||||
# CONFIG_SERIAL_OF_PLATFORM is not set
|
CONFIG_SERIAL_OF_PLATFORM=y
|
||||||
# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
|
# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
|
||||||
CONFIG_UNIX98_PTYS=y
|
CONFIG_UNIX98_PTYS=y
|
||||||
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
|
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#
|
#
|
||||||
# Automatically generated make config: don't edit
|
# Automatically generated make config: don't edit
|
||||||
# Linux kernel version: 2.6.29-rc2
|
# Linux kernel version: 2.6.29-rc6
|
||||||
# Mon Jan 26 15:35:29 2009
|
# Fri Mar 6 00:07:38 2009
|
||||||
#
|
#
|
||||||
# CONFIG_PPC64 is not set
|
# CONFIG_PPC64 is not set
|
||||||
|
|
||||||
|
@ -71,6 +71,15 @@ CONFIG_POSIX_MQUEUE=y
|
||||||
# CONFIG_BSD_PROCESS_ACCT is not set
|
# CONFIG_BSD_PROCESS_ACCT is not set
|
||||||
# CONFIG_TASKSTATS is not set
|
# CONFIG_TASKSTATS is not set
|
||||||
# CONFIG_AUDIT is not set
|
# CONFIG_AUDIT is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# RCU Subsystem
|
||||||
|
#
|
||||||
|
CONFIG_CLASSIC_RCU=y
|
||||||
|
# CONFIG_TREE_RCU is not set
|
||||||
|
# CONFIG_PREEMPT_RCU is not set
|
||||||
|
# CONFIG_TREE_RCU_TRACE is not set
|
||||||
|
# CONFIG_PREEMPT_RCU_TRACE is not set
|
||||||
CONFIG_IKCONFIG=y
|
CONFIG_IKCONFIG=y
|
||||||
CONFIG_IKCONFIG_PROC=y
|
CONFIG_IKCONFIG_PROC=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
|
@ -88,6 +97,7 @@ CONFIG_NAMESPACES=y
|
||||||
# CONFIG_IPC_NS is not set
|
# CONFIG_IPC_NS is not set
|
||||||
# CONFIG_USER_NS is not set
|
# CONFIG_USER_NS is not set
|
||||||
# CONFIG_PID_NS is not set
|
# CONFIG_PID_NS is not set
|
||||||
|
# CONFIG_NET_NS is not set
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
CONFIG_INITRAMFS_SOURCE=""
|
CONFIG_INITRAMFS_SOURCE=""
|
||||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||||
|
@ -153,11 +163,6 @@ CONFIG_DEFAULT_AS=y
|
||||||
# CONFIG_DEFAULT_CFQ is not set
|
# CONFIG_DEFAULT_CFQ is not set
|
||||||
# CONFIG_DEFAULT_NOOP is not set
|
# CONFIG_DEFAULT_NOOP is not set
|
||||||
CONFIG_DEFAULT_IOSCHED="anticipatory"
|
CONFIG_DEFAULT_IOSCHED="anticipatory"
|
||||||
CONFIG_CLASSIC_RCU=y
|
|
||||||
# CONFIG_TREE_RCU is not set
|
|
||||||
# CONFIG_PREEMPT_RCU is not set
|
|
||||||
# CONFIG_TREE_RCU_TRACE is not set
|
|
||||||
# CONFIG_PREEMPT_RCU_TRACE is not set
|
|
||||||
# CONFIG_FREEZER is not set
|
# CONFIG_FREEZER is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -294,7 +299,6 @@ CONFIG_NET=y
|
||||||
#
|
#
|
||||||
# Networking options
|
# Networking options
|
||||||
#
|
#
|
||||||
# CONFIG_NET_NS is not set
|
|
||||||
CONFIG_COMPAT_NET_DEV_OPS=y
|
CONFIG_COMPAT_NET_DEV_OPS=y
|
||||||
CONFIG_PACKET=y
|
CONFIG_PACKET=y
|
||||||
CONFIG_PACKET_MMAP=y
|
CONFIG_PACKET_MMAP=y
|
||||||
|
@ -508,8 +512,8 @@ CONFIG_MTD_CONCAT=y
|
||||||
CONFIG_MTD_PARTITIONS=y
|
CONFIG_MTD_PARTITIONS=y
|
||||||
# CONFIG_MTD_TESTS is not set
|
# CONFIG_MTD_TESTS is not set
|
||||||
# CONFIG_MTD_REDBOOT_PARTS is not set
|
# CONFIG_MTD_REDBOOT_PARTS is not set
|
||||||
# CONFIG_MTD_CMDLINE_PARTS is not set
|
CONFIG_MTD_CMDLINE_PARTS=y
|
||||||
# CONFIG_MTD_OF_PARTS is not set
|
CONFIG_MTD_OF_PARTS=y
|
||||||
# CONFIG_MTD_AR7_PARTS is not set
|
# CONFIG_MTD_AR7_PARTS is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -587,7 +591,6 @@ CONFIG_MTD_PHYSMAP=y
|
||||||
# LPDDR flash memory drivers
|
# LPDDR flash memory drivers
|
||||||
#
|
#
|
||||||
# CONFIG_MTD_LPDDR is not set
|
# CONFIG_MTD_LPDDR is not set
|
||||||
# CONFIG_MTD_QINFO_PROBE is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# UBI - Unsorted block images
|
# UBI - Unsorted block images
|
||||||
|
@ -617,13 +620,19 @@ CONFIG_BLK_DEV_RAM_SIZE=8192
|
||||||
# CONFIG_BLK_DEV_HD is not set
|
# CONFIG_BLK_DEV_HD is not set
|
||||||
CONFIG_MISC_DEVICES=y
|
CONFIG_MISC_DEVICES=y
|
||||||
# CONFIG_PHANTOM is not set
|
# CONFIG_PHANTOM is not set
|
||||||
# CONFIG_EEPROM_93CX6 is not set
|
|
||||||
# CONFIG_SGI_IOC4 is not set
|
# CONFIG_SGI_IOC4 is not set
|
||||||
# CONFIG_TIFM_CORE is not set
|
# CONFIG_TIFM_CORE is not set
|
||||||
# CONFIG_ICS932S401 is not set
|
# CONFIG_ICS932S401 is not set
|
||||||
# CONFIG_ENCLOSURE_SERVICES is not set
|
# CONFIG_ENCLOSURE_SERVICES is not set
|
||||||
# CONFIG_HP_ILO is not set
|
# CONFIG_HP_ILO is not set
|
||||||
# CONFIG_C2PORT is not set
|
# CONFIG_C2PORT is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# EEPROM support
|
||||||
|
#
|
||||||
|
# CONFIG_EEPROM_AT24 is not set
|
||||||
|
CONFIG_EEPROM_LEGACY=m
|
||||||
|
# CONFIG_EEPROM_93CX6 is not set
|
||||||
CONFIG_HAVE_IDE=y
|
CONFIG_HAVE_IDE=y
|
||||||
# CONFIG_IDE is not set
|
# CONFIG_IDE is not set
|
||||||
|
|
||||||
|
@ -839,6 +848,7 @@ CONFIG_R8169=y
|
||||||
# CONFIG_QLA3XXX is not set
|
# CONFIG_QLA3XXX is not set
|
||||||
# CONFIG_ATL1 is not set
|
# CONFIG_ATL1 is not set
|
||||||
# CONFIG_ATL1E is not set
|
# CONFIG_ATL1E is not set
|
||||||
|
# CONFIG_ATL1C is not set
|
||||||
# CONFIG_JME is not set
|
# CONFIG_JME is not set
|
||||||
CONFIG_NETDEV_10000=y
|
CONFIG_NETDEV_10000=y
|
||||||
# CONFIG_CHELSIO_T1 is not set
|
# CONFIG_CHELSIO_T1 is not set
|
||||||
|
@ -1037,8 +1047,6 @@ CONFIG_I2C_MPC=y
|
||||||
# Miscellaneous I2C Chip support
|
# Miscellaneous I2C Chip support
|
||||||
#
|
#
|
||||||
# CONFIG_DS1682 is not set
|
# CONFIG_DS1682 is not set
|
||||||
# CONFIG_EEPROM_AT24 is not set
|
|
||||||
CONFIG_EEPROM_LEGACY=m
|
|
||||||
# CONFIG_SENSORS_PCF8574 is not set
|
# CONFIG_SENSORS_PCF8574 is not set
|
||||||
# CONFIG_PCF8575 is not set
|
# CONFIG_PCF8575 is not set
|
||||||
# CONFIG_SENSORS_PCA9539 is not set
|
# CONFIG_SENSORS_PCA9539 is not set
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#
|
#
|
||||||
# Automatically generated make config: don't edit
|
# Automatically generated make config: don't edit
|
||||||
# Linux kernel version: 2.6.29-rc2
|
# Linux kernel version: 2.6.29-rc6
|
||||||
# Mon Jan 26 15:35:46 2009
|
# Fri Mar 6 00:09:08 2009
|
||||||
#
|
#
|
||||||
# CONFIG_PPC64 is not set
|
# CONFIG_PPC64 is not set
|
||||||
|
|
||||||
|
@ -71,6 +71,15 @@ CONFIG_SYSVIPC_SYSCTL=y
|
||||||
# CONFIG_BSD_PROCESS_ACCT is not set
|
# CONFIG_BSD_PROCESS_ACCT is not set
|
||||||
# CONFIG_TASKSTATS is not set
|
# CONFIG_TASKSTATS is not set
|
||||||
# CONFIG_AUDIT is not set
|
# CONFIG_AUDIT is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# RCU Subsystem
|
||||||
|
#
|
||||||
|
CONFIG_CLASSIC_RCU=y
|
||||||
|
# CONFIG_TREE_RCU is not set
|
||||||
|
# CONFIG_PREEMPT_RCU is not set
|
||||||
|
# CONFIG_TREE_RCU_TRACE is not set
|
||||||
|
# CONFIG_PREEMPT_RCU_TRACE is not set
|
||||||
# CONFIG_IKCONFIG is not set
|
# CONFIG_IKCONFIG is not set
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_GROUP_SCHED=y
|
CONFIG_GROUP_SCHED=y
|
||||||
|
@ -144,11 +153,6 @@ CONFIG_IOSCHED_CFQ=y
|
||||||
CONFIG_DEFAULT_CFQ=y
|
CONFIG_DEFAULT_CFQ=y
|
||||||
# CONFIG_DEFAULT_NOOP is not set
|
# CONFIG_DEFAULT_NOOP is not set
|
||||||
CONFIG_DEFAULT_IOSCHED="cfq"
|
CONFIG_DEFAULT_IOSCHED="cfq"
|
||||||
CONFIG_CLASSIC_RCU=y
|
|
||||||
# CONFIG_TREE_RCU is not set
|
|
||||||
# CONFIG_PREEMPT_RCU is not set
|
|
||||||
# CONFIG_TREE_RCU_TRACE is not set
|
|
||||||
# CONFIG_PREEMPT_RCU_TRACE is not set
|
|
||||||
# CONFIG_FREEZER is not set
|
# CONFIG_FREEZER is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -377,8 +381,8 @@ CONFIG_MTD=y
|
||||||
CONFIG_MTD_PARTITIONS=y
|
CONFIG_MTD_PARTITIONS=y
|
||||||
# CONFIG_MTD_TESTS is not set
|
# CONFIG_MTD_TESTS is not set
|
||||||
# CONFIG_MTD_REDBOOT_PARTS is not set
|
# CONFIG_MTD_REDBOOT_PARTS is not set
|
||||||
# CONFIG_MTD_CMDLINE_PARTS is not set
|
CONFIG_MTD_CMDLINE_PARTS=y
|
||||||
# CONFIG_MTD_OF_PARTS is not set
|
CONFIG_MTD_OF_PARTS=y
|
||||||
# CONFIG_MTD_AR7_PARTS is not set
|
# CONFIG_MTD_AR7_PARTS is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -452,7 +456,6 @@ CONFIG_MTD_PHYSMAP=y
|
||||||
# LPDDR flash memory drivers
|
# LPDDR flash memory drivers
|
||||||
#
|
#
|
||||||
# CONFIG_MTD_LPDDR is not set
|
# CONFIG_MTD_LPDDR is not set
|
||||||
# CONFIG_MTD_QINFO_PROBE is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# UBI - Unsorted block images
|
# UBI - Unsorted block images
|
||||||
|
@ -478,13 +481,19 @@ CONFIG_BLK_DEV=y
|
||||||
# CONFIG_BLK_DEV_HD is not set
|
# CONFIG_BLK_DEV_HD is not set
|
||||||
CONFIG_MISC_DEVICES=y
|
CONFIG_MISC_DEVICES=y
|
||||||
# CONFIG_PHANTOM is not set
|
# CONFIG_PHANTOM is not set
|
||||||
# CONFIG_EEPROM_93CX6 is not set
|
|
||||||
# CONFIG_SGI_IOC4 is not set
|
# CONFIG_SGI_IOC4 is not set
|
||||||
# CONFIG_TIFM_CORE is not set
|
# CONFIG_TIFM_CORE is not set
|
||||||
# CONFIG_ICS932S401 is not set
|
# CONFIG_ICS932S401 is not set
|
||||||
# CONFIG_ENCLOSURE_SERVICES is not set
|
# CONFIG_ENCLOSURE_SERVICES is not set
|
||||||
# CONFIG_HP_ILO is not set
|
# CONFIG_HP_ILO is not set
|
||||||
# CONFIG_C2PORT is not set
|
# CONFIG_C2PORT is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# EEPROM support
|
||||||
|
#
|
||||||
|
# CONFIG_EEPROM_AT24 is not set
|
||||||
|
# CONFIG_EEPROM_LEGACY is not set
|
||||||
|
# CONFIG_EEPROM_93CX6 is not set
|
||||||
CONFIG_HAVE_IDE=y
|
CONFIG_HAVE_IDE=y
|
||||||
CONFIG_IDE=y
|
CONFIG_IDE=y
|
||||||
|
|
||||||
|
@ -677,6 +686,7 @@ CONFIG_R8169=y
|
||||||
# CONFIG_QLA3XXX is not set
|
# CONFIG_QLA3XXX is not set
|
||||||
# CONFIG_ATL1 is not set
|
# CONFIG_ATL1 is not set
|
||||||
# CONFIG_ATL1E is not set
|
# CONFIG_ATL1E is not set
|
||||||
|
# CONFIG_ATL1C is not set
|
||||||
# CONFIG_JME is not set
|
# CONFIG_JME is not set
|
||||||
# CONFIG_NETDEV_10000 is not set
|
# CONFIG_NETDEV_10000 is not set
|
||||||
# CONFIG_TR is not set
|
# CONFIG_TR is not set
|
||||||
|
@ -818,8 +828,6 @@ CONFIG_I2C_MPC=y
|
||||||
# Miscellaneous I2C Chip support
|
# Miscellaneous I2C Chip support
|
||||||
#
|
#
|
||||||
# CONFIG_DS1682 is not set
|
# CONFIG_DS1682 is not set
|
||||||
# CONFIG_EEPROM_AT24 is not set
|
|
||||||
# CONFIG_EEPROM_LEGACY is not set
|
|
||||||
# CONFIG_SENSORS_PCF8574 is not set
|
# CONFIG_SENSORS_PCF8574 is not set
|
||||||
# CONFIG_PCF8575 is not set
|
# CONFIG_PCF8575 is not set
|
||||||
# CONFIG_SENSORS_PCA9539 is not set
|
# CONFIG_SENSORS_PCA9539 is not set
|
||||||
|
@ -1159,6 +1167,7 @@ CONFIG_JFFS2_RTIME=y
|
||||||
# CONFIG_SYSV_FS is not set
|
# CONFIG_SYSV_FS is not set
|
||||||
# CONFIG_UFS_FS is not set
|
# CONFIG_UFS_FS is not set
|
||||||
# CONFIG_NETWORK_FILESYSTEMS is not set
|
# CONFIG_NETWORK_FILESYSTEMS is not set
|
||||||
|
CONFIG_EXPORTFS=m
|
||||||
|
|
||||||
#
|
#
|
||||||
# Partition Types
|
# Partition Types
|
||||||
|
|
|
@ -12,7 +12,6 @@
|
||||||
|
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/initrd.h>
|
#include <linux/initrd.h>
|
||||||
#include <linux/mtd/physmap.h>
|
|
||||||
#include <linux/of_platform.h>
|
#include <linux/of_platform.h>
|
||||||
|
|
||||||
#include <asm/time.h>
|
#include <asm/time.h>
|
||||||
|
@ -22,39 +21,6 @@
|
||||||
|
|
||||||
#include "mpc10x.h"
|
#include "mpc10x.h"
|
||||||
|
|
||||||
static struct mtd_partition linkstation_physmap_partitions[] = {
|
|
||||||
{
|
|
||||||
.name = "mtd_firmimg",
|
|
||||||
.offset = 0x000000,
|
|
||||||
.size = 0x300000,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.name = "mtd_bootcode",
|
|
||||||
.offset = 0x300000,
|
|
||||||
.size = 0x070000,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.name = "mtd_status",
|
|
||||||
.offset = 0x370000,
|
|
||||||
.size = 0x010000,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.name = "mtd_conf",
|
|
||||||
.offset = 0x380000,
|
|
||||||
.size = 0x080000,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.name = "mtd_allflash",
|
|
||||||
.offset = 0x000000,
|
|
||||||
.size = 0x400000,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.name = "mtd_data",
|
|
||||||
.offset = 0x310000,
|
|
||||||
.size = 0x0f0000,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
static __initdata struct of_device_id of_bus_ids[] = {
|
static __initdata struct of_device_id of_bus_ids[] = {
|
||||||
{ .type = "soc", },
|
{ .type = "soc", },
|
||||||
{ .compatible = "simple-bus", },
|
{ .compatible = "simple-bus", },
|
||||||
|
@ -99,10 +65,6 @@ static int __init linkstation_add_bridge(struct device_node *dev)
|
||||||
static void __init linkstation_setup_arch(void)
|
static void __init linkstation_setup_arch(void)
|
||||||
{
|
{
|
||||||
struct device_node *np;
|
struct device_node *np;
|
||||||
#ifdef CONFIG_MTD_PHYSMAP
|
|
||||||
physmap_set_partitions(linkstation_physmap_partitions,
|
|
||||||
ARRAY_SIZE(linkstation_physmap_partitions));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Lookup PCI host bridges */
|
/* Lookup PCI host bridges */
|
||||||
for_each_compatible_node(np, "pci", "mpc10x-pci")
|
for_each_compatible_node(np, "pci", "mpc10x-pci")
|
||||||
|
|
|
@ -14,7 +14,6 @@
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/pci.h>
|
#include <linux/pci.h>
|
||||||
#include <linux/initrd.h>
|
#include <linux/initrd.h>
|
||||||
#include <linux/mtd/physmap.h>
|
|
||||||
#include <linux/of_platform.h>
|
#include <linux/of_platform.h>
|
||||||
|
|
||||||
#include <asm/system.h>
|
#include <asm/system.h>
|
||||||
|
@ -26,32 +25,6 @@
|
||||||
#include "mpc10x.h"
|
#include "mpc10x.h"
|
||||||
|
|
||||||
|
|
||||||
#ifdef CONFIG_MTD_PHYSMAP
|
|
||||||
static struct mtd_partition storcenter_physmap_partitions[] = {
|
|
||||||
{
|
|
||||||
.name = "kernel",
|
|
||||||
.offset = 0x000000,
|
|
||||||
.size = 0x170000,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.name = "rootfs",
|
|
||||||
.offset = 0x170000,
|
|
||||||
.size = 0x590000,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.name = "uboot",
|
|
||||||
.offset = 0x700000,
|
|
||||||
.size = 0x040000,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.name = "config",
|
|
||||||
.offset = 0x740000,
|
|
||||||
.size = 0x0c0000,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
static __initdata struct of_device_id storcenter_of_bus[] = {
|
static __initdata struct of_device_id storcenter_of_bus[] = {
|
||||||
{ .name = "soc", },
|
{ .name = "soc", },
|
||||||
{},
|
{},
|
||||||
|
@ -96,11 +69,6 @@ static void __init storcenter_setup_arch(void)
|
||||||
{
|
{
|
||||||
struct device_node *np;
|
struct device_node *np;
|
||||||
|
|
||||||
#ifdef CONFIG_MTD_PHYSMAP
|
|
||||||
physmap_set_partitions(storcenter_physmap_partitions,
|
|
||||||
ARRAY_SIZE(storcenter_physmap_partitions));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Lookup PCI host bridges */
|
/* Lookup PCI host bridges */
|
||||||
for_each_compatible_node(np, "pci", "mpc10x-pci")
|
for_each_compatible_node(np, "pci", "mpc10x-pci")
|
||||||
storcenter_add_bridge(np);
|
storcenter_add_bridge(np);
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
#include <linux/gpio.h>
|
#include <linux/gpio.h>
|
||||||
#include <linux/spi/spi.h>
|
#include <linux/spi/spi.h>
|
||||||
#include <linux/spi/spi_gpio.h>
|
#include <linux/spi/spi_gpio.h>
|
||||||
|
#include <media/soc_camera.h>
|
||||||
#include <media/soc_camera_platform.h>
|
#include <media/soc_camera_platform.h>
|
||||||
#include <media/sh_mobile_ceu.h>
|
#include <media/sh_mobile_ceu.h>
|
||||||
#include <video/sh_mobile_lcdc.h>
|
#include <video/sh_mobile_lcdc.h>
|
||||||
|
|
|
@ -323,17 +323,25 @@ static void sun4u_set_affinity(unsigned int virt_irq,
|
||||||
sun4u_irq_enable(virt_irq);
|
sun4u_irq_enable(virt_irq);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Don't do anything. The desc->status check for IRQ_DISABLED in
|
||||||
|
* handler_irq() will skip the handler call and that will leave the
|
||||||
|
* interrupt in the sent state. The next ->enable() call will hit the
|
||||||
|
* ICLR register to reset the state machine.
|
||||||
|
*
|
||||||
|
* This scheme is necessary, instead of clearing the Valid bit in the
|
||||||
|
* IMAP register, to handle the case of IMAP registers being shared by
|
||||||
|
* multiple INOs (and thus ICLR registers). Since we use a different
|
||||||
|
* virtual IRQ for each shared IMAP instance, the generic code thinks
|
||||||
|
* there is only one user so it prematurely calls ->disable() on
|
||||||
|
* free_irq().
|
||||||
|
*
|
||||||
|
* We have to provide an explicit ->disable() method instead of using
|
||||||
|
* NULL to get the default. The reason is that if the generic code
|
||||||
|
* sees that, it also hooks up a default ->shutdown method which
|
||||||
|
* invokes ->mask() which we do not want. See irq_chip_set_defaults().
|
||||||
|
*/
|
||||||
static void sun4u_irq_disable(unsigned int virt_irq)
|
static void sun4u_irq_disable(unsigned int virt_irq)
|
||||||
{
|
{
|
||||||
struct irq_handler_data *data = get_irq_chip_data(virt_irq);
|
|
||||||
|
|
||||||
if (likely(data)) {
|
|
||||||
unsigned long imap = data->imap;
|
|
||||||
unsigned long tmp = upa_readq(imap);
|
|
||||||
|
|
||||||
tmp &= ~IMAP_VALID;
|
|
||||||
upa_writeq(tmp, imap);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sun4u_irq_eoi(unsigned int virt_irq)
|
static void sun4u_irq_eoi(unsigned int virt_irq)
|
||||||
|
@ -746,6 +754,7 @@ void handler_irq(int irq, struct pt_regs *regs)
|
||||||
|
|
||||||
desc = irq_desc + virt_irq;
|
desc = irq_desc + virt_irq;
|
||||||
|
|
||||||
|
if (!(desc->status & IRQ_DISABLED))
|
||||||
desc->handle_irq(virt_irq, desc);
|
desc->handle_irq(virt_irq, desc);
|
||||||
|
|
||||||
bucket_pa = next_pa;
|
bucket_pa = next_pa;
|
||||||
|
|
|
@ -64,6 +64,11 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
|
||||||
ret = poke_user(child, addr, data);
|
ret = poke_user(child, addr, data);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case PTRACE_SYSEMU:
|
||||||
|
case PTRACE_SYSEMU_SINGLESTEP:
|
||||||
|
ret = -EIO;
|
||||||
|
break;
|
||||||
|
|
||||||
/* continue and stop at next (return from) syscall */
|
/* continue and stop at next (return from) syscall */
|
||||||
case PTRACE_SYSCALL:
|
case PTRACE_SYSCALL:
|
||||||
/* restart after signal. */
|
/* restart after signal. */
|
||||||
|
|
|
@ -14,7 +14,6 @@
|
||||||
#undef memset
|
#undef memset
|
||||||
|
|
||||||
extern size_t strlen(const char *);
|
extern size_t strlen(const char *);
|
||||||
extern void *memcpy(void *, const void *, size_t);
|
|
||||||
extern void *memmove(void *, const void *, size_t);
|
extern void *memmove(void *, const void *, size_t);
|
||||||
extern void *memset(void *, int, size_t);
|
extern void *memset(void *, int, size_t);
|
||||||
extern int printf(const char *, ...);
|
extern int printf(const char *, ...);
|
||||||
|
@ -24,7 +23,11 @@ extern int printf(const char *, ...);
|
||||||
EXPORT_SYMBOL(strstr);
|
EXPORT_SYMBOL(strstr);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef __x86_64__
|
||||||
|
extern void *memcpy(void *, const void *, size_t);
|
||||||
EXPORT_SYMBOL(memcpy);
|
EXPORT_SYMBOL(memcpy);
|
||||||
|
#endif
|
||||||
|
|
||||||
EXPORT_SYMBOL(memmove);
|
EXPORT_SYMBOL(memmove);
|
||||||
EXPORT_SYMBOL(memset);
|
EXPORT_SYMBOL(memset);
|
||||||
EXPORT_SYMBOL(printf);
|
EXPORT_SYMBOL(printf);
|
||||||
|
|
|
@ -277,7 +277,6 @@ static struct cpufreq_driver p4clockmod_driver = {
|
||||||
.name = "p4-clockmod",
|
.name = "p4-clockmod",
|
||||||
.owner = THIS_MODULE,
|
.owner = THIS_MODULE,
|
||||||
.attr = p4clockmod_attr,
|
.attr = p4clockmod_attr,
|
||||||
.hide_interface = 1,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -17,20 +17,21 @@
|
||||||
#include <asm/delay.h>
|
#include <asm/delay.h>
|
||||||
#include <asm/hypervisor.h>
|
#include <asm/hypervisor.h>
|
||||||
|
|
||||||
unsigned int cpu_khz; /* TSC clocks / usec, not used here */
|
unsigned int __read_mostly cpu_khz; /* TSC clocks / usec, not used here */
|
||||||
EXPORT_SYMBOL(cpu_khz);
|
EXPORT_SYMBOL(cpu_khz);
|
||||||
unsigned int tsc_khz;
|
|
||||||
|
unsigned int __read_mostly tsc_khz;
|
||||||
EXPORT_SYMBOL(tsc_khz);
|
EXPORT_SYMBOL(tsc_khz);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* TSC can be unstable due to cpufreq or due to unsynced TSCs
|
* TSC can be unstable due to cpufreq or due to unsynced TSCs
|
||||||
*/
|
*/
|
||||||
static int tsc_unstable;
|
static int __read_mostly tsc_unstable;
|
||||||
|
|
||||||
/* native_sched_clock() is called before tsc_init(), so
|
/* native_sched_clock() is called before tsc_init(), so
|
||||||
we must start with the TSC soft disabled to prevent
|
we must start with the TSC soft disabled to prevent
|
||||||
erroneous rdtsc usage on !cpu_has_tsc processors */
|
erroneous rdtsc usage on !cpu_has_tsc processors */
|
||||||
static int tsc_disabled = -1;
|
static int __read_mostly tsc_disabled = -1;
|
||||||
|
|
||||||
static int tsc_clocksource_reliable;
|
static int tsc_clocksource_reliable;
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -343,6 +343,11 @@ static void lguest_cpuid(unsigned int *ax, unsigned int *bx,
|
||||||
* flush_tlb_user() for both user and kernel mappings unless
|
* flush_tlb_user() for both user and kernel mappings unless
|
||||||
* the Page Global Enable (PGE) feature bit is set. */
|
* the Page Global Enable (PGE) feature bit is set. */
|
||||||
*dx |= 0x00002000;
|
*dx |= 0x00002000;
|
||||||
|
/* We also lie, and say we're family id 5. 6 or greater
|
||||||
|
* leads to a rdmsr in early_init_intel which we can't handle.
|
||||||
|
* Family ID is returned as bits 8-12 in ax. */
|
||||||
|
*ax &= 0xFFFFF0FF;
|
||||||
|
*ax |= 0x00000500;
|
||||||
break;
|
break;
|
||||||
case 0x80000000:
|
case 0x80000000:
|
||||||
/* Futureproof this a little: if they ask how much extended
|
/* Futureproof this a little: if they ask how much extended
|
||||||
|
@ -589,19 +594,21 @@ static void __init lguest_init_IRQ(void)
|
||||||
/* Some systems map "vectors" to interrupts weirdly. Lguest has
|
/* Some systems map "vectors" to interrupts weirdly. Lguest has
|
||||||
* a straightforward 1 to 1 mapping, so force that here. */
|
* a straightforward 1 to 1 mapping, so force that here. */
|
||||||
__get_cpu_var(vector_irq)[vector] = i;
|
__get_cpu_var(vector_irq)[vector] = i;
|
||||||
if (vector != SYSCALL_VECTOR) {
|
if (vector != SYSCALL_VECTOR)
|
||||||
set_intr_gate(vector,
|
set_intr_gate(vector, interrupt[i]);
|
||||||
interrupt[vector-FIRST_EXTERNAL_VECTOR]);
|
|
||||||
set_irq_chip_and_handler_name(i, &lguest_irq_controller,
|
|
||||||
handle_level_irq,
|
|
||||||
"level");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
/* This call is required to set up for 4k stacks, where we have
|
/* This call is required to set up for 4k stacks, where we have
|
||||||
* separate stacks for hard and soft interrupts. */
|
* separate stacks for hard and soft interrupts. */
|
||||||
irq_ctx_init(smp_processor_id());
|
irq_ctx_init(smp_processor_id());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void lguest_setup_irq(unsigned int irq)
|
||||||
|
{
|
||||||
|
irq_to_desc_alloc_cpu(irq, 0);
|
||||||
|
set_irq_chip_and_handler_name(irq, &lguest_irq_controller,
|
||||||
|
handle_level_irq, "level");
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Time.
|
* Time.
|
||||||
*
|
*
|
||||||
|
|
|
@ -451,23 +451,24 @@ static void rcu_free_kmmio_fault_pages(struct rcu_head *head)
|
||||||
|
|
||||||
static void remove_kmmio_fault_pages(struct rcu_head *head)
|
static void remove_kmmio_fault_pages(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct kmmio_delayed_release *dr = container_of(
|
struct kmmio_delayed_release *dr =
|
||||||
head,
|
container_of(head, struct kmmio_delayed_release, rcu);
|
||||||
struct kmmio_delayed_release,
|
|
||||||
rcu);
|
|
||||||
struct kmmio_fault_page *p = dr->release_list;
|
struct kmmio_fault_page *p = dr->release_list;
|
||||||
struct kmmio_fault_page **prevp = &dr->release_list;
|
struct kmmio_fault_page **prevp = &dr->release_list;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
||||||
spin_lock_irqsave(&kmmio_lock, flags);
|
spin_lock_irqsave(&kmmio_lock, flags);
|
||||||
while (p) {
|
while (p) {
|
||||||
if (!p->count)
|
if (!p->count) {
|
||||||
list_del_rcu(&p->list);
|
list_del_rcu(&p->list);
|
||||||
else
|
|
||||||
*prevp = p->release_next;
|
|
||||||
prevp = &p->release_next;
|
prevp = &p->release_next;
|
||||||
|
} else {
|
||||||
|
*prevp = p->release_next;
|
||||||
|
}
|
||||||
p = p->release_next;
|
p = p->release_next;
|
||||||
}
|
}
|
||||||
spin_unlock_irqrestore(&kmmio_lock, flags);
|
spin_unlock_irqrestore(&kmmio_lock, flags);
|
||||||
|
|
||||||
/* This is the real RCU destroy call. */
|
/* This is the real RCU destroy call. */
|
||||||
call_rcu(&dr->rcu, rcu_free_kmmio_fault_pages);
|
call_rcu(&dr->rcu, rcu_free_kmmio_fault_pages);
|
||||||
}
|
}
|
||||||
|
|
|
@ -515,6 +515,17 @@ static int split_large_page(pte_t *kpte, unsigned long address)
|
||||||
* primary protection behavior:
|
* primary protection behavior:
|
||||||
*/
|
*/
|
||||||
__set_pmd_pte(kpte, address, mk_pte(base, __pgprot(_KERNPG_TABLE)));
|
__set_pmd_pte(kpte, address, mk_pte(base, __pgprot(_KERNPG_TABLE)));
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Intel Atom errata AAH41 workaround.
|
||||||
|
*
|
||||||
|
* The real fix should be in hw or in a microcode update, but
|
||||||
|
* we also probabilistically try to reduce the window of having
|
||||||
|
* a large TLB mixed with 4K TLBs while instruction fetches are
|
||||||
|
* going on.
|
||||||
|
*/
|
||||||
|
__flush_tlb_all();
|
||||||
|
|
||||||
base = NULL;
|
base = NULL;
|
||||||
|
|
||||||
out_unlock:
|
out_unlock:
|
||||||
|
|
|
@ -103,9 +103,6 @@ config MATH_EMULATION
|
||||||
help
|
help
|
||||||
Can we use information of configuration file?
|
Can we use information of configuration file?
|
||||||
|
|
||||||
config HIGHMEM
|
|
||||||
bool "High memory support"
|
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
menu "Platform options"
|
menu "Platform options"
|
||||||
|
|
|
@ -44,6 +44,8 @@
|
||||||
#include <asm/setup.h>
|
#include <asm/setup.h>
|
||||||
#include <asm/param.h>
|
#include <asm/param.h>
|
||||||
|
|
||||||
|
#include <platform/hardware.h>
|
||||||
|
|
||||||
#if defined(CONFIG_VGA_CONSOLE) || defined(CONFIG_DUMMY_CONSOLE)
|
#if defined(CONFIG_VGA_CONSOLE) || defined(CONFIG_DUMMY_CONSOLE)
|
||||||
struct screen_info screen_info = { 0, 24, 0, 0, 0, 80, 0, 0, 0, 24, 1, 16};
|
struct screen_info screen_info = { 0, 24, 0, 0, 0, 80, 0, 0, 0, 24, 1, 16};
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -30,6 +30,7 @@
|
||||||
#include <linux/stringify.h>
|
#include <linux/stringify.h>
|
||||||
#include <linux/kallsyms.h>
|
#include <linux/kallsyms.h>
|
||||||
#include <linux/delay.h>
|
#include <linux/delay.h>
|
||||||
|
#include <linux/hardirq.h>
|
||||||
|
|
||||||
#include <asm/ptrace.h>
|
#include <asm/ptrace.h>
|
||||||
#include <asm/timex.h>
|
#include <asm/timex.h>
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
|
|
||||||
#include <linux/mm.h>
|
#include <linux/mm.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
|
#include <linux/hardirq.h>
|
||||||
#include <asm/mmu_context.h>
|
#include <asm/mmu_context.h>
|
||||||
#include <asm/cacheflush.h>
|
#include <asm/cacheflush.h>
|
||||||
#include <asm/hardirq.h>
|
#include <asm/hardirq.h>
|
||||||
|
|
|
@ -140,16 +140,14 @@ static void rs_poll(unsigned long priv)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void rs_put_char(struct tty_struct *tty, unsigned char ch)
|
static int rs_put_char(struct tty_struct *tty, unsigned char ch)
|
||||||
{
|
{
|
||||||
char buf[2];
|
char buf[2];
|
||||||
|
|
||||||
if (!tty)
|
|
||||||
return;
|
|
||||||
|
|
||||||
buf[0] = ch;
|
buf[0] = ch;
|
||||||
buf[1] = '\0'; /* Is this NULL necessary? */
|
buf[1] = '\0'; /* Is this NULL necessary? */
|
||||||
__simc (SYS_write, 1, (unsigned long) buf, 1, 0, 0);
|
__simc (SYS_write, 1, (unsigned long) buf, 1, 0, 0);
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void rs_flush_chars(struct tty_struct *tty)
|
static void rs_flush_chars(struct tty_struct *tty)
|
||||||
|
|
|
@ -303,7 +303,7 @@ int unregister_mem_sect_under_nodes(struct memory_block *mem_blk)
|
||||||
sect_start_pfn = section_nr_to_pfn(mem_blk->phys_index);
|
sect_start_pfn = section_nr_to_pfn(mem_blk->phys_index);
|
||||||
sect_end_pfn = sect_start_pfn + PAGES_PER_SECTION - 1;
|
sect_end_pfn = sect_start_pfn + PAGES_PER_SECTION - 1;
|
||||||
for (pfn = sect_start_pfn; pfn <= sect_end_pfn; pfn++) {
|
for (pfn = sect_start_pfn; pfn <= sect_end_pfn; pfn++) {
|
||||||
unsigned int nid;
|
int nid;
|
||||||
|
|
||||||
nid = get_nid_for_pfn(pfn);
|
nid = get_nid_for_pfn(pfn);
|
||||||
if (nid < 0)
|
if (nid < 0)
|
||||||
|
|
|
@ -173,7 +173,7 @@ skbfree(struct sk_buff *skb)
|
||||||
return;
|
return;
|
||||||
while (atomic_read(&skb_shinfo(skb)->dataref) != 1 && i-- > 0)
|
while (atomic_read(&skb_shinfo(skb)->dataref) != 1 && i-- > 0)
|
||||||
msleep(Sms);
|
msleep(Sms);
|
||||||
if (i <= 0) {
|
if (i < 0) {
|
||||||
printk(KERN_ERR
|
printk(KERN_ERR
|
||||||
"aoe: %s holds ref: %s\n",
|
"aoe: %s holds ref: %s\n",
|
||||||
skb->dev ? skb->dev->name : "netif",
|
skb->dev ? skb->dev->name : "netif",
|
||||||
|
|
|
@ -271,15 +271,15 @@ static __devinit int fix_northbridge(struct pci_dev *nb, struct pci_dev *agp,
|
||||||
nb_order = (nb_order >> 1) & 7;
|
nb_order = (nb_order >> 1) & 7;
|
||||||
pci_read_config_dword(nb, AMD64_GARTAPERTUREBASE, &nb_base);
|
pci_read_config_dword(nb, AMD64_GARTAPERTUREBASE, &nb_base);
|
||||||
nb_aper = nb_base << 25;
|
nb_aper = nb_base << 25;
|
||||||
if (agp_aperture_valid(nb_aper, (32*1024*1024)<<nb_order)) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Northbridge seems to contain crap. Try the AGP bridge. */
|
/* Northbridge seems to contain crap. Try the AGP bridge. */
|
||||||
|
|
||||||
pci_read_config_word(agp, cap+0x14, &apsize);
|
pci_read_config_word(agp, cap+0x14, &apsize);
|
||||||
if (apsize == 0xffff)
|
if (apsize == 0xffff) {
|
||||||
|
if (agp_aperture_valid(nb_aper, (32*1024*1024)<<nb_order))
|
||||||
|
return 0;
|
||||||
return -1;
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
apsize &= 0xfff;
|
apsize &= 0xfff;
|
||||||
/* Some BIOS use weird encodings not in the AGPv3 table. */
|
/* Some BIOS use weird encodings not in the AGPv3 table. */
|
||||||
|
@ -301,6 +301,11 @@ static __devinit int fix_northbridge(struct pci_dev *nb, struct pci_dev *agp,
|
||||||
order = nb_order;
|
order = nb_order;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (nb_order >= order) {
|
||||||
|
if (agp_aperture_valid(nb_aper, (32*1024*1024)<<nb_order))
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
dev_info(&agp->dev, "aperture from AGP @ %Lx size %u MB\n",
|
dev_info(&agp->dev, "aperture from AGP @ %Lx size %u MB\n",
|
||||||
aper, 32 << order);
|
aper, 32 << order);
|
||||||
if (order < 0 || !agp_aperture_valid(aper, (32*1024*1024)<<order))
|
if (order < 0 || !agp_aperture_valid(aper, (32*1024*1024)<<order))
|
||||||
|
|
|
@ -633,13 +633,15 @@ static void intel_i830_init_gtt_entries(void)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (gtt_entries > 0)
|
if (gtt_entries > 0) {
|
||||||
dev_info(&agp_bridge->dev->dev, "detected %dK %s memory\n",
|
dev_info(&agp_bridge->dev->dev, "detected %dK %s memory\n",
|
||||||
gtt_entries / KB(1), local ? "local" : "stolen");
|
gtt_entries / KB(1), local ? "local" : "stolen");
|
||||||
else
|
gtt_entries /= KB(4);
|
||||||
|
} else {
|
||||||
dev_info(&agp_bridge->dev->dev,
|
dev_info(&agp_bridge->dev->dev,
|
||||||
"no pre-allocated video memory detected\n");
|
"no pre-allocated video memory detected\n");
|
||||||
gtt_entries /= KB(4);
|
gtt_entries = 0;
|
||||||
|
}
|
||||||
|
|
||||||
intel_private.gtt_entries = gtt_entries;
|
intel_private.gtt_entries = gtt_entries;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1139,15 +1139,6 @@ static int hvcs_open(struct tty_struct *tty, struct file *filp)
|
||||||
hvcsd->tty = tty;
|
hvcsd->tty = tty;
|
||||||
tty->driver_data = hvcsd;
|
tty->driver_data = hvcsd;
|
||||||
|
|
||||||
/*
|
|
||||||
* Set this driver to low latency so that we actually have a chance at
|
|
||||||
* catching a throttled TTY after we flip_buffer_push. Otherwise the
|
|
||||||
* flush_to_async may not execute until after the kernel_thread has
|
|
||||||
* yielded and resumed the next flip_buffer_push resulting in data
|
|
||||||
* loss.
|
|
||||||
*/
|
|
||||||
tty->low_latency = 1;
|
|
||||||
|
|
||||||
memset(&hvcsd->buffer[0], 0x00, HVCS_BUFF_LEN);
|
memset(&hvcsd->buffer[0], 0x00, HVCS_BUFF_LEN);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -810,7 +810,6 @@ static int hvsi_open(struct tty_struct *tty, struct file *filp)
|
||||||
hp = &hvsi_ports[line];
|
hp = &hvsi_ports[line];
|
||||||
|
|
||||||
tty->driver_data = hp;
|
tty->driver_data = hp;
|
||||||
tty->low_latency = 1; /* avoid throttle/tty_flip_buffer_push race */
|
|
||||||
|
|
||||||
mb();
|
mb();
|
||||||
if (hp->state == HVSI_FSP_DIED)
|
if (hp->state == HVSI_FSP_DIED)
|
||||||
|
|
|
@ -754,11 +754,6 @@ static struct kobj_type ktype_cpufreq = {
|
||||||
.release = cpufreq_sysfs_release,
|
.release = cpufreq_sysfs_release,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct kobj_type ktype_empty_cpufreq = {
|
|
||||||
.sysfs_ops = &sysfs_ops,
|
|
||||||
.release = cpufreq_sysfs_release,
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* cpufreq_add_dev - add a CPU device
|
* cpufreq_add_dev - add a CPU device
|
||||||
|
@ -892,36 +887,26 @@ static int cpufreq_add_dev(struct sys_device *sys_dev)
|
||||||
memcpy(&new_policy, policy, sizeof(struct cpufreq_policy));
|
memcpy(&new_policy, policy, sizeof(struct cpufreq_policy));
|
||||||
|
|
||||||
/* prepare interface data */
|
/* prepare interface data */
|
||||||
if (!cpufreq_driver->hide_interface) {
|
ret = kobject_init_and_add(&policy->kobj, &ktype_cpufreq, &sys_dev->kobj,
|
||||||
ret = kobject_init_and_add(&policy->kobj, &ktype_cpufreq,
|
"cpufreq");
|
||||||
&sys_dev->kobj, "cpufreq");
|
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err_out_driver_exit;
|
goto err_out_driver_exit;
|
||||||
|
|
||||||
/* set up files for this cpu device */
|
/* set up files for this cpu device */
|
||||||
drv_attr = cpufreq_driver->attr;
|
drv_attr = cpufreq_driver->attr;
|
||||||
while ((drv_attr) && (*drv_attr)) {
|
while ((drv_attr) && (*drv_attr)) {
|
||||||
ret = sysfs_create_file(&policy->kobj,
|
ret = sysfs_create_file(&policy->kobj, &((*drv_attr)->attr));
|
||||||
&((*drv_attr)->attr));
|
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err_out_driver_exit;
|
goto err_out_driver_exit;
|
||||||
drv_attr++;
|
drv_attr++;
|
||||||
}
|
}
|
||||||
if (cpufreq_driver->get) {
|
if (cpufreq_driver->get) {
|
||||||
ret = sysfs_create_file(&policy->kobj,
|
ret = sysfs_create_file(&policy->kobj, &cpuinfo_cur_freq.attr);
|
||||||
&cpuinfo_cur_freq.attr);
|
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err_out_driver_exit;
|
goto err_out_driver_exit;
|
||||||
}
|
}
|
||||||
if (cpufreq_driver->target) {
|
if (cpufreq_driver->target) {
|
||||||
ret = sysfs_create_file(&policy->kobj,
|
ret = sysfs_create_file(&policy->kobj, &scaling_cur_freq.attr);
|
||||||
&scaling_cur_freq.attr);
|
|
||||||
if (ret)
|
|
||||||
goto err_out_driver_exit;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
ret = kobject_init_and_add(&policy->kobj, &ktype_empty_cpufreq,
|
|
||||||
&sys_dev->kobj, "cpufreq");
|
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err_out_driver_exit;
|
goto err_out_driver_exit;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1105,7 +1105,7 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
|
||||||
1024 * 1024,
|
1024 * 1024,
|
||||||
MTRR_TYPE_WRCOMB, 1);
|
MTRR_TYPE_WRCOMB, 1);
|
||||||
if (dev_priv->mm.gtt_mtrr < 0) {
|
if (dev_priv->mm.gtt_mtrr < 0) {
|
||||||
DRM_INFO("MTRR allocation failed\n. Graphics "
|
DRM_INFO("MTRR allocation failed. Graphics "
|
||||||
"performance may suffer.\n");
|
"performance may suffer.\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -279,7 +279,6 @@ typedef struct drm_i915_private {
|
||||||
u8 saveAR_INDEX;
|
u8 saveAR_INDEX;
|
||||||
u8 saveAR[21];
|
u8 saveAR[21];
|
||||||
u8 saveDACMASK;
|
u8 saveDACMASK;
|
||||||
u8 saveDACDATA[256*3]; /* 256 3-byte colors */
|
|
||||||
u8 saveCR[37];
|
u8 saveCR[37];
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
|
@ -457,6 +456,12 @@ struct drm_i915_gem_object {
|
||||||
|
|
||||||
/** for phy allocated objects */
|
/** for phy allocated objects */
|
||||||
struct drm_i915_gem_phys_object *phys_obj;
|
struct drm_i915_gem_phys_object *phys_obj;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used for checking the object doesn't appear more than once
|
||||||
|
* in an execbuffer object list.
|
||||||
|
*/
|
||||||
|
int in_execbuffer;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1476,7 +1476,7 @@ static void i915_write_fence_reg(struct drm_i915_fence_reg *reg)
|
||||||
struct drm_i915_gem_object *obj_priv = obj->driver_private;
|
struct drm_i915_gem_object *obj_priv = obj->driver_private;
|
||||||
int regnum = obj_priv->fence_reg;
|
int regnum = obj_priv->fence_reg;
|
||||||
int tile_width;
|
int tile_width;
|
||||||
uint32_t val;
|
uint32_t fence_reg, val;
|
||||||
uint32_t pitch_val;
|
uint32_t pitch_val;
|
||||||
|
|
||||||
if ((obj_priv->gtt_offset & ~I915_FENCE_START_MASK) ||
|
if ((obj_priv->gtt_offset & ~I915_FENCE_START_MASK) ||
|
||||||
|
@ -1503,7 +1503,11 @@ static void i915_write_fence_reg(struct drm_i915_fence_reg *reg)
|
||||||
val |= pitch_val << I830_FENCE_PITCH_SHIFT;
|
val |= pitch_val << I830_FENCE_PITCH_SHIFT;
|
||||||
val |= I830_FENCE_REG_VALID;
|
val |= I830_FENCE_REG_VALID;
|
||||||
|
|
||||||
I915_WRITE(FENCE_REG_830_0 + (regnum * 4), val);
|
if (regnum < 8)
|
||||||
|
fence_reg = FENCE_REG_830_0 + (regnum * 4);
|
||||||
|
else
|
||||||
|
fence_reg = FENCE_REG_945_8 + ((regnum - 8) * 4);
|
||||||
|
I915_WRITE(fence_reg, val);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void i830_write_fence_reg(struct drm_i915_fence_reg *reg)
|
static void i830_write_fence_reg(struct drm_i915_fence_reg *reg)
|
||||||
|
@ -1557,7 +1561,8 @@ i915_gem_object_get_fence_reg(struct drm_gem_object *obj, bool write)
|
||||||
struct drm_i915_private *dev_priv = dev->dev_private;
|
struct drm_i915_private *dev_priv = dev->dev_private;
|
||||||
struct drm_i915_gem_object *obj_priv = obj->driver_private;
|
struct drm_i915_gem_object *obj_priv = obj->driver_private;
|
||||||
struct drm_i915_fence_reg *reg = NULL;
|
struct drm_i915_fence_reg *reg = NULL;
|
||||||
int i, ret;
|
struct drm_i915_gem_object *old_obj_priv = NULL;
|
||||||
|
int i, ret, avail;
|
||||||
|
|
||||||
switch (obj_priv->tiling_mode) {
|
switch (obj_priv->tiling_mode) {
|
||||||
case I915_TILING_NONE:
|
case I915_TILING_NONE:
|
||||||
|
@ -1580,25 +1585,46 @@ i915_gem_object_get_fence_reg(struct drm_gem_object *obj, bool write)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* First try to find a free reg */
|
/* First try to find a free reg */
|
||||||
|
try_again:
|
||||||
|
avail = 0;
|
||||||
for (i = dev_priv->fence_reg_start; i < dev_priv->num_fence_regs; i++) {
|
for (i = dev_priv->fence_reg_start; i < dev_priv->num_fence_regs; i++) {
|
||||||
reg = &dev_priv->fence_regs[i];
|
reg = &dev_priv->fence_regs[i];
|
||||||
if (!reg->obj)
|
if (!reg->obj)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
old_obj_priv = reg->obj->driver_private;
|
||||||
|
if (!old_obj_priv->pin_count)
|
||||||
|
avail++;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* None available, try to steal one or wait for a user to finish */
|
/* None available, try to steal one or wait for a user to finish */
|
||||||
if (i == dev_priv->num_fence_regs) {
|
if (i == dev_priv->num_fence_regs) {
|
||||||
struct drm_i915_gem_object *old_obj_priv = NULL;
|
uint32_t seqno = dev_priv->mm.next_gem_seqno;
|
||||||
loff_t offset;
|
loff_t offset;
|
||||||
|
|
||||||
try_again:
|
if (avail == 0)
|
||||||
/* Could try to use LRU here instead... */
|
return -ENOMEM;
|
||||||
|
|
||||||
for (i = dev_priv->fence_reg_start;
|
for (i = dev_priv->fence_reg_start;
|
||||||
i < dev_priv->num_fence_regs; i++) {
|
i < dev_priv->num_fence_regs; i++) {
|
||||||
|
uint32_t this_seqno;
|
||||||
|
|
||||||
reg = &dev_priv->fence_regs[i];
|
reg = &dev_priv->fence_regs[i];
|
||||||
old_obj_priv = reg->obj->driver_private;
|
old_obj_priv = reg->obj->driver_private;
|
||||||
if (!old_obj_priv->pin_count)
|
|
||||||
|
if (old_obj_priv->pin_count)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
/* i915 uses fences for GPU access to tiled buffers */
|
||||||
|
if (IS_I965G(dev) || !old_obj_priv->active)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
/* find the seqno of the first available fence */
|
||||||
|
this_seqno = old_obj_priv->last_rendering_seqno;
|
||||||
|
if (this_seqno != 0 &&
|
||||||
|
reg->obj->write_domain == 0 &&
|
||||||
|
i915_seqno_passed(seqno, this_seqno))
|
||||||
|
seqno = this_seqno;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1606,15 +1632,25 @@ i915_gem_object_get_fence_reg(struct drm_gem_object *obj, bool write)
|
||||||
* objects to finish before trying again.
|
* objects to finish before trying again.
|
||||||
*/
|
*/
|
||||||
if (i == dev_priv->num_fence_regs) {
|
if (i == dev_priv->num_fence_regs) {
|
||||||
ret = i915_gem_object_set_to_gtt_domain(reg->obj, 0);
|
if (seqno == dev_priv->mm.next_gem_seqno) {
|
||||||
if (ret) {
|
i915_gem_flush(dev,
|
||||||
WARN(ret != -ERESTARTSYS,
|
I915_GEM_GPU_DOMAINS,
|
||||||
"switch to GTT domain failed: %d\n", ret);
|
I915_GEM_GPU_DOMAINS);
|
||||||
return ret;
|
seqno = i915_add_request(dev,
|
||||||
|
I915_GEM_GPU_DOMAINS);
|
||||||
|
if (seqno == 0)
|
||||||
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ret = i915_wait_request(dev, seqno);
|
||||||
|
if (ret)
|
||||||
|
return ret;
|
||||||
goto try_again;
|
goto try_again;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BUG_ON(old_obj_priv->active ||
|
||||||
|
(reg->obj->write_domain & I915_GEM_GPU_DOMAINS));
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Zap this virtual mapping so we can set up a fence again
|
* Zap this virtual mapping so we can set up a fence again
|
||||||
* for this object next time we need it.
|
* for this object next time we need it.
|
||||||
|
@ -1655,8 +1691,17 @@ i915_gem_clear_fence_reg(struct drm_gem_object *obj)
|
||||||
|
|
||||||
if (IS_I965G(dev))
|
if (IS_I965G(dev))
|
||||||
I915_WRITE64(FENCE_REG_965_0 + (obj_priv->fence_reg * 8), 0);
|
I915_WRITE64(FENCE_REG_965_0 + (obj_priv->fence_reg * 8), 0);
|
||||||
|
else {
|
||||||
|
uint32_t fence_reg;
|
||||||
|
|
||||||
|
if (obj_priv->fence_reg < 8)
|
||||||
|
fence_reg = FENCE_REG_830_0 + obj_priv->fence_reg * 4;
|
||||||
else
|
else
|
||||||
I915_WRITE(FENCE_REG_830_0 + (obj_priv->fence_reg * 4), 0);
|
fence_reg = FENCE_REG_945_8 + (obj_priv->fence_reg -
|
||||||
|
8) * 4;
|
||||||
|
|
||||||
|
I915_WRITE(fence_reg, 0);
|
||||||
|
}
|
||||||
|
|
||||||
dev_priv->fence_regs[obj_priv->fence_reg].obj = NULL;
|
dev_priv->fence_regs[obj_priv->fence_reg].obj = NULL;
|
||||||
obj_priv->fence_reg = I915_FENCE_REG_NONE;
|
obj_priv->fence_reg = I915_FENCE_REG_NONE;
|
||||||
|
@ -2469,6 +2514,7 @@ i915_gem_execbuffer(struct drm_device *dev, void *data,
|
||||||
struct drm_i915_gem_exec_object *exec_list = NULL;
|
struct drm_i915_gem_exec_object *exec_list = NULL;
|
||||||
struct drm_gem_object **object_list = NULL;
|
struct drm_gem_object **object_list = NULL;
|
||||||
struct drm_gem_object *batch_obj;
|
struct drm_gem_object *batch_obj;
|
||||||
|
struct drm_i915_gem_object *obj_priv;
|
||||||
int ret, i, pinned = 0;
|
int ret, i, pinned = 0;
|
||||||
uint64_t exec_offset;
|
uint64_t exec_offset;
|
||||||
uint32_t seqno, flush_domains;
|
uint32_t seqno, flush_domains;
|
||||||
|
@ -2533,6 +2579,15 @@ i915_gem_execbuffer(struct drm_device *dev, void *data,
|
||||||
ret = -EBADF;
|
ret = -EBADF;
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
obj_priv = object_list[i]->driver_private;
|
||||||
|
if (obj_priv->in_execbuffer) {
|
||||||
|
DRM_ERROR("Object %p appears more than once in object list\n",
|
||||||
|
object_list[i]);
|
||||||
|
ret = -EBADF;
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
obj_priv->in_execbuffer = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Pin and relocate */
|
/* Pin and relocate */
|
||||||
|
@ -2674,8 +2729,13 @@ i915_gem_execbuffer(struct drm_device *dev, void *data,
|
||||||
for (i = 0; i < pinned; i++)
|
for (i = 0; i < pinned; i++)
|
||||||
i915_gem_object_unpin(object_list[i]);
|
i915_gem_object_unpin(object_list[i]);
|
||||||
|
|
||||||
for (i = 0; i < args->buffer_count; i++)
|
for (i = 0; i < args->buffer_count; i++) {
|
||||||
|
if (object_list[i]) {
|
||||||
|
obj_priv = object_list[i]->driver_private;
|
||||||
|
obj_priv->in_execbuffer = false;
|
||||||
|
}
|
||||||
drm_gem_object_unreference(object_list[i]);
|
drm_gem_object_unreference(object_list[i]);
|
||||||
|
}
|
||||||
|
|
||||||
mutex_unlock(&dev->struct_mutex);
|
mutex_unlock(&dev->struct_mutex);
|
||||||
|
|
||||||
|
@ -2712,17 +2772,24 @@ i915_gem_object_pin(struct drm_gem_object *obj, uint32_t alignment)
|
||||||
ret = i915_gem_object_bind_to_gtt(obj, alignment);
|
ret = i915_gem_object_bind_to_gtt(obj, alignment);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
if (ret != -EBUSY && ret != -ERESTARTSYS)
|
if (ret != -EBUSY && ret != -ERESTARTSYS)
|
||||||
DRM_ERROR("Failure to bind: %d", ret);
|
DRM_ERROR("Failure to bind: %d\n", ret);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
/*
|
/*
|
||||||
* Pre-965 chips need a fence register set up in order to
|
* Pre-965 chips need a fence register set up in order to
|
||||||
* properly handle tiled surfaces.
|
* properly handle tiled surfaces.
|
||||||
*/
|
*/
|
||||||
if (!IS_I965G(dev) &&
|
if (!IS_I965G(dev) &&
|
||||||
obj_priv->fence_reg == I915_FENCE_REG_NONE &&
|
obj_priv->fence_reg == I915_FENCE_REG_NONE &&
|
||||||
obj_priv->tiling_mode != I915_TILING_NONE)
|
obj_priv->tiling_mode != I915_TILING_NONE) {
|
||||||
i915_gem_object_get_fence_reg(obj, true);
|
ret = i915_gem_object_get_fence_reg(obj, true);
|
||||||
|
if (ret != 0) {
|
||||||
|
if (ret != -EBUSY && ret != -ERESTARTSYS)
|
||||||
|
DRM_ERROR("Failure to install fence: %d\n",
|
||||||
|
ret);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
obj_priv->pin_count++;
|
obj_priv->pin_count++;
|
||||||
|
|
||||||
|
|
|
@ -184,6 +184,7 @@
|
||||||
* Fence registers
|
* Fence registers
|
||||||
*/
|
*/
|
||||||
#define FENCE_REG_830_0 0x2000
|
#define FENCE_REG_830_0 0x2000
|
||||||
|
#define FENCE_REG_945_8 0x3000
|
||||||
#define I830_FENCE_START_MASK 0x07f80000
|
#define I830_FENCE_START_MASK 0x07f80000
|
||||||
#define I830_FENCE_TILING_Y_SHIFT 12
|
#define I830_FENCE_TILING_Y_SHIFT 12
|
||||||
#define I830_FENCE_SIZE_BITS(size) ((ffs((size) >> 19) - 1) << 8)
|
#define I830_FENCE_SIZE_BITS(size) ((ffs((size) >> 19) - 1) << 8)
|
||||||
|
|
|
@ -119,11 +119,6 @@ static void i915_save_vga(struct drm_device *dev)
|
||||||
|
|
||||||
/* VGA color palette registers */
|
/* VGA color palette registers */
|
||||||
dev_priv->saveDACMASK = I915_READ8(VGA_DACMASK);
|
dev_priv->saveDACMASK = I915_READ8(VGA_DACMASK);
|
||||||
/* DACCRX automatically increments during read */
|
|
||||||
I915_WRITE8(VGA_DACRX, 0);
|
|
||||||
/* Read 3 bytes of color data from each index */
|
|
||||||
for (i = 0; i < 256 * 3; i++)
|
|
||||||
dev_priv->saveDACDATA[i] = I915_READ8(VGA_DACDATA);
|
|
||||||
|
|
||||||
/* MSR bits */
|
/* MSR bits */
|
||||||
dev_priv->saveMSR = I915_READ8(VGA_MSR_READ);
|
dev_priv->saveMSR = I915_READ8(VGA_MSR_READ);
|
||||||
|
@ -225,12 +220,6 @@ static void i915_restore_vga(struct drm_device *dev)
|
||||||
|
|
||||||
/* VGA color palette registers */
|
/* VGA color palette registers */
|
||||||
I915_WRITE8(VGA_DACMASK, dev_priv->saveDACMASK);
|
I915_WRITE8(VGA_DACMASK, dev_priv->saveDACMASK);
|
||||||
/* DACCRX automatically increments during read */
|
|
||||||
I915_WRITE8(VGA_DACWX, 0);
|
|
||||||
/* Read 3 bytes of color data from each index */
|
|
||||||
for (i = 0; i < 256 * 3; i++)
|
|
||||||
I915_WRITE8(VGA_DACDATA, dev_priv->saveDACDATA[i]);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int i915_save_state(struct drm_device *dev)
|
int i915_save_state(struct drm_device *dev)
|
||||||
|
|
|
@ -543,8 +543,8 @@ config SENSORS_LM90
|
||||||
help
|
help
|
||||||
If you say yes here you get support for National Semiconductor LM90,
|
If you say yes here you get support for National Semiconductor LM90,
|
||||||
LM86, LM89 and LM99, Analog Devices ADM1032 and ADT7461, and Maxim
|
LM86, LM89 and LM99, Analog Devices ADM1032 and ADT7461, and Maxim
|
||||||
MAX6646, MAX6647, MAX6649, MAX6657, MAX6658, MAX6659, MAX6680 and
|
MAX6646, MAX6647, MAX6648, MAX6649, MAX6657, MAX6658, MAX6659,
|
||||||
MAX6681 sensor chips.
|
MAX6680, MAX6681 and MAX6692 sensor chips.
|
||||||
|
|
||||||
This driver can also be built as a module. If so, the module
|
This driver can also be built as a module. If so, the module
|
||||||
will be called lm90.
|
will be called lm90.
|
||||||
|
|
|
@ -760,8 +760,11 @@ static int abituguru3_read_increment_offset(struct abituguru3_data *data,
|
||||||
|
|
||||||
for (i = 0; i < offset_count; i++)
|
for (i = 0; i < offset_count; i++)
|
||||||
if ((x = abituguru3_read(data, bank, offset + i, count,
|
if ((x = abituguru3_read(data, bank, offset + i, count,
|
||||||
buf + i * count)) != count)
|
buf + i * count)) != count) {
|
||||||
return i * count + (i && (x < 0)) ? 0 : x;
|
if (x < 0)
|
||||||
|
return x;
|
||||||
|
return i * count + x;
|
||||||
|
}
|
||||||
|
|
||||||
return i * count;
|
return i * count;
|
||||||
}
|
}
|
||||||
|
|
|
@ -617,7 +617,7 @@ static void f75375_init(struct i2c_client *client, struct f75375_data *data,
|
||||||
static int f75375_probe(struct i2c_client *client,
|
static int f75375_probe(struct i2c_client *client,
|
||||||
const struct i2c_device_id *id)
|
const struct i2c_device_id *id)
|
||||||
{
|
{
|
||||||
struct f75375_data *data = i2c_get_clientdata(client);
|
struct f75375_data *data;
|
||||||
struct f75375s_platform_data *f75375s_pdata = client->dev.platform_data;
|
struct f75375s_platform_data *f75375s_pdata = client->dev.platform_data;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
|
|
|
@ -213,7 +213,7 @@ static inline u16 FAN16_TO_REG(long rpm)
|
||||||
|
|
||||||
#define TEMP_TO_REG(val) (SENSORS_LIMIT(((val)<0?(((val)-500)/1000):\
|
#define TEMP_TO_REG(val) (SENSORS_LIMIT(((val)<0?(((val)-500)/1000):\
|
||||||
((val)+500)/1000),-128,127))
|
((val)+500)/1000),-128,127))
|
||||||
#define TEMP_FROM_REG(val) (((val)>0x80?(val)-0x100:(val))*1000)
|
#define TEMP_FROM_REG(val) ((val) * 1000)
|
||||||
|
|
||||||
#define PWM_TO_REG(val) ((val) >> 1)
|
#define PWM_TO_REG(val) ((val) >> 1)
|
||||||
#define PWM_FROM_REG(val) (((val)&0x7f) << 1)
|
#define PWM_FROM_REG(val) (((val)&0x7f) << 1)
|
||||||
|
@ -267,9 +267,9 @@ struct it87_data {
|
||||||
u8 has_fan; /* Bitfield, fans enabled */
|
u8 has_fan; /* Bitfield, fans enabled */
|
||||||
u16 fan[5]; /* Register values, possibly combined */
|
u16 fan[5]; /* Register values, possibly combined */
|
||||||
u16 fan_min[5]; /* Register values, possibly combined */
|
u16 fan_min[5]; /* Register values, possibly combined */
|
||||||
u8 temp[3]; /* Register value */
|
s8 temp[3]; /* Register value */
|
||||||
u8 temp_high[3]; /* Register value */
|
s8 temp_high[3]; /* Register value */
|
||||||
u8 temp_low[3]; /* Register value */
|
s8 temp_low[3]; /* Register value */
|
||||||
u8 sensor; /* Register value */
|
u8 sensor; /* Register value */
|
||||||
u8 fan_div[3]; /* Register encoding, shifted right */
|
u8 fan_div[3]; /* Register encoding, shifted right */
|
||||||
u8 vid; /* Register encoding, combined */
|
u8 vid; /* Register encoding, combined */
|
||||||
|
|
|
@ -72,6 +72,7 @@ I2C_CLIENT_INSMOD_7(lm85b, lm85c, adm1027, adt7463, adt7468, emc6d100,
|
||||||
#define LM85_COMPANY_SMSC 0x5c
|
#define LM85_COMPANY_SMSC 0x5c
|
||||||
#define LM85_VERSTEP_VMASK 0xf0
|
#define LM85_VERSTEP_VMASK 0xf0
|
||||||
#define LM85_VERSTEP_GENERIC 0x60
|
#define LM85_VERSTEP_GENERIC 0x60
|
||||||
|
#define LM85_VERSTEP_GENERIC2 0x70
|
||||||
#define LM85_VERSTEP_LM85C 0x60
|
#define LM85_VERSTEP_LM85C 0x60
|
||||||
#define LM85_VERSTEP_LM85B 0x62
|
#define LM85_VERSTEP_LM85B 0x62
|
||||||
#define LM85_VERSTEP_ADM1027 0x60
|
#define LM85_VERSTEP_ADM1027 0x60
|
||||||
|
@ -334,6 +335,7 @@ static struct lm85_data *lm85_update_device(struct device *dev);
|
||||||
static const struct i2c_device_id lm85_id[] = {
|
static const struct i2c_device_id lm85_id[] = {
|
||||||
{ "adm1027", adm1027 },
|
{ "adm1027", adm1027 },
|
||||||
{ "adt7463", adt7463 },
|
{ "adt7463", adt7463 },
|
||||||
|
{ "adt7468", adt7468 },
|
||||||
{ "lm85", any_chip },
|
{ "lm85", any_chip },
|
||||||
{ "lm85b", lm85b },
|
{ "lm85b", lm85b },
|
||||||
{ "lm85c", lm85c },
|
{ "lm85c", lm85c },
|
||||||
|
@ -408,7 +410,8 @@ static ssize_t show_vid_reg(struct device *dev, struct device_attribute *attr,
|
||||||
struct lm85_data *data = lm85_update_device(dev);
|
struct lm85_data *data = lm85_update_device(dev);
|
||||||
int vid;
|
int vid;
|
||||||
|
|
||||||
if (data->type == adt7463 && (data->vid & 0x80)) {
|
if ((data->type == adt7463 || data->type == adt7468) &&
|
||||||
|
(data->vid & 0x80)) {
|
||||||
/* 6-pin VID (VRM 10) */
|
/* 6-pin VID (VRM 10) */
|
||||||
vid = vid_from_reg(data->vid & 0x3f, data->vrm);
|
vid = vid_from_reg(data->vid & 0x3f, data->vrm);
|
||||||
} else {
|
} else {
|
||||||
|
@ -1153,7 +1156,8 @@ static int lm85_detect(struct i2c_client *client, int kind,
|
||||||
address, company, verstep);
|
address, company, verstep);
|
||||||
|
|
||||||
/* All supported chips have the version in common */
|
/* All supported chips have the version in common */
|
||||||
if ((verstep & LM85_VERSTEP_VMASK) != LM85_VERSTEP_GENERIC) {
|
if ((verstep & LM85_VERSTEP_VMASK) != LM85_VERSTEP_GENERIC &&
|
||||||
|
(verstep & LM85_VERSTEP_VMASK) != LM85_VERSTEP_GENERIC2) {
|
||||||
dev_dbg(&adapter->dev, "Autodetection failed: "
|
dev_dbg(&adapter->dev, "Autodetection failed: "
|
||||||
"unsupported version\n");
|
"unsupported version\n");
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
|
@ -32,10 +32,10 @@
|
||||||
* supported by this driver. These chips lack the remote temperature
|
* supported by this driver. These chips lack the remote temperature
|
||||||
* offset feature.
|
* offset feature.
|
||||||
*
|
*
|
||||||
* This driver also supports the MAX6646, MAX6647 and MAX6649 chips
|
* This driver also supports the MAX6646, MAX6647, MAX6648, MAX6649 and
|
||||||
* made by Maxim. These are again similar to the LM86, but they use
|
* MAX6692 chips made by Maxim. These are again similar to the LM86,
|
||||||
* unsigned temperature values and can report temperatures from 0 to
|
* but they use unsigned temperature values and can report temperatures
|
||||||
* 145 degrees.
|
* from 0 to 145 degrees.
|
||||||
*
|
*
|
||||||
* This driver also supports the MAX6680 and MAX6681, two other sensor
|
* This driver also supports the MAX6680 and MAX6681, two other sensor
|
||||||
* chips made by Maxim. These are quite similar to the other Maxim
|
* chips made by Maxim. These are quite similar to the other Maxim
|
||||||
|
|
|
@ -2490,12 +2490,14 @@ static int nes_disconnect(struct nes_qp *nesqp, int abrupt)
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
struct nes_vnic *nesvnic;
|
struct nes_vnic *nesvnic;
|
||||||
struct nes_device *nesdev;
|
struct nes_device *nesdev;
|
||||||
|
struct nes_ib_device *nesibdev;
|
||||||
|
|
||||||
nesvnic = to_nesvnic(nesqp->ibqp.device);
|
nesvnic = to_nesvnic(nesqp->ibqp.device);
|
||||||
if (!nesvnic)
|
if (!nesvnic)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
nesdev = nesvnic->nesdev;
|
nesdev = nesvnic->nesdev;
|
||||||
|
nesibdev = nesvnic->nesibdev;
|
||||||
|
|
||||||
nes_debug(NES_DBG_CM, "netdev refcnt = %u.\n",
|
nes_debug(NES_DBG_CM, "netdev refcnt = %u.\n",
|
||||||
atomic_read(&nesvnic->netdev->refcnt));
|
atomic_read(&nesvnic->netdev->refcnt));
|
||||||
|
@ -2507,6 +2509,8 @@ static int nes_disconnect(struct nes_qp *nesqp, int abrupt)
|
||||||
} else {
|
} else {
|
||||||
/* Need to free the Last Streaming Mode Message */
|
/* Need to free the Last Streaming Mode Message */
|
||||||
if (nesqp->ietf_frame) {
|
if (nesqp->ietf_frame) {
|
||||||
|
if (nesqp->lsmm_mr)
|
||||||
|
nesibdev->ibdev.dereg_mr(nesqp->lsmm_mr);
|
||||||
pci_free_consistent(nesdev->pcidev,
|
pci_free_consistent(nesdev->pcidev,
|
||||||
nesqp->private_data_len+sizeof(struct ietf_mpa_frame),
|
nesqp->private_data_len+sizeof(struct ietf_mpa_frame),
|
||||||
nesqp->ietf_frame, nesqp->ietf_frame_pbase);
|
nesqp->ietf_frame, nesqp->ietf_frame_pbase);
|
||||||
|
@ -2543,6 +2547,12 @@ int nes_accept(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param)
|
||||||
u32 crc_value;
|
u32 crc_value;
|
||||||
int ret;
|
int ret;
|
||||||
int passive_state;
|
int passive_state;
|
||||||
|
struct nes_ib_device *nesibdev;
|
||||||
|
struct ib_mr *ibmr = NULL;
|
||||||
|
struct ib_phys_buf ibphysbuf;
|
||||||
|
struct nes_pd *nespd;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ibqp = nes_get_qp(cm_id->device, conn_param->qpn);
|
ibqp = nes_get_qp(cm_id->device, conn_param->qpn);
|
||||||
if (!ibqp)
|
if (!ibqp)
|
||||||
|
@ -2601,6 +2611,26 @@ int nes_accept(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param)
|
||||||
if (cm_id->remote_addr.sin_addr.s_addr !=
|
if (cm_id->remote_addr.sin_addr.s_addr !=
|
||||||
cm_id->local_addr.sin_addr.s_addr) {
|
cm_id->local_addr.sin_addr.s_addr) {
|
||||||
u64temp = (unsigned long)nesqp;
|
u64temp = (unsigned long)nesqp;
|
||||||
|
nesibdev = nesvnic->nesibdev;
|
||||||
|
nespd = nesqp->nespd;
|
||||||
|
ibphysbuf.addr = nesqp->ietf_frame_pbase;
|
||||||
|
ibphysbuf.size = conn_param->private_data_len +
|
||||||
|
sizeof(struct ietf_mpa_frame);
|
||||||
|
ibmr = nesibdev->ibdev.reg_phys_mr((struct ib_pd *)nespd,
|
||||||
|
&ibphysbuf, 1,
|
||||||
|
IB_ACCESS_LOCAL_WRITE,
|
||||||
|
(u64 *)&nesqp->ietf_frame);
|
||||||
|
if (!ibmr) {
|
||||||
|
nes_debug(NES_DBG_CM, "Unable to register memory region"
|
||||||
|
"for lSMM for cm_node = %p \n",
|
||||||
|
cm_node);
|
||||||
|
return -ENOMEM;
|
||||||
|
}
|
||||||
|
|
||||||
|
ibmr->pd = &nespd->ibpd;
|
||||||
|
ibmr->device = nespd->ibpd.device;
|
||||||
|
nesqp->lsmm_mr = ibmr;
|
||||||
|
|
||||||
u64temp |= NES_SW_CONTEXT_ALIGN>>1;
|
u64temp |= NES_SW_CONTEXT_ALIGN>>1;
|
||||||
set_wqe_64bit_value(wqe->wqe_words,
|
set_wqe_64bit_value(wqe->wqe_words,
|
||||||
NES_IWARP_SQ_WQE_COMP_CTX_LOW_IDX,
|
NES_IWARP_SQ_WQE_COMP_CTX_LOW_IDX,
|
||||||
|
@ -2611,14 +2641,13 @@ int nes_accept(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param)
|
||||||
wqe->wqe_words[NES_IWARP_SQ_WQE_TOTAL_PAYLOAD_IDX] =
|
wqe->wqe_words[NES_IWARP_SQ_WQE_TOTAL_PAYLOAD_IDX] =
|
||||||
cpu_to_le32(conn_param->private_data_len +
|
cpu_to_le32(conn_param->private_data_len +
|
||||||
sizeof(struct ietf_mpa_frame));
|
sizeof(struct ietf_mpa_frame));
|
||||||
wqe->wqe_words[NES_IWARP_SQ_WQE_FRAG0_LOW_IDX] =
|
set_wqe_64bit_value(wqe->wqe_words,
|
||||||
cpu_to_le32((u32)nesqp->ietf_frame_pbase);
|
NES_IWARP_SQ_WQE_FRAG0_LOW_IDX,
|
||||||
wqe->wqe_words[NES_IWARP_SQ_WQE_FRAG0_HIGH_IDX] =
|
(u64)nesqp->ietf_frame);
|
||||||
cpu_to_le32((u32)((u64)nesqp->ietf_frame_pbase >> 32));
|
|
||||||
wqe->wqe_words[NES_IWARP_SQ_WQE_LENGTH0_IDX] =
|
wqe->wqe_words[NES_IWARP_SQ_WQE_LENGTH0_IDX] =
|
||||||
cpu_to_le32(conn_param->private_data_len +
|
cpu_to_le32(conn_param->private_data_len +
|
||||||
sizeof(struct ietf_mpa_frame));
|
sizeof(struct ietf_mpa_frame));
|
||||||
wqe->wqe_words[NES_IWARP_SQ_WQE_STAG0_IDX] = 0;
|
wqe->wqe_words[NES_IWARP_SQ_WQE_STAG0_IDX] = ibmr->lkey;
|
||||||
|
|
||||||
nesqp->nesqp_context->ird_ord_sizes |=
|
nesqp->nesqp_context->ird_ord_sizes |=
|
||||||
cpu_to_le32(NES_QPCONTEXT_ORDIRD_LSMM_PRESENT |
|
cpu_to_le32(NES_QPCONTEXT_ORDIRD_LSMM_PRESENT |
|
||||||
|
|
|
@ -1360,8 +1360,10 @@ static struct ib_qp *nes_create_qp(struct ib_pd *ibpd,
|
||||||
NES_QPCONTEXT_MISC_RQ_SIZE_SHIFT);
|
NES_QPCONTEXT_MISC_RQ_SIZE_SHIFT);
|
||||||
nesqp->nesqp_context->misc |= cpu_to_le32((u32)nesqp->hwqp.sq_encoded_size <<
|
nesqp->nesqp_context->misc |= cpu_to_le32((u32)nesqp->hwqp.sq_encoded_size <<
|
||||||
NES_QPCONTEXT_MISC_SQ_SIZE_SHIFT);
|
NES_QPCONTEXT_MISC_SQ_SIZE_SHIFT);
|
||||||
|
if (!udata) {
|
||||||
nesqp->nesqp_context->misc |= cpu_to_le32(NES_QPCONTEXT_MISC_PRIV_EN);
|
nesqp->nesqp_context->misc |= cpu_to_le32(NES_QPCONTEXT_MISC_PRIV_EN);
|
||||||
nesqp->nesqp_context->misc |= cpu_to_le32(NES_QPCONTEXT_MISC_FAST_REGISTER_EN);
|
nesqp->nesqp_context->misc |= cpu_to_le32(NES_QPCONTEXT_MISC_FAST_REGISTER_EN);
|
||||||
|
}
|
||||||
nesqp->nesqp_context->cqs = cpu_to_le32(nesqp->nesscq->hw_cq.cq_number +
|
nesqp->nesqp_context->cqs = cpu_to_le32(nesqp->nesscq->hw_cq.cq_number +
|
||||||
((u32)nesqp->nesrcq->hw_cq.cq_number << 16));
|
((u32)nesqp->nesrcq->hw_cq.cq_number << 16));
|
||||||
u64temp = (u64)nesqp->hwqp.sq_pbase;
|
u64temp = (u64)nesqp->hwqp.sq_pbase;
|
||||||
|
|
|
@ -134,6 +134,7 @@ struct nes_qp {
|
||||||
struct ietf_mpa_frame *ietf_frame;
|
struct ietf_mpa_frame *ietf_frame;
|
||||||
dma_addr_t ietf_frame_pbase;
|
dma_addr_t ietf_frame_pbase;
|
||||||
wait_queue_head_t state_waitq;
|
wait_queue_head_t state_waitq;
|
||||||
|
struct ib_mr *lsmm_mr;
|
||||||
unsigned long socket;
|
unsigned long socket;
|
||||||
struct nes_hw_qp hwqp;
|
struct nes_hw_qp hwqp;
|
||||||
struct work_struct work;
|
struct work_struct work;
|
||||||
|
|
|
@ -212,6 +212,9 @@ static void lg_notify(struct virtqueue *vq)
|
||||||
hcall(LHCALL_NOTIFY, lvq->config.pfn << PAGE_SHIFT, 0, 0);
|
hcall(LHCALL_NOTIFY, lvq->config.pfn << PAGE_SHIFT, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* An extern declaration inside a C file is bad form. Don't do it. */
|
||||||
|
extern void lguest_setup_irq(unsigned int irq);
|
||||||
|
|
||||||
/* This routine finds the first virtqueue described in the configuration of
|
/* This routine finds the first virtqueue described in the configuration of
|
||||||
* this device and sets it up.
|
* this device and sets it up.
|
||||||
*
|
*
|
||||||
|
@ -266,6 +269,9 @@ static struct virtqueue *lg_find_vq(struct virtio_device *vdev,
|
||||||
goto unmap;
|
goto unmap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Make sure the interrupt is allocated. */
|
||||||
|
lguest_setup_irq(lvq->config.irq);
|
||||||
|
|
||||||
/* Tell the interrupt for this virtqueue to go to the virtio_ring
|
/* Tell the interrupt for this virtqueue to go to the virtio_ring
|
||||||
* interrupt handler. */
|
* interrupt handler. */
|
||||||
/* FIXME: We used to have a flag for the Host to tell us we could use
|
/* FIXME: We used to have a flag for the Host to tell us we could use
|
||||||
|
|
|
@ -214,12 +214,7 @@ static inline mddev_t *mddev_get(mddev_t *mddev)
|
||||||
return mddev;
|
return mddev;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void mddev_delayed_delete(struct work_struct *ws)
|
static void mddev_delayed_delete(struct work_struct *ws);
|
||||||
{
|
|
||||||
mddev_t *mddev = container_of(ws, mddev_t, del_work);
|
|
||||||
kobject_del(&mddev->kobj);
|
|
||||||
kobject_put(&mddev->kobj);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void mddev_put(mddev_t *mddev)
|
static void mddev_put(mddev_t *mddev)
|
||||||
{
|
{
|
||||||
|
@ -3542,6 +3537,21 @@ static struct kobj_type md_ktype = {
|
||||||
|
|
||||||
int mdp_major = 0;
|
int mdp_major = 0;
|
||||||
|
|
||||||
|
static void mddev_delayed_delete(struct work_struct *ws)
|
||||||
|
{
|
||||||
|
mddev_t *mddev = container_of(ws, mddev_t, del_work);
|
||||||
|
|
||||||
|
if (mddev->private == &md_redundancy_group) {
|
||||||
|
sysfs_remove_group(&mddev->kobj, &md_redundancy_group);
|
||||||
|
if (mddev->sysfs_action)
|
||||||
|
sysfs_put(mddev->sysfs_action);
|
||||||
|
mddev->sysfs_action = NULL;
|
||||||
|
mddev->private = NULL;
|
||||||
|
}
|
||||||
|
kobject_del(&mddev->kobj);
|
||||||
|
kobject_put(&mddev->kobj);
|
||||||
|
}
|
||||||
|
|
||||||
static int md_alloc(dev_t dev, char *name)
|
static int md_alloc(dev_t dev, char *name)
|
||||||
{
|
{
|
||||||
static DEFINE_MUTEX(disks_mutex);
|
static DEFINE_MUTEX(disks_mutex);
|
||||||
|
@ -4033,13 +4043,9 @@ static int do_md_stop(mddev_t * mddev, int mode, int is_open)
|
||||||
mddev->queue->merge_bvec_fn = NULL;
|
mddev->queue->merge_bvec_fn = NULL;
|
||||||
mddev->queue->unplug_fn = NULL;
|
mddev->queue->unplug_fn = NULL;
|
||||||
mddev->queue->backing_dev_info.congested_fn = NULL;
|
mddev->queue->backing_dev_info.congested_fn = NULL;
|
||||||
if (mddev->pers->sync_request) {
|
|
||||||
sysfs_remove_group(&mddev->kobj, &md_redundancy_group);
|
|
||||||
if (mddev->sysfs_action)
|
|
||||||
sysfs_put(mddev->sysfs_action);
|
|
||||||
mddev->sysfs_action = NULL;
|
|
||||||
}
|
|
||||||
module_put(mddev->pers->owner);
|
module_put(mddev->pers->owner);
|
||||||
|
if (mddev->pers->sync_request)
|
||||||
|
mddev->private = &md_redundancy_group;
|
||||||
mddev->pers = NULL;
|
mddev->pers = NULL;
|
||||||
/* tell userspace to handle 'inactive' */
|
/* tell userspace to handle 'inactive' */
|
||||||
sysfs_notify_dirent(mddev->sysfs_state);
|
sysfs_notify_dirent(mddev->sysfs_state);
|
||||||
|
|
|
@ -1383,6 +1383,11 @@ int wm8350_device_init(struct wm8350 *wm8350, int irq,
|
||||||
wm8350->power.rev_g_coeff = 1;
|
wm8350->power.rev_g_coeff = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
dev_info(wm8350->dev, "WM8351 Rev B\n");
|
||||||
|
wm8350->power.rev_g_coeff = 1;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
dev_err(wm8350->dev, "Unknown WM8351 CHIP_REV\n");
|
dev_err(wm8350->dev, "Unknown WM8351 CHIP_REV\n");
|
||||||
ret = -ENODEV;
|
ret = -ENODEV;
|
||||||
|
|
|
@ -793,8 +793,7 @@ static void s3cmci_dma_setup(struct s3cmci_host *host,
|
||||||
host->mem->start + host->sdidata);
|
host->mem->start + host->sdidata);
|
||||||
|
|
||||||
if (!setup_ok) {
|
if (!setup_ok) {
|
||||||
s3c2410_dma_config(host->dma, 4,
|
s3c2410_dma_config(host->dma, 4, 0);
|
||||||
(S3C2410_DCON_HWTRIG | S3C2410_DCON_CH0_SDI));
|
|
||||||
s3c2410_dma_set_buffdone_fn(host->dma,
|
s3c2410_dma_set_buffdone_fn(host->dma,
|
||||||
s3cmci_dma_done_callback);
|
s3cmci_dma_done_callback);
|
||||||
s3c2410_dma_setflags(host->dma, S3C2410_DMAF_AUTOSTART);
|
s3c2410_dma_setflags(host->dma, S3C2410_DMAF_AUTOSTART);
|
||||||
|
|
|
@ -821,7 +821,8 @@ static struct flash_info *__devinit jedec_probe(struct spi_device *spi)
|
||||||
if (!(info->flags & IS_POW2PS))
|
if (!(info->flags & IS_POW2PS))
|
||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
}
|
} else
|
||||||
|
return info;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -46,17 +46,20 @@ static int physmap_flash_remove(struct platform_device *dev)
|
||||||
|
|
||||||
physmap_data = dev->dev.platform_data;
|
physmap_data = dev->dev.platform_data;
|
||||||
|
|
||||||
|
if (info->cmtd) {
|
||||||
#ifdef CONFIG_MTD_PARTITIONS
|
#ifdef CONFIG_MTD_PARTITIONS
|
||||||
if (info->nr_parts) {
|
if (info->nr_parts || physmap_data->nr_parts)
|
||||||
del_mtd_partitions(info->cmtd);
|
|
||||||
kfree(info->parts);
|
|
||||||
} else if (physmap_data->nr_parts)
|
|
||||||
del_mtd_partitions(info->cmtd);
|
del_mtd_partitions(info->cmtd);
|
||||||
else
|
else
|
||||||
del_mtd_device(info->cmtd);
|
del_mtd_device(info->cmtd);
|
||||||
#else
|
#else
|
||||||
del_mtd_device(info->cmtd);
|
del_mtd_device(info->cmtd);
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
|
#ifdef CONFIG_MTD_PARTITIONS
|
||||||
|
if (info->nr_parts)
|
||||||
|
kfree(info->parts);
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_MTD_CONCAT
|
#ifdef CONFIG_MTD_CONCAT
|
||||||
if (info->cmtd != info->mtd[0])
|
if (info->cmtd != info->mtd[0])
|
||||||
|
|
|
@ -560,7 +560,7 @@ ks8695_reset(struct ks8695_priv *ksp)
|
||||||
msleep(1);
|
msleep(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (reset_timeout == 0) {
|
if (reset_timeout < 0) {
|
||||||
dev_crit(ksp->dev,
|
dev_crit(ksp->dev,
|
||||||
"Timeout waiting for DMA engines to reset\n");
|
"Timeout waiting for DMA engines to reset\n");
|
||||||
/* And blithely carry on */
|
/* And blithely carry on */
|
||||||
|
|
|
@ -4113,7 +4113,7 @@ static int bond_neigh_setup(struct net_device *dev, struct neigh_parms *parms)
|
||||||
const struct net_device_ops *slave_ops
|
const struct net_device_ops *slave_ops
|
||||||
= slave->dev->netdev_ops;
|
= slave->dev->netdev_ops;
|
||||||
if (slave_ops->ndo_neigh_setup)
|
if (slave_ops->ndo_neigh_setup)
|
||||||
return slave_ops->ndo_neigh_setup(dev, parms);
|
return slave_ops->ndo_neigh_setup(slave->dev, parms);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -957,13 +957,14 @@ jme_process_receive(struct jme_adapter *jme, int limit)
|
||||||
goto out_inc;
|
goto out_inc;
|
||||||
|
|
||||||
i = atomic_read(&rxring->next_to_clean);
|
i = atomic_read(&rxring->next_to_clean);
|
||||||
while (limit-- > 0) {
|
while (limit > 0) {
|
||||||
rxdesc = rxring->desc;
|
rxdesc = rxring->desc;
|
||||||
rxdesc += i;
|
rxdesc += i;
|
||||||
|
|
||||||
if ((rxdesc->descwb.flags & cpu_to_le16(RXWBFLAG_OWN)) ||
|
if ((rxdesc->descwb.flags & cpu_to_le16(RXWBFLAG_OWN)) ||
|
||||||
!(rxdesc->descwb.desccnt & RXWBDCNT_WBCPL))
|
!(rxdesc->descwb.desccnt & RXWBDCNT_WBCPL))
|
||||||
goto out;
|
goto out;
|
||||||
|
--limit;
|
||||||
|
|
||||||
desccnt = rxdesc->descwb.desccnt & RXWBDCNT_DCNT;
|
desccnt = rxdesc->descwb.desccnt & RXWBDCNT_DCNT;
|
||||||
|
|
||||||
|
|
|
@ -1035,7 +1035,8 @@ static int el3_rx(struct net_device *dev, int worklimit)
|
||||||
DEBUG(3, "%s: in rx_packet(), status %4.4x, rx_status %4.4x.\n",
|
DEBUG(3, "%s: in rx_packet(), status %4.4x, rx_status %4.4x.\n",
|
||||||
dev->name, inw(ioaddr+EL3_STATUS), inw(ioaddr+RxStatus));
|
dev->name, inw(ioaddr+EL3_STATUS), inw(ioaddr+RxStatus));
|
||||||
while (!((rx_status = inw(ioaddr + RxStatus)) & 0x8000) &&
|
while (!((rx_status = inw(ioaddr + RxStatus)) & 0x8000) &&
|
||||||
(--worklimit >= 0)) {
|
worklimit > 0) {
|
||||||
|
worklimit--;
|
||||||
if (rx_status & 0x4000) { /* Error, update stats. */
|
if (rx_status & 0x4000) { /* Error, update stats. */
|
||||||
short error = rx_status & 0x3800;
|
short error = rx_status & 0x3800;
|
||||||
dev->stats.rx_errors++;
|
dev->stats.rx_errors++;
|
||||||
|
|
|
@ -857,7 +857,8 @@ static int el3_rx(struct net_device *dev)
|
||||||
DEBUG(3, "%s: in rx_packet(), status %4.4x, rx_status %4.4x.\n",
|
DEBUG(3, "%s: in rx_packet(), status %4.4x, rx_status %4.4x.\n",
|
||||||
dev->name, inw(ioaddr+EL3_STATUS), inw(ioaddr+RX_STATUS));
|
dev->name, inw(ioaddr+EL3_STATUS), inw(ioaddr+RX_STATUS));
|
||||||
while (!((rx_status = inw(ioaddr + RX_STATUS)) & 0x8000) &&
|
while (!((rx_status = inw(ioaddr + RX_STATUS)) & 0x8000) &&
|
||||||
(--worklimit >= 0)) {
|
worklimit > 0) {
|
||||||
|
worklimit--;
|
||||||
if (rx_status & 0x4000) { /* Error, update stats. */
|
if (rx_status & 0x4000) { /* Error, update stats. */
|
||||||
short error = rx_status & 0x3800;
|
short error = rx_status & 0x3800;
|
||||||
dev->stats.rx_errors++;
|
dev->stats.rx_errors++;
|
||||||
|
|
|
@ -42,6 +42,16 @@
|
||||||
#define SMC_USE_16BIT 0
|
#define SMC_USE_16BIT 0
|
||||||
#define SMC_USE_32BIT 1
|
#define SMC_USE_32BIT 1
|
||||||
#define SMC_IRQ_SENSE IRQF_TRIGGER_LOW
|
#define SMC_IRQ_SENSE IRQF_TRIGGER_LOW
|
||||||
|
#elif defined(CONFIG_ARCH_OMAP34XX)
|
||||||
|
#define SMC_USE_16BIT 0
|
||||||
|
#define SMC_USE_32BIT 1
|
||||||
|
#define SMC_IRQ_SENSE IRQF_TRIGGER_LOW
|
||||||
|
#define SMC_MEM_RESERVED 1
|
||||||
|
#elif defined(CONFIG_ARCH_OMAP24XX)
|
||||||
|
#define SMC_USE_16BIT 0
|
||||||
|
#define SMC_USE_32BIT 1
|
||||||
|
#define SMC_IRQ_SENSE IRQF_TRIGGER_LOW
|
||||||
|
#define SMC_MEM_RESERVED 1
|
||||||
#else
|
#else
|
||||||
/*
|
/*
|
||||||
* Default configuration
|
* Default configuration
|
||||||
|
@ -675,6 +685,7 @@ smc_pxa_dma_outsl(struct smc911x_local *lp, u_long physaddr,
|
||||||
#define CHIP_9116 0x0116
|
#define CHIP_9116 0x0116
|
||||||
#define CHIP_9117 0x0117
|
#define CHIP_9117 0x0117
|
||||||
#define CHIP_9118 0x0118
|
#define CHIP_9118 0x0118
|
||||||
|
#define CHIP_9211 0x9211
|
||||||
#define CHIP_9215 0x115A
|
#define CHIP_9215 0x115A
|
||||||
#define CHIP_9217 0x117A
|
#define CHIP_9217 0x117A
|
||||||
#define CHIP_9218 0x118A
|
#define CHIP_9218 0x118A
|
||||||
|
@ -689,6 +700,7 @@ static const struct chip_id chip_ids[] = {
|
||||||
{ CHIP_9116, "LAN9116" },
|
{ CHIP_9116, "LAN9116" },
|
||||||
{ CHIP_9117, "LAN9117" },
|
{ CHIP_9117, "LAN9117" },
|
||||||
{ CHIP_9118, "LAN9118" },
|
{ CHIP_9118, "LAN9118" },
|
||||||
|
{ CHIP_9211, "LAN9211" },
|
||||||
{ CHIP_9215, "LAN9215" },
|
{ CHIP_9215, "LAN9215" },
|
||||||
{ CHIP_9217, "LAN9217" },
|
{ CHIP_9217, "LAN9217" },
|
||||||
{ CHIP_9218, "LAN9218" },
|
{ CHIP_9218, "LAN9218" },
|
||||||
|
|
|
@ -1229,7 +1229,7 @@ static void gem_reset(struct gem *gp)
|
||||||
break;
|
break;
|
||||||
} while (val & (GREG_SWRST_TXRST | GREG_SWRST_RXRST));
|
} while (val & (GREG_SWRST_TXRST | GREG_SWRST_RXRST));
|
||||||
|
|
||||||
if (limit <= 0)
|
if (limit < 0)
|
||||||
printk(KERN_ERR "%s: SW reset is ghetto.\n", gp->dev->name);
|
printk(KERN_ERR "%s: SW reset is ghetto.\n", gp->dev->name);
|
||||||
|
|
||||||
if (gp->phy_type == phy_serialink || gp->phy_type == phy_serdes)
|
if (gp->phy_type == phy_serialink || gp->phy_type == phy_serdes)
|
||||||
|
|
|
@ -2649,8 +2649,6 @@ static int __devinit happy_meal_sbus_probe_one(struct of_device *op, int is_qfe)
|
||||||
int err = -ENODEV;
|
int err = -ENODEV;
|
||||||
|
|
||||||
sbus_dp = to_of_device(op->dev.parent)->node;
|
sbus_dp = to_of_device(op->dev.parent)->node;
|
||||||
if (is_qfe)
|
|
||||||
sbus_dp = to_of_device(op->dev.parent->parent)->node;
|
|
||||||
|
|
||||||
/* We can match PCI devices too, do not accept those here. */
|
/* We can match PCI devices too, do not accept those here. */
|
||||||
if (strcmp(sbus_dp->name, "sbus"))
|
if (strcmp(sbus_dp->name, "sbus"))
|
||||||
|
|
|
@ -1473,7 +1473,8 @@ static void tg3_phy_toggle_apd(struct tg3 *tp, bool enable)
|
||||||
{
|
{
|
||||||
u32 reg;
|
u32 reg;
|
||||||
|
|
||||||
if (!(tp->tg3_flags2 & TG3_FLG2_5705_PLUS))
|
if (!(tp->tg3_flags2 & TG3_FLG2_5705_PLUS) ||
|
||||||
|
GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5906)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
reg = MII_TG3_MISC_SHDW_WREN |
|
reg = MII_TG3_MISC_SHDW_WREN |
|
||||||
|
|
|
@ -121,11 +121,6 @@ static int __devinit tms_pci_attach(struct pci_dev *pdev, const struct pci_devic
|
||||||
goto err_out_trdev;
|
goto err_out_trdev;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = request_irq(pdev->irq, tms380tr_interrupt, IRQF_SHARED,
|
|
||||||
dev->name, dev);
|
|
||||||
if (ret)
|
|
||||||
goto err_out_region;
|
|
||||||
|
|
||||||
dev->base_addr = pci_ioaddr;
|
dev->base_addr = pci_ioaddr;
|
||||||
dev->irq = pci_irq_line;
|
dev->irq = pci_irq_line;
|
||||||
dev->dma = 0;
|
dev->dma = 0;
|
||||||
|
@ -142,7 +137,7 @@ static int __devinit tms_pci_attach(struct pci_dev *pdev, const struct pci_devic
|
||||||
ret = tmsdev_init(dev, &pdev->dev);
|
ret = tmsdev_init(dev, &pdev->dev);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
printk("%s: unable to get memory for dev->priv.\n", dev->name);
|
printk("%s: unable to get memory for dev->priv.\n", dev->name);
|
||||||
goto err_out_irq;
|
goto err_out_region;
|
||||||
}
|
}
|
||||||
|
|
||||||
tp = netdev_priv(dev);
|
tp = netdev_priv(dev);
|
||||||
|
@ -157,6 +152,11 @@ static int __devinit tms_pci_attach(struct pci_dev *pdev, const struct pci_devic
|
||||||
|
|
||||||
tp->tmspriv = cardinfo;
|
tp->tmspriv = cardinfo;
|
||||||
|
|
||||||
|
ret = request_irq(pdev->irq, tms380tr_interrupt, IRQF_SHARED,
|
||||||
|
dev->name, dev);
|
||||||
|
if (ret)
|
||||||
|
goto err_out_tmsdev;
|
||||||
|
|
||||||
dev->open = tms380tr_open;
|
dev->open = tms380tr_open;
|
||||||
dev->stop = tms380tr_close;
|
dev->stop = tms380tr_close;
|
||||||
pci_set_drvdata(pdev, dev);
|
pci_set_drvdata(pdev, dev);
|
||||||
|
@ -164,15 +164,15 @@ static int __devinit tms_pci_attach(struct pci_dev *pdev, const struct pci_devic
|
||||||
|
|
||||||
ret = register_netdev(dev);
|
ret = register_netdev(dev);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err_out_tmsdev;
|
goto err_out_irq;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
err_out_irq:
|
||||||
|
free_irq(pdev->irq, dev);
|
||||||
err_out_tmsdev:
|
err_out_tmsdev:
|
||||||
pci_set_drvdata(pdev, NULL);
|
pci_set_drvdata(pdev, NULL);
|
||||||
tmsdev_term(dev);
|
tmsdev_term(dev);
|
||||||
err_out_irq:
|
|
||||||
free_irq(pdev->irq, dev);
|
|
||||||
err_out_region:
|
err_out_region:
|
||||||
release_region(pci_ioaddr, TMS_PCI_IO_EXTENT);
|
release_region(pci_ioaddr, TMS_PCI_IO_EXTENT);
|
||||||
err_out_trdev:
|
err_out_trdev:
|
||||||
|
|
|
@ -107,7 +107,7 @@ int uec_mdio_read(struct mii_bus *bus, int mii_id, int regnum)
|
||||||
static int uec_mdio_reset(struct mii_bus *bus)
|
static int uec_mdio_reset(struct mii_bus *bus)
|
||||||
{
|
{
|
||||||
struct ucc_mii_mng __iomem *regs = (void __iomem *)bus->priv;
|
struct ucc_mii_mng __iomem *regs = (void __iomem *)bus->priv;
|
||||||
unsigned int timeout = PHY_INIT_TIMEOUT;
|
int timeout = PHY_INIT_TIMEOUT;
|
||||||
|
|
||||||
mutex_lock(&bus->mdio_lock);
|
mutex_lock(&bus->mdio_lock);
|
||||||
|
|
||||||
|
@ -123,7 +123,7 @@ static int uec_mdio_reset(struct mii_bus *bus)
|
||||||
|
|
||||||
mutex_unlock(&bus->mdio_lock);
|
mutex_unlock(&bus->mdio_lock);
|
||||||
|
|
||||||
if (timeout <= 0) {
|
if (timeout < 0) {
|
||||||
printk(KERN_ERR "%s: The MII Bus is stuck!\n", bus->name);
|
printk(KERN_ERR "%s: The MII Bus is stuck!\n", bus->name);
|
||||||
return -EBUSY;
|
return -EBUSY;
|
||||||
}
|
}
|
||||||
|
|
|
@ -633,6 +633,10 @@ static const struct usb_device_id products[] = {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
USB_DEVICE(0x0a47, 0x9601), /* Hirose USB-100 */
|
USB_DEVICE(0x0a47, 0x9601), /* Hirose USB-100 */
|
||||||
|
.driver_info = (unsigned long)&dm9601_info,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
USB_DEVICE(0x0fe6, 0x8101), /* DM9601 USB to Fast Ethernet Adapter */
|
||||||
.driver_info = (unsigned long)&dm9601_info,
|
.driver_info = (unsigned long)&dm9601_info,
|
||||||
},
|
},
|
||||||
{}, // END
|
{}, // END
|
||||||
|
|
|
@ -3868,7 +3868,7 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||||
}
|
}
|
||||||
err = iwl_eeprom_check_version(priv);
|
err = iwl_eeprom_check_version(priv);
|
||||||
if (err)
|
if (err)
|
||||||
goto out_iounmap;
|
goto out_free_eeprom;
|
||||||
|
|
||||||
/* extract MAC Address */
|
/* extract MAC Address */
|
||||||
iwl_eeprom_get_mac(priv, priv->mac_addr);
|
iwl_eeprom_get_mac(priv, priv->mac_addr);
|
||||||
|
@ -3945,6 +3945,8 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
out_remove_sysfs:
|
out_remove_sysfs:
|
||||||
|
destroy_workqueue(priv->workqueue);
|
||||||
|
priv->workqueue = NULL;
|
||||||
sysfs_remove_group(&pdev->dev.kobj, &iwl_attribute_group);
|
sysfs_remove_group(&pdev->dev.kobj, &iwl_attribute_group);
|
||||||
out_uninit_drv:
|
out_uninit_drv:
|
||||||
iwl_uninit_drv(priv);
|
iwl_uninit_drv(priv);
|
||||||
|
@ -3953,8 +3955,8 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||||
out_iounmap:
|
out_iounmap:
|
||||||
pci_iounmap(pdev, priv->hw_base);
|
pci_iounmap(pdev, priv->hw_base);
|
||||||
out_pci_release_regions:
|
out_pci_release_regions:
|
||||||
pci_release_regions(pdev);
|
|
||||||
pci_set_drvdata(pdev, NULL);
|
pci_set_drvdata(pdev, NULL);
|
||||||
|
pci_release_regions(pdev);
|
||||||
out_pci_disable_device:
|
out_pci_disable_device:
|
||||||
pci_disable_device(pdev);
|
pci_disable_device(pdev);
|
||||||
out_ieee80211_free_hw:
|
out_ieee80211_free_hw:
|
||||||
|
|
|
@ -7911,7 +7911,7 @@ static int iwl3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e
|
||||||
CSR_GP_CNTRL_REG_FLAG_MAC_CLOCK_READY, 25000);
|
CSR_GP_CNTRL_REG_FLAG_MAC_CLOCK_READY, 25000);
|
||||||
if (err < 0) {
|
if (err < 0) {
|
||||||
IWL_DEBUG_INFO("Failed to init the card\n");
|
IWL_DEBUG_INFO("Failed to init the card\n");
|
||||||
goto out_remove_sysfs;
|
goto out_iounmap;
|
||||||
}
|
}
|
||||||
|
|
||||||
/***********************
|
/***********************
|
||||||
|
@ -7921,7 +7921,7 @@ static int iwl3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e
|
||||||
err = iwl3945_eeprom_init(priv);
|
err = iwl3945_eeprom_init(priv);
|
||||||
if (err) {
|
if (err) {
|
||||||
IWL_ERROR("Unable to init EEPROM\n");
|
IWL_ERROR("Unable to init EEPROM\n");
|
||||||
goto out_remove_sysfs;
|
goto out_iounmap;
|
||||||
}
|
}
|
||||||
/* MAC Address location in EEPROM same for 3945/4965 */
|
/* MAC Address location in EEPROM same for 3945/4965 */
|
||||||
get_eeprom_mac(priv, priv->mac_addr);
|
get_eeprom_mac(priv, priv->mac_addr);
|
||||||
|
@ -7975,7 +7975,7 @@ static int iwl3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e
|
||||||
err = iwl3945_init_channel_map(priv);
|
err = iwl3945_init_channel_map(priv);
|
||||||
if (err) {
|
if (err) {
|
||||||
IWL_ERROR("initializing regulatory failed: %d\n", err);
|
IWL_ERROR("initializing regulatory failed: %d\n", err);
|
||||||
goto out_release_irq;
|
goto out_unset_hw_setting;
|
||||||
}
|
}
|
||||||
|
|
||||||
err = iwl3945_init_geos(priv);
|
err = iwl3945_init_geos(priv);
|
||||||
|
@ -8045,25 +8045,22 @@ static int iwl3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
out_remove_sysfs:
|
out_remove_sysfs:
|
||||||
|
destroy_workqueue(priv->workqueue);
|
||||||
|
priv->workqueue = NULL;
|
||||||
sysfs_remove_group(&pdev->dev.kobj, &iwl3945_attribute_group);
|
sysfs_remove_group(&pdev->dev.kobj, &iwl3945_attribute_group);
|
||||||
out_free_geos:
|
out_free_geos:
|
||||||
iwl3945_free_geos(priv);
|
iwl3945_free_geos(priv);
|
||||||
out_free_channel_map:
|
out_free_channel_map:
|
||||||
iwl3945_free_channel_map(priv);
|
iwl3945_free_channel_map(priv);
|
||||||
|
out_unset_hw_setting:
|
||||||
|
|
||||||
out_release_irq:
|
|
||||||
destroy_workqueue(priv->workqueue);
|
|
||||||
priv->workqueue = NULL;
|
|
||||||
iwl3945_unset_hw_setting(priv);
|
iwl3945_unset_hw_setting(priv);
|
||||||
|
|
||||||
out_iounmap:
|
out_iounmap:
|
||||||
pci_iounmap(pdev, priv->hw_base);
|
pci_iounmap(pdev, priv->hw_base);
|
||||||
out_pci_release_regions:
|
out_pci_release_regions:
|
||||||
pci_release_regions(pdev);
|
pci_release_regions(pdev);
|
||||||
out_pci_disable_device:
|
out_pci_disable_device:
|
||||||
pci_disable_device(pdev);
|
|
||||||
pci_set_drvdata(pdev, NULL);
|
pci_set_drvdata(pdev, NULL);
|
||||||
|
pci_disable_device(pdev);
|
||||||
out_ieee80211_free_hw:
|
out_ieee80211_free_hw:
|
||||||
ieee80211_free_hw(priv->hw);
|
ieee80211_free_hw(priv->hw);
|
||||||
out:
|
out:
|
||||||
|
|
|
@ -710,10 +710,11 @@ static struct sk_buff *p54_find_tx_entry(struct ieee80211_hw *dev,
|
||||||
__le32 req_id)
|
__le32 req_id)
|
||||||
{
|
{
|
||||||
struct p54_common *priv = dev->priv;
|
struct p54_common *priv = dev->priv;
|
||||||
struct sk_buff *entry = priv->tx_queue.next;
|
struct sk_buff *entry;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
||||||
spin_lock_irqsave(&priv->tx_queue.lock, flags);
|
spin_lock_irqsave(&priv->tx_queue.lock, flags);
|
||||||
|
entry = priv->tx_queue.next;
|
||||||
while (entry != (struct sk_buff *)&priv->tx_queue) {
|
while (entry != (struct sk_buff *)&priv->tx_queue) {
|
||||||
struct p54_hdr *hdr = (struct p54_hdr *) entry->data;
|
struct p54_hdr *hdr = (struct p54_hdr *) entry->data;
|
||||||
|
|
||||||
|
@ -732,7 +733,7 @@ static void p54_rx_frame_sent(struct ieee80211_hw *dev, struct sk_buff *skb)
|
||||||
struct p54_common *priv = dev->priv;
|
struct p54_common *priv = dev->priv;
|
||||||
struct p54_hdr *hdr = (struct p54_hdr *) skb->data;
|
struct p54_hdr *hdr = (struct p54_hdr *) skb->data;
|
||||||
struct p54_frame_sent *payload = (struct p54_frame_sent *) hdr->data;
|
struct p54_frame_sent *payload = (struct p54_frame_sent *) hdr->data;
|
||||||
struct sk_buff *entry = (struct sk_buff *) priv->tx_queue.next;
|
struct sk_buff *entry;
|
||||||
u32 addr = le32_to_cpu(hdr->req_id) - priv->headroom;
|
u32 addr = le32_to_cpu(hdr->req_id) - priv->headroom;
|
||||||
struct memrecord *range = NULL;
|
struct memrecord *range = NULL;
|
||||||
u32 freed = 0;
|
u32 freed = 0;
|
||||||
|
@ -741,6 +742,7 @@ static void p54_rx_frame_sent(struct ieee80211_hw *dev, struct sk_buff *skb)
|
||||||
int count, idx;
|
int count, idx;
|
||||||
|
|
||||||
spin_lock_irqsave(&priv->tx_queue.lock, flags);
|
spin_lock_irqsave(&priv->tx_queue.lock, flags);
|
||||||
|
entry = (struct sk_buff *) priv->tx_queue.next;
|
||||||
while (entry != (struct sk_buff *)&priv->tx_queue) {
|
while (entry != (struct sk_buff *)&priv->tx_queue) {
|
||||||
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(entry);
|
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(entry);
|
||||||
struct p54_hdr *entry_hdr;
|
struct p54_hdr *entry_hdr;
|
||||||
|
@ -976,7 +978,7 @@ static int p54_assign_address(struct ieee80211_hw *dev, struct sk_buff *skb,
|
||||||
struct p54_hdr *data, u32 len)
|
struct p54_hdr *data, u32 len)
|
||||||
{
|
{
|
||||||
struct p54_common *priv = dev->priv;
|
struct p54_common *priv = dev->priv;
|
||||||
struct sk_buff *entry = priv->tx_queue.next;
|
struct sk_buff *entry;
|
||||||
struct sk_buff *target_skb = NULL;
|
struct sk_buff *target_skb = NULL;
|
||||||
struct ieee80211_tx_info *info;
|
struct ieee80211_tx_info *info;
|
||||||
struct memrecord *range;
|
struct memrecord *range;
|
||||||
|
@ -1014,6 +1016,7 @@ static int p54_assign_address(struct ieee80211_hw *dev, struct sk_buff *skb,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
entry = priv->tx_queue.next;
|
||||||
while (left--) {
|
while (left--) {
|
||||||
u32 hole_size;
|
u32 hole_size;
|
||||||
info = IEEE80211_SKB_CB(entry);
|
info = IEEE80211_SKB_CB(entry);
|
||||||
|
|
|
@ -1952,6 +1952,8 @@ static struct usb_device_id rt2500usb_device_table[] = {
|
||||||
{ USB_DEVICE(0x13b1, 0x000d), USB_DEVICE_DATA(&rt2500usb_ops) },
|
{ USB_DEVICE(0x13b1, 0x000d), USB_DEVICE_DATA(&rt2500usb_ops) },
|
||||||
{ USB_DEVICE(0x13b1, 0x0011), USB_DEVICE_DATA(&rt2500usb_ops) },
|
{ USB_DEVICE(0x13b1, 0x0011), USB_DEVICE_DATA(&rt2500usb_ops) },
|
||||||
{ USB_DEVICE(0x13b1, 0x001a), USB_DEVICE_DATA(&rt2500usb_ops) },
|
{ USB_DEVICE(0x13b1, 0x001a), USB_DEVICE_DATA(&rt2500usb_ops) },
|
||||||
|
/* CNet */
|
||||||
|
{ USB_DEVICE(0x1371, 0x9022), USB_DEVICE_DATA(&rt2500usb_ops) },
|
||||||
/* Conceptronic */
|
/* Conceptronic */
|
||||||
{ USB_DEVICE(0x14b2, 0x3c02), USB_DEVICE_DATA(&rt2500usb_ops) },
|
{ USB_DEVICE(0x14b2, 0x3c02), USB_DEVICE_DATA(&rt2500usb_ops) },
|
||||||
/* D-LINK */
|
/* D-LINK */
|
||||||
|
@ -1976,14 +1978,20 @@ static struct usb_device_id rt2500usb_device_table[] = {
|
||||||
{ USB_DEVICE(0x148f, 0x2570), USB_DEVICE_DATA(&rt2500usb_ops) },
|
{ USB_DEVICE(0x148f, 0x2570), USB_DEVICE_DATA(&rt2500usb_ops) },
|
||||||
{ USB_DEVICE(0x148f, 0x2573), USB_DEVICE_DATA(&rt2500usb_ops) },
|
{ USB_DEVICE(0x148f, 0x2573), USB_DEVICE_DATA(&rt2500usb_ops) },
|
||||||
{ USB_DEVICE(0x148f, 0x9020), USB_DEVICE_DATA(&rt2500usb_ops) },
|
{ USB_DEVICE(0x148f, 0x9020), USB_DEVICE_DATA(&rt2500usb_ops) },
|
||||||
|
/* Sagem */
|
||||||
|
{ USB_DEVICE(0x079b, 0x004b), USB_DEVICE_DATA(&rt2500usb_ops) },
|
||||||
/* Siemens */
|
/* Siemens */
|
||||||
{ USB_DEVICE(0x0681, 0x3c06), USB_DEVICE_DATA(&rt2500usb_ops) },
|
{ USB_DEVICE(0x0681, 0x3c06), USB_DEVICE_DATA(&rt2500usb_ops) },
|
||||||
/* SMC */
|
/* SMC */
|
||||||
{ USB_DEVICE(0x0707, 0xee13), USB_DEVICE_DATA(&rt2500usb_ops) },
|
{ USB_DEVICE(0x0707, 0xee13), USB_DEVICE_DATA(&rt2500usb_ops) },
|
||||||
/* Spairon */
|
/* Spairon */
|
||||||
{ USB_DEVICE(0x114b, 0x0110), USB_DEVICE_DATA(&rt2500usb_ops) },
|
{ USB_DEVICE(0x114b, 0x0110), USB_DEVICE_DATA(&rt2500usb_ops) },
|
||||||
|
/* SURECOM */
|
||||||
|
{ USB_DEVICE(0x0769, 0x11f3), USB_DEVICE_DATA(&rt2500usb_ops) },
|
||||||
/* Trust */
|
/* Trust */
|
||||||
{ USB_DEVICE(0x0eb0, 0x9020), USB_DEVICE_DATA(&rt2500usb_ops) },
|
{ USB_DEVICE(0x0eb0, 0x9020), USB_DEVICE_DATA(&rt2500usb_ops) },
|
||||||
|
/* VTech */
|
||||||
|
{ USB_DEVICE(0x0f88, 0x3012), USB_DEVICE_DATA(&rt2500usb_ops) },
|
||||||
/* Zinwell */
|
/* Zinwell */
|
||||||
{ USB_DEVICE(0x5a57, 0x0260), USB_DEVICE_DATA(&rt2500usb_ops) },
|
{ USB_DEVICE(0x5a57, 0x0260), USB_DEVICE_DATA(&rt2500usb_ops) },
|
||||||
{ 0, }
|
{ 0, }
|
||||||
|
|
|
@ -2281,7 +2281,18 @@ static const struct rt2x00_ops rt73usb_ops = {
|
||||||
*/
|
*/
|
||||||
static struct usb_device_id rt73usb_device_table[] = {
|
static struct usb_device_id rt73usb_device_table[] = {
|
||||||
/* AboCom */
|
/* AboCom */
|
||||||
|
{ USB_DEVICE(0x07b8, 0xb21b), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
|
{ USB_DEVICE(0x07b8, 0xb21c), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
{ USB_DEVICE(0x07b8, 0xb21d), USB_DEVICE_DATA(&rt73usb_ops) },
|
{ USB_DEVICE(0x07b8, 0xb21d), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
|
{ USB_DEVICE(0x07b8, 0xb21e), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
|
{ USB_DEVICE(0x07b8, 0xb21f), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
|
/* AL */
|
||||||
|
{ USB_DEVICE(0x14b2, 0x3c10), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
|
/* Amigo */
|
||||||
|
{ USB_DEVICE(0x148f, 0x9021), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
|
{ USB_DEVICE(0x0eb0, 0x9021), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
|
/* AMIT */
|
||||||
|
{ USB_DEVICE(0x18c5, 0x0002), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
/* Askey */
|
/* Askey */
|
||||||
{ USB_DEVICE(0x1690, 0x0722), USB_DEVICE_DATA(&rt73usb_ops) },
|
{ USB_DEVICE(0x1690, 0x0722), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
/* ASUS */
|
/* ASUS */
|
||||||
|
@ -2294,7 +2305,9 @@ static struct usb_device_id rt73usb_device_table[] = {
|
||||||
{ USB_DEVICE(0x050d, 0x905c), USB_DEVICE_DATA(&rt73usb_ops) },
|
{ USB_DEVICE(0x050d, 0x905c), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
/* Billionton */
|
/* Billionton */
|
||||||
{ USB_DEVICE(0x1631, 0xc019), USB_DEVICE_DATA(&rt73usb_ops) },
|
{ USB_DEVICE(0x1631, 0xc019), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
|
{ USB_DEVICE(0x08dd, 0x0120), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
/* Buffalo */
|
/* Buffalo */
|
||||||
|
{ USB_DEVICE(0x0411, 0x00d8), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
{ USB_DEVICE(0x0411, 0x00f4), USB_DEVICE_DATA(&rt73usb_ops) },
|
{ USB_DEVICE(0x0411, 0x00f4), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
/* CNet */
|
/* CNet */
|
||||||
{ USB_DEVICE(0x1371, 0x9022), USB_DEVICE_DATA(&rt73usb_ops) },
|
{ USB_DEVICE(0x1371, 0x9022), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
|
@ -2308,6 +2321,11 @@ static struct usb_device_id rt73usb_device_table[] = {
|
||||||
{ USB_DEVICE(0x07d1, 0x3c04), USB_DEVICE_DATA(&rt73usb_ops) },
|
{ USB_DEVICE(0x07d1, 0x3c04), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
{ USB_DEVICE(0x07d1, 0x3c06), USB_DEVICE_DATA(&rt73usb_ops) },
|
{ USB_DEVICE(0x07d1, 0x3c06), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
{ USB_DEVICE(0x07d1, 0x3c07), USB_DEVICE_DATA(&rt73usb_ops) },
|
{ USB_DEVICE(0x07d1, 0x3c07), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
|
/* Edimax */
|
||||||
|
{ USB_DEVICE(0x7392, 0x7318), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
|
{ USB_DEVICE(0x7392, 0x7618), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
|
/* EnGenius */
|
||||||
|
{ USB_DEVICE(0x1740, 0x3701), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
/* Gemtek */
|
/* Gemtek */
|
||||||
{ USB_DEVICE(0x15a9, 0x0004), USB_DEVICE_DATA(&rt73usb_ops) },
|
{ USB_DEVICE(0x15a9, 0x0004), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
/* Gigabyte */
|
/* Gigabyte */
|
||||||
|
@ -2328,22 +2346,34 @@ static struct usb_device_id rt73usb_device_table[] = {
|
||||||
{ USB_DEVICE(0x0db0, 0xa861), USB_DEVICE_DATA(&rt73usb_ops) },
|
{ USB_DEVICE(0x0db0, 0xa861), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
{ USB_DEVICE(0x0db0, 0xa874), USB_DEVICE_DATA(&rt73usb_ops) },
|
{ USB_DEVICE(0x0db0, 0xa874), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
/* Ralink */
|
/* Ralink */
|
||||||
|
{ USB_DEVICE(0x04bb, 0x093d), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
{ USB_DEVICE(0x148f, 0x2573), USB_DEVICE_DATA(&rt73usb_ops) },
|
{ USB_DEVICE(0x148f, 0x2573), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
{ USB_DEVICE(0x148f, 0x2671), USB_DEVICE_DATA(&rt73usb_ops) },
|
{ USB_DEVICE(0x148f, 0x2671), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
/* Qcom */
|
/* Qcom */
|
||||||
{ USB_DEVICE(0x18e8, 0x6196), USB_DEVICE_DATA(&rt73usb_ops) },
|
{ USB_DEVICE(0x18e8, 0x6196), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
{ USB_DEVICE(0x18e8, 0x6229), USB_DEVICE_DATA(&rt73usb_ops) },
|
{ USB_DEVICE(0x18e8, 0x6229), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
{ USB_DEVICE(0x18e8, 0x6238), USB_DEVICE_DATA(&rt73usb_ops) },
|
{ USB_DEVICE(0x18e8, 0x6238), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
|
/* Samsung */
|
||||||
|
{ USB_DEVICE(0x04e8, 0x4471), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
/* Senao */
|
/* Senao */
|
||||||
{ USB_DEVICE(0x1740, 0x7100), USB_DEVICE_DATA(&rt73usb_ops) },
|
{ USB_DEVICE(0x1740, 0x7100), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
/* Sitecom */
|
/* Sitecom */
|
||||||
{ USB_DEVICE(0x0df6, 0x9712), USB_DEVICE_DATA(&rt73usb_ops) },
|
{ USB_DEVICE(0x0df6, 0x0024), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
|
{ USB_DEVICE(0x0df6, 0x0027), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
|
{ USB_DEVICE(0x0df6, 0x002f), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
{ USB_DEVICE(0x0df6, 0x90ac), USB_DEVICE_DATA(&rt73usb_ops) },
|
{ USB_DEVICE(0x0df6, 0x90ac), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
|
{ USB_DEVICE(0x0df6, 0x9712), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
/* Surecom */
|
/* Surecom */
|
||||||
{ USB_DEVICE(0x0769, 0x31f3), USB_DEVICE_DATA(&rt73usb_ops) },
|
{ USB_DEVICE(0x0769, 0x31f3), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
|
/* Philips */
|
||||||
|
{ USB_DEVICE(0x0471, 0x200a), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
/* Planex */
|
/* Planex */
|
||||||
{ USB_DEVICE(0x2019, 0xab01), USB_DEVICE_DATA(&rt73usb_ops) },
|
{ USB_DEVICE(0x2019, 0xab01), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
{ USB_DEVICE(0x2019, 0xab50), USB_DEVICE_DATA(&rt73usb_ops) },
|
{ USB_DEVICE(0x2019, 0xab50), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
|
/* Zcom */
|
||||||
|
{ USB_DEVICE(0x0cde, 0x001c), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
|
/* ZyXEL */
|
||||||
|
{ USB_DEVICE(0x0586, 0x3415), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||||
{ 0, }
|
{ 0, }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -143,7 +143,7 @@ config HOTPLUG_PCI_SHPC
|
||||||
|
|
||||||
config HOTPLUG_PCI_RPA
|
config HOTPLUG_PCI_RPA
|
||||||
tristate "RPA PCI Hotplug driver"
|
tristate "RPA PCI Hotplug driver"
|
||||||
depends on PPC_PSERIES && PPC64 && !HOTPLUG_PCI_FAKE
|
depends on PPC_PSERIES && EEH && !HOTPLUG_PCI_FAKE
|
||||||
help
|
help
|
||||||
Say Y here if you have a RPA system that supports PCI Hotplug.
|
Say Y here if you have a RPA system that supports PCI Hotplug.
|
||||||
|
|
||||||
|
|
|
@ -133,6 +133,9 @@ static void set_downstream_devices_error_reporting(struct pci_dev *dev,
|
||||||
bool enable)
|
bool enable)
|
||||||
{
|
{
|
||||||
set_device_error_reporting(dev, &enable);
|
set_device_error_reporting(dev, &enable);
|
||||||
|
|
||||||
|
if (!dev->subordinate)
|
||||||
|
return;
|
||||||
pci_walk_bus(dev->subordinate, set_device_error_reporting, &enable);
|
pci_walk_bus(dev->subordinate, set_device_error_reporting, &enable);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -103,6 +103,7 @@ static int __devinit pcie_portdrv_probe (struct pci_dev *dev,
|
||||||
static void pcie_portdrv_remove (struct pci_dev *dev)
|
static void pcie_portdrv_remove (struct pci_dev *dev)
|
||||||
{
|
{
|
||||||
pcie_port_device_remove(dev);
|
pcie_port_device_remove(dev);
|
||||||
|
pci_disable_device(dev);
|
||||||
kfree(pci_get_drvdata(dev));
|
kfree(pci_get_drvdata(dev));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
#include <linux/acpi.h>
|
#include <linux/acpi.h>
|
||||||
#include <linux/kallsyms.h>
|
#include <linux/kallsyms.h>
|
||||||
#include <linux/dmi.h>
|
#include <linux/dmi.h>
|
||||||
|
#include <linux/pci-aspm.h>
|
||||||
#include "pci.h"
|
#include "pci.h"
|
||||||
|
|
||||||
int isa_dma_bridge_buggy;
|
int isa_dma_bridge_buggy;
|
||||||
|
@ -1749,6 +1750,30 @@ static void __devinit quirk_e100_interrupt(struct pci_dev *dev)
|
||||||
}
|
}
|
||||||
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_ANY_ID, quirk_e100_interrupt);
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_ANY_ID, quirk_e100_interrupt);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The 82575 and 82598 may experience data corruption issues when transitioning
|
||||||
|
* out of L0S. To prevent this we need to disable L0S on the pci-e link
|
||||||
|
*/
|
||||||
|
static void __devinit quirk_disable_aspm_l0s(struct pci_dev *dev)
|
||||||
|
{
|
||||||
|
dev_info(&dev->dev, "Disabling L0s\n");
|
||||||
|
pci_disable_link_state(dev, PCIE_LINK_STATE_L0S);
|
||||||
|
}
|
||||||
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x10a7, quirk_disable_aspm_l0s);
|
||||||
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x10a9, quirk_disable_aspm_l0s);
|
||||||
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x10b6, quirk_disable_aspm_l0s);
|
||||||
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x10c6, quirk_disable_aspm_l0s);
|
||||||
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x10c7, quirk_disable_aspm_l0s);
|
||||||
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x10c8, quirk_disable_aspm_l0s);
|
||||||
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x10d6, quirk_disable_aspm_l0s);
|
||||||
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x10db, quirk_disable_aspm_l0s);
|
||||||
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x10dd, quirk_disable_aspm_l0s);
|
||||||
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x10e1, quirk_disable_aspm_l0s);
|
||||||
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x10ec, quirk_disable_aspm_l0s);
|
||||||
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x10f1, quirk_disable_aspm_l0s);
|
||||||
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x10f4, quirk_disable_aspm_l0s);
|
||||||
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x1508, quirk_disable_aspm_l0s);
|
||||||
|
|
||||||
static void __devinit fixup_rev1_53c810(struct pci_dev* dev)
|
static void __devinit fixup_rev1_53c810(struct pci_dev* dev)
|
||||||
{
|
{
|
||||||
/* rev 1 ncr53c810 chips don't set the class at all which means
|
/* rev 1 ncr53c810 chips don't set the class at all which means
|
||||||
|
@ -2097,7 +2122,7 @@ static void __devinit ht_disable_msi_mapping(struct pci_dev *dev)
|
||||||
|
|
||||||
if (pci_read_config_byte(dev, pos + HT_MSI_FLAGS,
|
if (pci_read_config_byte(dev, pos + HT_MSI_FLAGS,
|
||||||
&flags) == 0) {
|
&flags) == 0) {
|
||||||
dev_info(&dev->dev, "Enabling HT MSI Mapping\n");
|
dev_info(&dev->dev, "Disabling HT MSI Mapping\n");
|
||||||
|
|
||||||
pci_write_config_byte(dev, pos + HT_MSI_FLAGS,
|
pci_write_config_byte(dev, pos + HT_MSI_FLAGS,
|
||||||
flags & ~HT_MSI_FLAGS_ENABLE);
|
flags & ~HT_MSI_FLAGS_ENABLE);
|
||||||
|
@ -2141,6 +2166,10 @@ static void __devinit nv_msi_ht_cap_quirk(struct pci_dev *dev)
|
||||||
int pos;
|
int pos;
|
||||||
int found;
|
int found;
|
||||||
|
|
||||||
|
/* Enabling HT MSI mapping on this device breaks MCP51 */
|
||||||
|
if (dev->device == 0x270)
|
||||||
|
return;
|
||||||
|
|
||||||
/* check if there is HT MSI cap or enabled on this device */
|
/* check if there is HT MSI cap or enabled on this device */
|
||||||
found = ht_check_msi_mapping(dev);
|
found = ht_check_msi_mapping(dev);
|
||||||
|
|
||||||
|
|
|
@ -1297,7 +1297,7 @@ static int __init acer_wmi_init(void)
|
||||||
|
|
||||||
set_quirks();
|
set_quirks();
|
||||||
|
|
||||||
if (!acpi_video_backlight_support() && has_cap(ACER_CAP_BRIGHTNESS)) {
|
if (acpi_video_backlight_support() && has_cap(ACER_CAP_BRIGHTNESS)) {
|
||||||
interface->capability &= ~ACER_CAP_BRIGHTNESS;
|
interface->capability &= ~ACER_CAP_BRIGHTNESS;
|
||||||
printk(ACER_INFO "Brightness must be controlled by "
|
printk(ACER_INFO "Brightness must be controlled by "
|
||||||
"generic video driver\n");
|
"generic video driver\n");
|
||||||
|
|
|
@ -180,6 +180,9 @@ static int ds2760_battery_read_status(struct ds2760_device_info *di)
|
||||||
di->empty_uAh = battery_interpolate(scale, di->temp_C / 10);
|
di->empty_uAh = battery_interpolate(scale, di->temp_C / 10);
|
||||||
di->empty_uAh *= 1000; /* convert to µAh */
|
di->empty_uAh *= 1000; /* convert to µAh */
|
||||||
|
|
||||||
|
if (di->full_active_uAh == di->empty_uAh)
|
||||||
|
di->rem_capacity = 0;
|
||||||
|
else
|
||||||
/* From Maxim Application Note 131: remaining capacity =
|
/* From Maxim Application Note 131: remaining capacity =
|
||||||
* ((ICA - Empty Value) / (Full Value - Empty Value)) x 100% */
|
* ((ICA - Empty Value) / (Full Value - Empty Value)) x 100% */
|
||||||
di->rem_capacity = ((di->accum_current_uAh - di->empty_uAh) * 100L) /
|
di->rem_capacity = ((di->accum_current_uAh - di->empty_uAh) * 100L) /
|
||||||
|
|
|
@ -129,7 +129,7 @@ static int wait_for_pin(struct bbc_i2c_bus *bp, u8 *status)
|
||||||
bp->waiting = 1;
|
bp->waiting = 1;
|
||||||
add_wait_queue(&bp->wq, &wait);
|
add_wait_queue(&bp->wq, &wait);
|
||||||
while (limit-- > 0) {
|
while (limit-- > 0) {
|
||||||
unsigned long val;
|
long val;
|
||||||
|
|
||||||
val = wait_event_interruptible_timeout(
|
val = wait_event_interruptible_timeout(
|
||||||
bp->wq,
|
bp->wq,
|
||||||
|
|
|
@ -38,9 +38,6 @@
|
||||||
#include <linux/string.h>
|
#include <linux/string.h>
|
||||||
#include <linux/genhd.h>
|
#include <linux/genhd.h>
|
||||||
#include <linux/blkdev.h>
|
#include <linux/blkdev.h>
|
||||||
|
|
||||||
#define MAJOR_NR JSFD_MAJOR
|
|
||||||
|
|
||||||
#include <asm/uaccess.h>
|
#include <asm/uaccess.h>
|
||||||
#include <asm/pgtable.h>
|
#include <asm/pgtable.h>
|
||||||
#include <asm/io.h>
|
#include <asm/io.h>
|
||||||
|
|
|
@ -1853,13 +1853,14 @@ static void aty128_bl_exit(struct backlight_device *bd)
|
||||||
* Initialisation
|
* Initialisation
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef CONFIG_PPC_PMAC
|
#ifdef CONFIG_PPC_PMAC__disabled
|
||||||
static void aty128_early_resume(void *data)
|
static void aty128_early_resume(void *data)
|
||||||
{
|
{
|
||||||
struct aty128fb_par *par = data;
|
struct aty128fb_par *par = data;
|
||||||
|
|
||||||
if (try_acquire_console_sem())
|
if (try_acquire_console_sem())
|
||||||
return;
|
return;
|
||||||
|
pci_restore_state(par->pdev);
|
||||||
aty128_do_resume(par->pdev);
|
aty128_do_resume(par->pdev);
|
||||||
release_console_sem();
|
release_console_sem();
|
||||||
}
|
}
|
||||||
|
@ -1907,7 +1908,14 @@ static int __devinit aty128_init(struct pci_dev *pdev, const struct pci_device_i
|
||||||
/* Indicate sleep capability */
|
/* Indicate sleep capability */
|
||||||
if (par->chip_gen == rage_M3) {
|
if (par->chip_gen == rage_M3) {
|
||||||
pmac_call_feature(PMAC_FTR_DEVICE_CAN_WAKE, NULL, 0, 1);
|
pmac_call_feature(PMAC_FTR_DEVICE_CAN_WAKE, NULL, 0, 1);
|
||||||
|
#if 0 /* Disable the early video resume hack for now as it's causing problems, among
|
||||||
|
* others we now rely on the PCI core restoring the config space for us, which
|
||||||
|
* isn't the case with that hack, and that code path causes various things to
|
||||||
|
* be called with interrupts off while they shouldn't. I'm leaving the code in
|
||||||
|
* as it can be useful for debugging purposes
|
||||||
|
*/
|
||||||
pmac_set_early_video_resume(aty128_early_resume, par);
|
pmac_set_early_video_resume(aty128_early_resume, par);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Find default mode */
|
/* Find default mode */
|
||||||
|
|
|
@ -2762,12 +2762,13 @@ int radeonfb_pci_resume(struct pci_dev *pdev)
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_PPC_OF
|
#ifdef CONFIG_PPC_OF__disabled
|
||||||
static void radeonfb_early_resume(void *data)
|
static void radeonfb_early_resume(void *data)
|
||||||
{
|
{
|
||||||
struct radeonfb_info *rinfo = data;
|
struct radeonfb_info *rinfo = data;
|
||||||
|
|
||||||
rinfo->no_schedule = 1;
|
rinfo->no_schedule = 1;
|
||||||
|
pci_restore_state(rinfo->pdev);
|
||||||
radeonfb_pci_resume(rinfo->pdev);
|
radeonfb_pci_resume(rinfo->pdev);
|
||||||
rinfo->no_schedule = 0;
|
rinfo->no_schedule = 0;
|
||||||
}
|
}
|
||||||
|
@ -2834,7 +2835,14 @@ void radeonfb_pm_init(struct radeonfb_info *rinfo, int dynclk, int ignore_devlis
|
||||||
*/
|
*/
|
||||||
if (rinfo->pm_mode != radeon_pm_none) {
|
if (rinfo->pm_mode != radeon_pm_none) {
|
||||||
pmac_call_feature(PMAC_FTR_DEVICE_CAN_WAKE, rinfo->of_node, 0, 1);
|
pmac_call_feature(PMAC_FTR_DEVICE_CAN_WAKE, rinfo->of_node, 0, 1);
|
||||||
|
#if 0 /* Disable the early video resume hack for now as it's causing problems, among
|
||||||
|
* others we now rely on the PCI core restoring the config space for us, which
|
||||||
|
* isn't the case with that hack, and that code path causes various things to
|
||||||
|
* be called with interrupts off while they shouldn't. I'm leaving the code in
|
||||||
|
* as it can be useful for debugging purposes
|
||||||
|
*/
|
||||||
pmac_set_early_video_resume(radeonfb_early_resume, rinfo);
|
pmac_set_early_video_resume(radeonfb_early_resume, rinfo);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
|
|
|
@ -993,6 +993,7 @@ static int i810_check_params(struct fb_var_screeninfo *var,
|
||||||
struct i810fb_par *par = info->par;
|
struct i810fb_par *par = info->par;
|
||||||
int line_length, vidmem, mode_valid = 0, retval = 0;
|
int line_length, vidmem, mode_valid = 0, retval = 0;
|
||||||
u32 vyres = var->yres_virtual, vxres = var->xres_virtual;
|
u32 vyres = var->yres_virtual, vxres = var->xres_virtual;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Memory limit
|
* Memory limit
|
||||||
*/
|
*/
|
||||||
|
@ -1002,12 +1003,12 @@ static int i810_check_params(struct fb_var_screeninfo *var,
|
||||||
if (vidmem > par->fb.size) {
|
if (vidmem > par->fb.size) {
|
||||||
vyres = par->fb.size/line_length;
|
vyres = par->fb.size/line_length;
|
||||||
if (vyres < var->yres) {
|
if (vyres < var->yres) {
|
||||||
vyres = yres;
|
vyres = info->var.yres;
|
||||||
vxres = par->fb.size/vyres;
|
vxres = par->fb.size/vyres;
|
||||||
vxres /= var->bits_per_pixel >> 3;
|
vxres /= var->bits_per_pixel >> 3;
|
||||||
line_length = get_line_length(par, vxres,
|
line_length = get_line_length(par, vxres,
|
||||||
var->bits_per_pixel);
|
var->bits_per_pixel);
|
||||||
vidmem = line_length * yres;
|
vidmem = line_length * info->var.yres;
|
||||||
if (vxres < var->xres) {
|
if (vxres < var->xres) {
|
||||||
printk("i810fb: required video memory, "
|
printk("i810fb: required video memory, "
|
||||||
"%d bytes, for %dx%d-%d (virtual) "
|
"%d bytes, for %dx%d-%d (virtual) "
|
||||||
|
|
|
@ -446,7 +446,6 @@ static void sh_mobile_lcdc_stop(struct sh_mobile_lcdc_priv *priv)
|
||||||
{
|
{
|
||||||
struct sh_mobile_lcdc_chan *ch;
|
struct sh_mobile_lcdc_chan *ch;
|
||||||
struct sh_mobile_lcdc_board_cfg *board_cfg;
|
struct sh_mobile_lcdc_board_cfg *board_cfg;
|
||||||
unsigned long tmp;
|
|
||||||
int k;
|
int k;
|
||||||
|
|
||||||
/* tell the board code to disable the panel */
|
/* tell the board code to disable the panel */
|
||||||
|
@ -456,9 +455,8 @@ static void sh_mobile_lcdc_stop(struct sh_mobile_lcdc_priv *priv)
|
||||||
if (board_cfg->display_off)
|
if (board_cfg->display_off)
|
||||||
board_cfg->display_off(board_cfg->board_data);
|
board_cfg->display_off(board_cfg->board_data);
|
||||||
|
|
||||||
/* cleanup deferred io if SYS bus */
|
/* cleanup deferred io if enabled */
|
||||||
tmp = ch->cfg.sys_bus_cfg.deferred_io_msec;
|
if (ch->info.fbdefio) {
|
||||||
if (ch->ldmt1r_value & (1 << 12) && tmp) {
|
|
||||||
fb_deferred_io_cleanup(&ch->info);
|
fb_deferred_io_cleanup(&ch->info);
|
||||||
ch->info.fbdefio = NULL;
|
ch->info.fbdefio = NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,7 +39,7 @@ static u8 w1_gpio_read_bit(void *data)
|
||||||
{
|
{
|
||||||
struct w1_gpio_platform_data *pdata = data;
|
struct w1_gpio_platform_data *pdata = data;
|
||||||
|
|
||||||
return gpio_get_value(pdata->pin);
|
return gpio_get_value(pdata->pin) ? 1 : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __init w1_gpio_probe(struct platform_device *pdev)
|
static int __init w1_gpio_probe(struct platform_device *pdev)
|
||||||
|
|
|
@ -277,7 +277,7 @@ static noinline int __btrfs_cow_block(struct btrfs_trans_handle *trans,
|
||||||
if (*cow_ret == buf)
|
if (*cow_ret == buf)
|
||||||
unlock_orig = 1;
|
unlock_orig = 1;
|
||||||
|
|
||||||
WARN_ON(!btrfs_tree_locked(buf));
|
btrfs_assert_tree_locked(buf);
|
||||||
|
|
||||||
if (parent)
|
if (parent)
|
||||||
parent_start = parent->start;
|
parent_start = parent->start;
|
||||||
|
@ -2365,7 +2365,7 @@ static int push_leaf_right(struct btrfs_trans_handle *trans, struct btrfs_root
|
||||||
if (slot >= btrfs_header_nritems(upper) - 1)
|
if (slot >= btrfs_header_nritems(upper) - 1)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
WARN_ON(!btrfs_tree_locked(path->nodes[1]));
|
btrfs_assert_tree_locked(path->nodes[1]);
|
||||||
|
|
||||||
right = read_node_slot(root, upper, slot + 1);
|
right = read_node_slot(root, upper, slot + 1);
|
||||||
btrfs_tree_lock(right);
|
btrfs_tree_lock(right);
|
||||||
|
@ -2562,7 +2562,7 @@ static int push_leaf_left(struct btrfs_trans_handle *trans, struct btrfs_root
|
||||||
if (right_nritems == 0)
|
if (right_nritems == 0)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
WARN_ON(!btrfs_tree_locked(path->nodes[1]));
|
btrfs_assert_tree_locked(path->nodes[1]);
|
||||||
|
|
||||||
left = read_node_slot(root, path->nodes[1], slot - 1);
|
left = read_node_slot(root, path->nodes[1], slot - 1);
|
||||||
btrfs_tree_lock(left);
|
btrfs_tree_lock(left);
|
||||||
|
@ -4101,7 +4101,7 @@ int btrfs_next_leaf(struct btrfs_root *root, struct btrfs_path *path)
|
||||||
|
|
||||||
next = read_node_slot(root, c, slot);
|
next = read_node_slot(root, c, slot);
|
||||||
if (!path->skip_locking) {
|
if (!path->skip_locking) {
|
||||||
WARN_ON(!btrfs_tree_locked(c));
|
btrfs_assert_tree_locked(c);
|
||||||
btrfs_tree_lock(next);
|
btrfs_tree_lock(next);
|
||||||
btrfs_set_lock_blocking(next);
|
btrfs_set_lock_blocking(next);
|
||||||
}
|
}
|
||||||
|
@ -4126,7 +4126,7 @@ int btrfs_next_leaf(struct btrfs_root *root, struct btrfs_path *path)
|
||||||
reada_for_search(root, path, level, slot, 0);
|
reada_for_search(root, path, level, slot, 0);
|
||||||
next = read_node_slot(root, next, 0);
|
next = read_node_slot(root, next, 0);
|
||||||
if (!path->skip_locking) {
|
if (!path->skip_locking) {
|
||||||
WARN_ON(!btrfs_tree_locked(path->nodes[level]));
|
btrfs_assert_tree_locked(path->nodes[level]);
|
||||||
btrfs_tree_lock(next);
|
btrfs_tree_lock(next);
|
||||||
btrfs_set_lock_blocking(next);
|
btrfs_set_lock_blocking(next);
|
||||||
}
|
}
|
||||||
|
|
|
@ -857,7 +857,7 @@ int clean_tree_block(struct btrfs_trans_handle *trans, struct btrfs_root *root,
|
||||||
struct inode *btree_inode = root->fs_info->btree_inode;
|
struct inode *btree_inode = root->fs_info->btree_inode;
|
||||||
if (btrfs_header_generation(buf) ==
|
if (btrfs_header_generation(buf) ==
|
||||||
root->fs_info->running_transaction->transid) {
|
root->fs_info->running_transaction->transid) {
|
||||||
WARN_ON(!btrfs_tree_locked(buf));
|
btrfs_assert_tree_locked(buf);
|
||||||
|
|
||||||
/* ugh, clear_extent_buffer_dirty can be expensive */
|
/* ugh, clear_extent_buffer_dirty can be expensive */
|
||||||
btrfs_set_lock_blocking(buf);
|
btrfs_set_lock_blocking(buf);
|
||||||
|
@ -2361,7 +2361,7 @@ void btrfs_mark_buffer_dirty(struct extent_buffer *buf)
|
||||||
|
|
||||||
btrfs_set_lock_blocking(buf);
|
btrfs_set_lock_blocking(buf);
|
||||||
|
|
||||||
WARN_ON(!btrfs_tree_locked(buf));
|
btrfs_assert_tree_locked(buf);
|
||||||
if (transid != root->fs_info->generation) {
|
if (transid != root->fs_info->generation) {
|
||||||
printk(KERN_CRIT "btrfs transid mismatch buffer %llu, "
|
printk(KERN_CRIT "btrfs transid mismatch buffer %llu, "
|
||||||
"found %llu running %llu\n",
|
"found %llu running %llu\n",
|
||||||
|
|
|
@ -4418,13 +4418,13 @@ int btrfs_drop_subtree(struct btrfs_trans_handle *trans,
|
||||||
path = btrfs_alloc_path();
|
path = btrfs_alloc_path();
|
||||||
BUG_ON(!path);
|
BUG_ON(!path);
|
||||||
|
|
||||||
BUG_ON(!btrfs_tree_locked(parent));
|
btrfs_assert_tree_locked(parent);
|
||||||
parent_level = btrfs_header_level(parent);
|
parent_level = btrfs_header_level(parent);
|
||||||
extent_buffer_get(parent);
|
extent_buffer_get(parent);
|
||||||
path->nodes[parent_level] = parent;
|
path->nodes[parent_level] = parent;
|
||||||
path->slots[parent_level] = btrfs_header_nritems(parent);
|
path->slots[parent_level] = btrfs_header_nritems(parent);
|
||||||
|
|
||||||
BUG_ON(!btrfs_tree_locked(node));
|
btrfs_assert_tree_locked(node);
|
||||||
level = btrfs_header_level(node);
|
level = btrfs_header_level(node);
|
||||||
extent_buffer_get(node);
|
extent_buffer_get(node);
|
||||||
path->nodes[level] = node;
|
path->nodes[level] = node;
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue