Skip to content

Commit

Permalink
Merge branch 'suspend' of git://git.kernel.org/pub/scm/linux/kernel/g…
Browse files Browse the repository at this point in the history
…it/lenb/linux-acpi-2.6 into linux-next
  • Loading branch information
Jesse Barnes authored and Jesse Barnes committed Jun 12, 2008
2 parents 8344b56 + 0e6859d commit 53eb2fb
Show file tree
Hide file tree
Showing 34 changed files with 80 additions and 101 deletions.
7 changes: 0 additions & 7 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -3658,13 +3658,6 @@ M: romieu@fr.zoreil.com
L: netdev@vger.kernel.org
S: Maintained

SIS 5513 IDE CONTROLLER DRIVER
P: Lionel Bouton
M: Lionel.Bouton@inet6.fr
W: http://inet6.dyn.dhs.org/sponsoring/sis5513/index.html
W: http://gyver.homeip.net/sis5513/index.html
S: Maintained

SIS 900/7016 FAST ETHERNET DRIVER
P: Daniele Venzano
M: venza@brownhat.org
Expand Down
1 change: 1 addition & 0 deletions arch/s390/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -304,6 +304,7 @@ config ARCH_SPARSEMEM_ENABLE
def_bool y
select SPARSEMEM_VMEMMAP_ENABLE
select SPARSEMEM_VMEMMAP
select SPARSEMEM_STATIC if !64BIT

