Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 75659
b: refs/heads/master
c: 4784b11
h: refs/heads/master
i:
  75657: a337f10
  75655: 205a4a9
v: v3
  • Loading branch information
Linus Torvalds committed Jan 24, 2008
1 parent d4e442e commit 9e30461
Show file tree
Hide file tree
Showing 30 changed files with 129 additions and 75 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 872e2be7c4056496c2871bd9b0f2fae6c374fe47
refs/heads/master: 4784b11c4f49eb88f2dd74df6afc5170f193cedc
4 changes: 2 additions & 2 deletions trunk/Documentation/networking/wavelan.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ and many Linux driver to support it.
"wavelan" driver (old ISA Wavelan)
----------------
o Config : Network device -> Wireless LAN -> AT&T WaveLAN
o Location : .../drivers/net/wavelan*
o in-line doc : .../drivers/net/wavelan.p.h
o Location : .../drivers/net/wireless/wavelan*
o in-line doc : .../drivers/net/wireless/wavelan.p.h
o on-line doc :
http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Wavelan.html

Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/powerpc/boot/flatdevtree_env.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
* This file adds the header file glue so that the shared files
* flatdevicetree.[ch] can compile and work in the powerpc bootwrapper.
*
* strncmp & strchr copied from <file:lib/strings.c>
* strncmp & strchr copied from <file:lib/string.c>
* Copyright (C) 1991, 1992 Linus Torvalds
*
* Maintained by: Mark A. Greer <mgreer@mvista.com>
Expand Down
12 changes: 2 additions & 10 deletions trunk/arch/x86/kernel/io_apic_32.c
Original file line number Diff line number Diff line change
Expand Up @@ -2169,14 +2169,10 @@ static inline void __init check_timer(void)
{
int apic1, pin1, apic2, pin2;
int vector;
unsigned int ver;
unsigned long flags;

local_irq_save(flags);

ver = apic_read(APIC_LVR);
ver = GET_APIC_VERSION(ver);

/*
* get/set the timer IRQ vector:
*/
Expand All @@ -2189,15 +2185,11 @@ static inline void __init check_timer(void)
* mode for the 8259A whenever interrupts are routed
* through I/O APICs. Also IRQ0 has to be enabled in
* the 8259A which implies the virtual wire has to be
* disabled in the local APIC. Finally timer interrupts
* need to be acknowledged manually in the 8259A for
* timer_interrupt() and for the i82489DX when using
* the NMI watchdog.
* disabled in the local APIC.
*/
apic_write_around(APIC_LVT0, APIC_LVT_MASKED | APIC_DM_EXTINT);
init_8259A(1);
timer_ack = !cpu_has_tsc;
timer_ack |= (nmi_watchdog == NMI_IO_APIC && !APIC_INTEGRATED(ver));
timer_ack = 1;
if (timer_over_8254 > 0)
enable_8259A_irq(0);

Expand Down
15 changes: 8 additions & 7 deletions trunk/arch/x86/kernel/mfgpt_32.c
Original file line number Diff line number Diff line change
Expand Up @@ -278,12 +278,12 @@ static int mfgpt_next_event(unsigned long delta, struct clock_event_device *evt)

static irqreturn_t mfgpt_tick(int irq, void *dev_id)
{
/* Turn off the clock (and clear the event) */
mfgpt_disable_timer(mfgpt_event_clock);

if (mfgpt_tick_mode == CLOCK_EVT_MODE_SHUTDOWN)
return IRQ_HANDLED;

/* Turn off the clock */
mfgpt_disable_timer(mfgpt_event_clock);

/* Clear the counter */
geode_mfgpt_write(mfgpt_event_clock, MFGPT_REG_COUNTER, 0);

Expand Down Expand Up @@ -319,10 +319,6 @@ static int __init mfgpt_timer_setup(void)
}

mfgpt_event_clock = timer;
/* Set the clock scale and enable the event mode for CMP2 */
val = MFGPT_SCALE | (3 << 8);

geode_mfgpt_write(mfgpt_event_clock, MFGPT_REG_SETUP, val);

/* Set up the IRQ on the MFGPT side */
if (geode_mfgpt_setup_irq(mfgpt_event_clock, MFGPT_CMP2, irq)) {
Expand All @@ -339,6 +335,11 @@ static int __init mfgpt_timer_setup(void)
goto err;
}

/* Set the clock scale and enable the event mode for CMP2 */
val = MFGPT_SCALE | (3 << 8);

geode_mfgpt_write(mfgpt_event_clock, MFGPT_REG_SETUP, val);

/* Set up the clock event */
mfgpt_clockevent.mult = div_sc(MFGPT_HZ, NSEC_PER_SEC, 32);
mfgpt_clockevent.min_delta_ns = clockevent_delta2ns(0xF,
Expand Down
9 changes: 2 additions & 7 deletions trunk/arch/x86/kernel/nmi_32.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@

#include <asm/smp.h>
#include <asm/nmi.h>
#include <asm/timer.h>

#include "mach_traps.h"

Expand Down Expand Up @@ -84,7 +83,7 @@ static int __init check_nmi_watchdog(void)

prev_nmi_count = kmalloc(NR_CPUS * sizeof(int), GFP_KERNEL);
if (!prev_nmi_count)
goto error;
return -1;

printk(KERN_INFO "Testing NMI watchdog ... ");

Expand Down Expand Up @@ -119,7 +118,7 @@ static int __init check_nmi_watchdog(void)
if (!atomic_read(&nmi_active)) {
kfree(prev_nmi_count);
atomic_set(&nmi_active, -1);
goto error;
return -1;
}
printk("OK.\n");

Expand All @@ -130,10 +129,6 @@ static int __init check_nmi_watchdog(void)

kfree(prev_nmi_count);
return 0;
error:
timer_ack = !cpu_has_tsc;

return -1;
}
/* This needs to happen later in boot so counters are working */
late_initcall(check_nmi_watchdog);
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/x86/xen/enlighten.c
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ struct shared_info *HYPERVISOR_shared_info = (void *)&dummy_shared_info;
*
* 0: not available, 1: available
*/
static int have_vcpu_info_placement = 1;
static int have_vcpu_info_placement = 0;

static void __init xen_vcpu_setup(int cpu)
{
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/char/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ config CYCLADES
your Linux box, for instance in order to become a dial-in server.

For information about the Cyclades-Z card, read
<file:drivers/char/README.cycladesZ>.
<file:Documentation/README.cycladesZ>.

To compile this driver as a module, choose M here: the
module will be called cyclades.
Expand Down
11 changes: 9 additions & 2 deletions trunk/drivers/char/agp/intel-agp.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
#include <linux/agp_backend.h>
#include "agp.h"

#define PCI_DEVICE_ID_INTEL_E7221_HB 0x2588
#define PCI_DEVICE_ID_INTEL_E7221_IG 0x258a
#define PCI_DEVICE_ID_INTEL_82946GZ_HB 0x2970
#define PCI_DEVICE_ID_INTEL_82946GZ_IG 0x2972
#define PCI_DEVICE_ID_INTEL_82965G_1_HB 0x2980
Expand Down Expand Up @@ -526,7 +528,8 @@ static void intel_i830_init_gtt_entries(void)
break;
case I915_GMCH_GMS_STOLEN_48M:
/* Check it's really I915G */
if (agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82915G_HB ||
if (agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_E7221_HB ||
agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82915G_HB ||
agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82915GM_HB ||
agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82945G_HB ||
agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82945GM_HB ||
Expand All @@ -538,7 +541,8 @@ static void intel_i830_init_gtt_entries(void)
break;
case I915_GMCH_GMS_STOLEN_64M:
/* Check it's really I915G */
if (agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82915G_HB ||
if (agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_E7221_HB ||
agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82915G_HB ||
agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82915GM_HB ||
agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82945G_HB ||
agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82945GM_HB ||
Expand Down Expand Up @@ -1854,6 +1858,8 @@ static const struct intel_driver_description {
{ PCI_DEVICE_ID_INTEL_82865_HB, PCI_DEVICE_ID_INTEL_82865_IG, 0, "865",
&intel_845_driver, &intel_830_driver },
{ PCI_DEVICE_ID_INTEL_82875_HB, 0, 0, "i875", &intel_845_driver, NULL },
{ PCI_DEVICE_ID_INTEL_E7221_HB, PCI_DEVICE_ID_INTEL_E7221_IG, 0, "E7221 (i915)",
NULL, &intel_915_driver },
{ PCI_DEVICE_ID_INTEL_82915G_HB, PCI_DEVICE_ID_INTEL_82915G_IG, 0, "915G",
NULL, &intel_915_driver },
{ PCI_DEVICE_ID_INTEL_82915GM_HB, PCI_DEVICE_ID_INTEL_82915GM_IG, 0, "915GM",
Expand Down Expand Up @@ -2059,6 +2065,7 @@ static struct pci_device_id agp_intel_pci_table[] = {
ID(PCI_DEVICE_ID_INTEL_82875_HB),
ID(PCI_DEVICE_ID_INTEL_7505_0),
ID(PCI_DEVICE_ID_INTEL_7205_0),
ID(PCI_DEVICE_ID_INTEL_E7221_HB),
ID(PCI_DEVICE_ID_INTEL_82915G_HB),
ID(PCI_DEVICE_ID_INTEL_82915GM_HB),
ID(PCI_DEVICE_ID_INTEL_82945G_HB),
Expand Down
1 change: 1 addition & 0 deletions trunk/drivers/char/drm/drm_pciids.h
Original file line number Diff line number Diff line change
Expand Up @@ -297,6 +297,7 @@
{0x8086, 0x3582, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \
{0x8086, 0x2572, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \
{0x8086, 0x2582, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \
{0x8086, 0x258a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \
{0x8086, 0x2592, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \
{0x8086, 0x2772, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \
{0x8086, 0x27a2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \
Expand Down
32 changes: 23 additions & 9 deletions trunk/drivers/hwmon/it87.c
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,14 @@
it87.c - Part of lm_sensors, Linux kernel modules for hardware
monitoring.
The IT8705F is an LPC-based Super I/O part that contains UARTs, a
parallel port, an IR port, a MIDI port, a floppy controller, etc., in
addition to an Environment Controller (Enhanced Hardware Monitor and
Fan Controller)
This driver supports only the Environment Controller in the IT8705F and
similar parts. The other devices are supported by different drivers.
Supports: IT8705F Super I/O chip w/LPC interface
IT8712F Super I/O chip w/LPC interface
IT8716F Super I/O chip w/LPC interface
Expand Down Expand Up @@ -118,9 +126,15 @@ static int fix_pwm_polarity;
/* Length of ISA address segment */
#define IT87_EXTENT 8

/* Where are the ISA address/data registers relative to the base address */
#define IT87_ADDR_REG_OFFSET 5
#define IT87_DATA_REG_OFFSET 6
/* Length of ISA address segment for Environmental Controller */
#define IT87_EC_EXTENT 2

/* Offset of EC registers from ISA base address */
#define IT87_EC_OFFSET 5

/* Where are the ISA address/data registers relative to the EC base address */
#define IT87_ADDR_REG_OFFSET 0
#define IT87_DATA_REG_OFFSET 1

/*----- The IT87 registers -----*/

Expand Down Expand Up @@ -968,10 +982,10 @@ static int __devinit it87_probe(struct platform_device *pdev)
};

res = platform_get_resource(pdev, IORESOURCE_IO, 0);
if (!request_region(res->start, IT87_EXTENT, DRVNAME)) {
if (!request_region(res->start, IT87_EC_EXTENT, DRVNAME)) {
dev_err(dev, "Failed to request region 0x%lx-0x%lx\n",
(unsigned long)res->start,
(unsigned long)(res->start + IT87_EXTENT - 1));
(unsigned long)(res->start + IT87_EC_EXTENT - 1));
err = -EBUSY;
goto ERROR0;
}
Expand Down Expand Up @@ -1124,7 +1138,7 @@ static int __devinit it87_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, NULL);
kfree(data);
ERROR1:
release_region(res->start, IT87_EXTENT);
release_region(res->start, IT87_EC_EXTENT);
ERROR0:
return err;
}
Expand All @@ -1137,7 +1151,7 @@ static int __devexit it87_remove(struct platform_device *pdev)
sysfs_remove_group(&pdev->dev.kobj, &it87_group);
sysfs_remove_group(&pdev->dev.kobj, &it87_group_opt);

release_region(data->addr, IT87_EXTENT);
release_region(data->addr, IT87_EC_EXTENT);
platform_set_drvdata(pdev, NULL);
kfree(data);

Expand Down Expand Up @@ -1402,8 +1416,8 @@ static int __init it87_device_add(unsigned short address,
const struct it87_sio_data *sio_data)
{
struct resource res = {
.start = address ,
.end = address + IT87_EXTENT - 1,
.start = address + IT87_EC_OFFSET,
.end = address + IT87_EC_OFFSET + IT87_EC_EXTENT - 1,
.name = DRVNAME,
.flags = IORESOURCE_IO,
};
Expand Down
3 changes: 0 additions & 3 deletions trunk/drivers/net/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -2465,9 +2465,6 @@ config IXGBE

<http://support.intel.com>

More specific information on configuring the driver is in
<file:Documentation/networking/ixgbe.txt>.

To compile this driver as a module, choose M here. The module
will be called ixgbe.

Expand Down
21 changes: 10 additions & 11 deletions trunk/drivers/net/sis190.c
Original file line number Diff line number Diff line change
Expand Up @@ -372,7 +372,7 @@ static void __mdio_cmd(void __iomem *ioaddr, u32 ctl)
msleep(1);
}

if (i > 999)
if (i > 99)
printk(KERN_ERR PFX "PHY command failed !\n");
}

Expand Down Expand Up @@ -847,10 +847,8 @@ static void sis190_soft_reset(void __iomem *ioaddr)
{
SIS_W32(IntrControl, 0x8000);
SIS_PCI_COMMIT();
msleep(1);
SIS_W32(IntrControl, 0x0);
sis190_asic_down(ioaddr);
msleep(1);
}

static void sis190_hw_start(struct net_device *dev)
Expand Down Expand Up @@ -1041,8 +1039,6 @@ static int sis190_open(struct net_device *dev)
if (rc < 0)
goto err_free_rx_1;

INIT_WORK(&tp->phy_task, sis190_phy_task);

sis190_request_timer(dev);

rc = request_irq(dev->irq, sis190_interrupt, IRQF_SHARED, dev->name, dev);
Expand Down Expand Up @@ -1549,28 +1545,31 @@ static int __devinit sis190_get_mac_addr_from_eeprom(struct pci_dev *pdev,
}

/**
* sis190_get_mac_addr_from_apc - Get MAC address for SiS965 model
* sis190_get_mac_addr_from_apc - Get MAC address for SiS96x model
* @pdev: PCI device
* @dev: network device to get address for
*
* SiS965 model, use APC CMOS RAM to store MAC address.
* SiS96x model, use APC CMOS RAM to store MAC address.
* APC CMOS RAM is accessed through ISA bridge.
* MAC address is read into @net_dev->dev_addr.
*/
static int __devinit sis190_get_mac_addr_from_apc(struct pci_dev *pdev,
struct net_device *dev)
{
static const u16 __devinitdata ids[] = { 0x0965, 0x0966, 0x0968 };
struct sis190_private *tp = netdev_priv(dev);
struct pci_dev *isa_bridge;
u8 reg, tmp8;
int i;
unsigned int i;

net_probe(tp, KERN_INFO "%s: Read MAC address from APC.\n",
pci_name(pdev));

isa_bridge = pci_get_device(PCI_VENDOR_ID_SI, 0x0965, NULL);
if (!isa_bridge)
isa_bridge = pci_get_device(PCI_VENDOR_ID_SI, 0x0966, NULL);
for (i = 0; i < ARRAY_SIZE(ids); i++) {
isa_bridge = pci_get_device(PCI_VENDOR_ID_SI, ids[i], NULL);
if (isa_bridge)
break;
}

if (!isa_bridge) {
net_probe(tp, KERN_INFO "%s: Can not find ISA bridge.\n",
Expand Down
6 changes: 3 additions & 3 deletions trunk/drivers/net/tulip/dmfe.c
Original file line number Diff line number Diff line change
Expand Up @@ -1909,7 +1909,7 @@ static void dmfe_parse_srom(struct dmfe_board_info * db)
if ( ( (int) srom[18] & 0xff) == SROM_V41_CODE) {
/* SROM V4.01 */
/* Get NIC support media mode */
db->NIC_capability = le16_to_cpup((__le16 *)srom + 34/2);
db->NIC_capability = le16_to_cpup((__le16 *) (srom + 34));
db->PHY_reg4 = 0;
for (tmp_reg = 1; tmp_reg < 0x10; tmp_reg <<= 1) {
switch( db->NIC_capability & tmp_reg ) {
Expand All @@ -1921,8 +1921,8 @@ static void dmfe_parse_srom(struct dmfe_board_info * db)
}

/* Media Mode Force or not check */
dmfe_mode = le32_to_cpup((__le32 *)srom + 34/4) &
le32_to_cpup((__le32 *)srom + 36/4);
dmfe_mode = (le32_to_cpup((__le32 *) (srom + 34)) &
le32_to_cpup((__le32 *) (srom + 36)));
switch(dmfe_mode) {
case 0x4: dmfe_media_mode = DMFE_100MHF; break; /* 100MHF */
case 0x2: dmfe_media_mode = DMFE_10MFD; break; /* 10MFD */
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/net/wireless/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ config WAVELAN
<http://www.tldp.org/docs.html#howto>. Some more specific
information is contained in
<file:Documentation/networking/wavelan.txt> and in the source code
<file:drivers/net/wavelan.p.h>.
<file:drivers/net/wireless/wavelan.p.h>.

You will also need the wireless tools package available from
<http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.
Expand Down
5 changes: 5 additions & 0 deletions trunk/drivers/net/wireless/iwlwifi/iwl3945-base.c
Original file line number Diff line number Diff line change
Expand Up @@ -6342,6 +6342,11 @@ static int __iwl_up(struct iwl_priv *priv)
return 0;
}

if (!priv->ucode_data_backup.v_addr || !priv->ucode_data.v_addr) {
IWL_ERROR("ucode not available for device bringup\n");
return -EIO;
}

iwl_write32(priv, CSR_INT, 0xFFFFFFFF);

rc = iwl_hw_nic_init(priv);
Expand Down
Loading

0 comments on commit 9e30461

Please sign in to comment.