config ARCH_SPARSEMEM_DEFAULT
def_bool y
Expand Down
2 changes: 1 addition & 1 deletion arch/s390/kernel/smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -711,7 +711,7 @@ int __cpuinit __cpu_up(unsigned int cpu)
memset(sf, 0, sizeof(struct stack_frame));
sf->gprs[9] = (unsigned long) sf;
cpu_lowcore->save_area[15] = (unsigned long) sf;
__ctl_store(cpu_lowcore->cregs_save_area[0], 0, 15);
__ctl_store(cpu_lowcore->cregs_save_area, 0, 15);
asm volatile(
" stam 0,15,0(%0)"
: : "a" (&cpu_lowcore->access_regs_save_area) : "memory");
Expand Down
2 changes: 1 addition & 1 deletion arch/s390/mm/vmem.c
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,7 @@ static int insert_memory_segment(struct memory_segment *seg)
{
struct memory_segment *tmp;

if (seg->start + seg->size >= VMEM_MAX_PHYS ||
if (seg->start + seg->size > VMEM_MAX_PHYS ||
seg->start + seg->size < seg->start)
return -ERANGE;

Expand Down
39 changes: 4 additions & 35 deletions drivers/acpi/sleep/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,6 @@ static u32 acpi_suspend_states[] = {
[PM_SUSPEND_MAX] = ACPI_STATE_S5
};

static int init_8259A_after_S1;

/**
* acpi_suspend_begin - Set the target system sleep state to the state
* associated with given @pm_state, if supported.
Expand Down Expand Up @@ -186,13 +184,6 @@ static void acpi_suspend_finish(void)
acpi_set_firmware_waking_vector((acpi_physical_address) 0);

acpi_target_sleep_state = ACPI_STATE_S0;

#ifdef CONFIG_X86
if (init_8259A_after_S1) {
printk("Broken toshiba laptop -> kicking interrupts\n");
init_8259A(0);
}
#endif
}

/**
Expand Down Expand Up @@ -232,26 +223,6 @@ static struct platform_suspend_ops acpi_suspend_ops = {
.finish = acpi_suspend_finish,
.end = acpi_suspend_end,
};

/*
* Toshiba fails to preserve interrupts over S1, reinitialization
* of 8259 is needed after S1 resume.
*/
static int __init init_ints_after_s1(const struct dmi_system_id *d)
{
printk(KERN_WARNING "%s with broken S1 detected.\n", d->ident);
init_8259A_after_S1 = 1;
return 0;
}

static struct dmi_system_id __initdata acpisleep_dmi_table[] = {
{
.callback = init_ints_after_s1,
.ident = "Toshiba Satellite 4030cdt",
.matches = {DMI_MATCH(DMI_PRODUCT_NAME, "S4030CDT/4.3"),},
},
{},
};
#endif /* CONFIG_SUSPEND */

#ifdef CONFIG_HIBERNATION
Expand Down Expand Up @@ -369,8 +340,8 @@ int acpi_suspend(u32 acpi_state)
/**
* acpi_pm_device_sleep_state - return preferred power state of ACPI device
* in the system sleep state given by %acpi_target_sleep_state
* @dev: device to examine
* @wake: if set, the device should be able to wake up the system
* @dev: device to examine; its driver model wakeup flags control
* whether it should be able to wake up the system
* @d_min_p: used to store the upper limit of allowed states range
* Return value: preferred power state of the device on success, -ENODEV on
* failure (ie. if there's no 'struct acpi_device' for @dev)
Expand All @@ -388,7 +359,7 @@ int acpi_suspend(u32 acpi_state)
* via @wake.
*/

int acpi_pm_device_sleep_state(struct device *dev, int wake, int *d_min_p)
int acpi_pm_device_sleep_state(struct device *dev, int *d_min_p)
{
acpi_handle handle = DEVICE_ACPI_HANDLE(dev);
struct acpi_device *adev;
Expand Down Expand Up @@ -427,7 +398,7 @@ int acpi_pm_device_sleep_state(struct device *dev, int wake, int *d_min_p)
* can wake the system. _S0W may be valid, too.
*/
if (acpi_target_sleep_state == ACPI_STATE_S0 ||
(wake && adev->wakeup.state.enabled &&
(device_may_wakeup(dev) && adev->wakeup.state.enabled &&
adev->wakeup.sleep_state <= acpi_target_sleep_state)) {
acpi_status status;

Expand Down Expand Up @@ -473,8 +444,6 @@ int __init acpi_sleep_init(void)
u8 type_a, type_b;
#ifdef CONFIG_SUSPEND
int i = 0;

dmi_check_system(acpisleep_dmi_table);
#endif

if (acpi_disabled)
Expand Down
1 change: 1 addition & 0 deletions drivers/ide/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1028,6 +1028,7 @@ endif

config BLK_DEV_HD_ONLY
bool "Old hard disk (MFM/RLL/IDE) driver"
depends on !ARM || ARCH_RPC || ARCH_SHARK || BROKEN
help
There are two drivers for MFM/RLL/IDE hard disks. Most people use
the newer enhanced driver, but this old one is still around for two
Expand Down
1 change: 1 addition & 0 deletions drivers/ide/arm/bast-ide.c
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ static int __init bastide_register(unsigned int base, unsigned int aux, int irq)

hw.io_ports.ctl_addr = aux + (6 * 0x20);
hw.irq = irq;
hw.chipset = ide_generic;

hwif = ide_find_port();
if (hwif == NULL)
Expand Down
1 change: 1 addition & 0 deletions drivers/ide/arm/ide_arm.c
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ static int __init ide_arm_init(void)
memset(&hw, 0, sizeof(hw));
ide_std_init_ports(&hw, base, ctl);
hw.irq = IDE_ARM_IRQ;
hw.chipset = ide_generic;

hwif = ide_find_port();
if (hwif) {
Expand Down
3 changes: 0 additions & 3 deletions drivers/ide/arm/palm_bk3710.c
Original file line number Diff line number Diff line change
Expand Up @@ -409,9 +409,6 @@ static int __devinit palm_bk3710_probe(struct platform_device *pdev)

ide_device_add(idx, &palm_bk3710_port_info);

if (!hwif->present)
goto out;

return 0;
out:
printk(KERN_WARNING "Palm Chip BK3710 IDE Register Fail\n");
Expand Down
1 change: 1 addition & 0 deletions drivers/ide/ide-generic.c
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@ static int __init ide_generic_init(void)
memset(&hw, 0, sizeof(hw));
ide_std_init_ports(&hw, io_addr, io_addr + 0x206);
hw.irq = ide_default_irq(io_addr);
hw.chipset = ide_generic;
ide_init_port_hw(hwif, &hw);

idx[i] = i;
Expand Down
1 change: 1 addition & 0 deletions drivers/ide/ide-pnp.c
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ static int idepnp_probe(struct pnp_dev *dev, const struct pnp_device_id *dev_id)
memset(&hw, 0, sizeof(hw));
ide_std_init_ports(&hw, base, ctl);
hw.irq = pnp_irq(dev, 0);
hw.chipset = ide_generic;

hwif = ide_find_port();
if (hwif) {
Expand Down
6 changes: 3 additions & 3 deletions drivers/ide/ide-probe.c
Original file line number Diff line number Diff line change
Expand Up @@ -1333,8 +1333,7 @@ static void ide_port_init_devices(ide_hwif_t *hwif)
static void ide_init_port(ide_hwif_t *hwif, unsigned int port,
const struct ide_port_info *d)
{
if (d->chipset != ide_etrax100)
hwif->channel = port;
hwif->channel = port;

if (d->chipset)
hwif->chipset = d->chipset;
Expand Down Expand Up @@ -1519,7 +1518,7 @@ int ide_device_add_all(u8 *idx, const struct ide_port_info *d)
continue;
}

if (d->chipset != ide_etrax100 && (i & 1) && mate) {
if ((i & 1) && mate) {
hwif->mate = mate;
mate->mate = hwif;
}
Expand Down Expand Up @@ -1665,6 +1664,7 @@ static void ide_legacy_init_one(u8 *idx, hw_regs_t *hw, u8 port_no,

ide_std_init_ports(hw, base, ctl);
hw->irq = irq;
hw->chipset = d->chipset;

hwif = ide_find_port_slot(d);
if (hwif) {
Expand Down
1 change: 0 additions & 1 deletion drivers/ide/ide-proc.c
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,6 @@ static int proc_ide_read_imodel
case ide_pmac: name = "mac-io"; break;
case ide_au1xxx: name = "au1xxx"; break;
case ide_palm3710: name = "palm3710"; break;
case ide_etrax100: name = "etrax100"; break;
case ide_acorn: name = "acorn"; break;
default: name = "(unknown)"; break;
}
Expand Down
2 changes: 2 additions & 0 deletions drivers/ide/legacy/buddha.c
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,8 @@ static void __init buddha_setup_ports(hw_regs_t *hw, unsigned long base,

hw->irq = IRQ_AMIGA_PORTS;
hw->ack_intr = ack_intr;

hw->chipset = ide_generic;
}

/*
Expand Down
2 changes: 2 additions & 0 deletions drivers/ide/legacy/falconide.c
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,8 @@ static void __init falconide_setup_ports(hw_regs_t *hw)

hw->irq = IRQ_MFP_IDE;
hw->ack_intr = NULL;

hw->chipset = ide_generic;
}

/*
Expand Down
6 changes: 6 additions & 0 deletions drivers/ide/legacy/gayle.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
#include <linux/ide.h>
#include <linux/init.h>
#include <linux/zorro.h>
#include <linux/module.h>

#include <asm/setup.h>
#include <asm/amigahw.h>
Expand Down Expand Up @@ -62,7 +63,10 @@
GAYLE_NUM_HWIFS-1)
#define GAYLE_HAS_CONTROL_REG (!ide_doubler)
#define GAYLE_IDEREG_SIZE (ide_doubler ? 0x1000 : 0x2000)

int ide_doubler = 0; /* support IDE doublers? */
EXPORT_SYMBOL_GPL(ide_doubler);

module_param_named(doubler, ide_doubler, bool, 0);
MODULE_PARM_DESC(doubler, "enable support for IDE doublers");
#endif /* CONFIG_BLK_DEV_IDEDOUBLER */
Expand Down Expand Up @@ -112,6 +116,8 @@ static void __init gayle_setup_ports(hw_regs_t *hw, unsigned long base,

hw->irq = IRQ_AMIGA_PORTS;
hw->ack_intr = ack_intr;

hw->chipset = ide_generic;
}

/*
Expand Down
2 changes: 2 additions & 0 deletions drivers/ide/legacy/macide.c
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,8 @@ static void __init macide_setup_ports(hw_regs_t *hw, unsigned long base,

hw->irq = irq;
hw->ack_intr = ack_intr;

hw->chipset = ide_generic;
}

static const char *mac_ide_name[] =
Expand Down
2 changes: 2 additions & 0 deletions drivers/ide/legacy/q40ide.c
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,8 @@ static void q40_ide_setup_ports(hw_regs_t *hw, unsigned long base,

hw->irq = irq;
hw->ack_intr = ack_intr;

hw->chipset = ide_generic;
}

static void q40ide_input_data(ide_drive_t *drive, struct request *rq,
Expand Down
2 changes: 2 additions & 0 deletions drivers/ide/pci/cmd640.c
Original file line number Diff line number Diff line change
Expand Up @@ -747,9 +747,11 @@ static int __init cmd640x_init(void)

ide_std_init_ports(&hw[0], 0x1f0, 0x3f6);
hw[0].irq = 14;
hw[0].chipset = ide_cmd640;

ide_std_init_ports(&hw[1], 0x170, 0x376);
hw[1].irq = 15;
hw[1].chipset = ide_cmd640;

printk(KERN_INFO "cmd640: buggy cmd640%c interface on %s, config=0x%02x"
"\n", 'a' + cmd640_chip_version - 1, bus_type, cfr);
Expand Down
28 changes: 11 additions & 17 deletions drivers/ide/pci/delkin_cb.c
Original file line number Diff line number Diff line change
Expand Up @@ -47,13 +47,18 @@ static const struct ide_port_ops delkin_cb_port_ops = {
.quirkproc = ide_undecoded_slave,
};

static const struct ide_port_info delkin_cb_port_info = {
.port_ops = &delkin_cb_port_ops,
.host_flags = IDE_HFLAG_IO_32BIT | IDE_HFLAG_UNMASK_IRQS |
IDE_HFLAG_NO_DMA,
};

static int __devinit
delkin_cb_probe (struct pci_dev *dev, const struct pci_device_id *id)
{
unsigned long base;
hw_regs_t hw;
ide_hwif_t *hwif = NULL;
ide_drive_t *drive;
int i, rc;
u8 idx[4] = { 0xff, 0xff, 0xff, 0xff };

Expand All @@ -79,6 +84,7 @@ delkin_cb_probe (struct pci_dev *dev, const struct pci_device_id *id)
memset(&hw, 0, sizeof(hw));
ide_std_init_ports(&hw, base + 0x10, base + 0x1e);
hw.irq = dev->irq;
hw.dev = &dev->dev;
hw.chipset = ide_pci; /* this enables IRQ sharing */

hwif = ide_find_port();
Expand All @@ -89,26 +95,16 @@ delkin_cb_probe (struct pci_dev *dev, const struct pci_device_id *id)

ide_init_port_data(hwif, i);
ide_init_port_hw(hwif, &hw);
hwif->port_ops = &delkin_cb_port_ops;

idx[0] = i;

ide_device_add(idx, NULL);

if (!hwif->present)
goto out_disable;
ide_device_add(idx, &delkin_cb_port_info);

pci_set_drvdata(dev, hwif);
hwif->dev = &dev->dev;
drive = &hwif->drives[0];
if (drive->present) {
drive->io_32bit = 1;
drive->unmask = 1;
}

return 0;

out_disable:
printk(KERN_ERR "delkin_cb: no IDE devices found\n");
pci_release_regions(dev);
pci_disable_device(dev);
return -ENODEV;
Expand Down Expand Up @@ -139,14 +135,12 @@ static struct pci_driver driver = {
.remove = delkin_cb_remove,
};

static int
delkin_cb_init (void)
static int __init delkin_cb_init(void)
{
return pci_register_driver(&driver);
}

static void
delkin_cb_exit (void)
static void __exit delkin_cb_exit(void)
{
pci_unregister_driver(&driver);
}
Expand Down
5 changes: 5 additions & 0 deletions drivers/ide/pci/sis5513.c
Original file line number Diff line number Diff line change
Expand Up @@ -569,6 +569,11 @@ static int __devinit sis5513_init_one(struct pci_dev *dev, const struct pci_devi
{
struct ide_port_info d = sis5513_chipset;
u8 udma_rates[] = { 0x00, 0x00, 0x07, 0x1f, 0x3f, 0x3f, 0x7f, 0x7f };
int rc;

rc = pci_enable_device(dev);
if (rc)
return rc;

if (sis_find_family(dev) == 0)
return -ENOTSUPP;
Expand Down
4 changes: 4 additions & 0 deletions drivers/ide/ppc/mpc8xx.c
Original file line number Diff line number Diff line change
Expand Up @@ -303,6 +303,8 @@ static int __init m8xx_ide_init_ports(hw_regs_t *hw, unsigned long data_port)
pcmp->pcmc_per = 0x100000 >> (16 * _slot_);
#endif /* CONFIG_IDE_8xx_PCCARD */

hw->chipset = ide_generic;

return 0;
}
#endif /* CONFIG_IDE_8xx_PCCARD || CONFIG_IDE_8xx_DIRECT */
Expand Down Expand Up @@ -377,6 +379,8 @@ static int __init m8xx_ide_init_ports(hw_regs_t *hw, unsigned long data_port)
((immap_t *) IMAP_ADDR)->im_siu_conf.sc_siel |=
(0x80000000 >> ioport_dsc[data_port].irq);

hw->chipset = ide_generic;

return 0;
}
#endif /* CONFIG_IDE_8xx_DIRECT */
Expand Down
Loading

0 comments on commit 53eb2fb

Please sign in to comment.