Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 74284
b: refs/heads/master
c: 5e6ddf9
h: refs/heads/master
v: v3
  • Loading branch information
Linus Torvalds committed Nov 28, 2007
1 parent 7137a66 commit f75bee3
Show file tree
Hide file tree
Showing 42 changed files with 276 additions and 246 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: c37a33035720a0faf1f609dc7c2c07080ed83629
refs/heads/master: 5e6ddf9aaa0f2b16fc503626c70bb19832b22b8b
14 changes: 8 additions & 6 deletions trunk/arch/alpha/kernel/pci-noop.c
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
#include <linux/errno.h>
#include <linux/sched.h>
#include <linux/dma-mapping.h>
#include <linux/scatterlist.h>

#include "proto.h"

Expand Down Expand Up @@ -172,18 +173,19 @@ dma_alloc_coherent(struct device *dev, size_t size,
EXPORT_SYMBOL(dma_alloc_coherent);

int
dma_map_sg(struct device *dev, struct scatterlist *sg, int nents,
dma_map_sg(struct device *dev, struct scatterlist *sgl, int nents,
enum dma_data_direction direction)
{
int i;
struct scatterlist *sg;

for (i = 0; i < nents; i++ ) {
for_each_sg(sgl, sg, nents, i) {
void *va;

BUG_ON(!sg[i].page);
va = page_address(sg[i].page) + sg[i].offset;
sg_dma_address(sg + i) = (dma_addr_t)virt_to_bus(va);
sg_dma_len(sg + i) = sg[i].length;
BUG_ON(!sg_page(sg));
va = sg_virt(sg);
sg_dma_address(sg) = (dma_addr_t)virt_to_bus(va);
sg_dma_len(sg) = sg->length;
}

return nents;
Expand Down
39 changes: 0 additions & 39 deletions trunk/arch/cris/arch-v10/drivers/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -542,45 +542,6 @@ config ETRAX_RS485_DISABLE_RECEIVER
loopback. Not all products are able to do this in software only.
Axis 2400/2401 must disable receiver.

config ETRAX_IDE
bool "ATA/IDE support"
select IDE
select BLK_DEV_IDE
select BLK_DEV_IDEDISK
select BLK_DEV_IDECD
select BLK_DEV_IDEDMA
select IDE_GENERIC
help
Enable this to get support for ATA/IDE.
You can't use parallel ports or SCSI ports
at the same time.


config ETRAX_IDE_DELAY
int "Delay for drives to regain consciousness"
depends on ETRAX_IDE
default 15
help
Number of seconds to wait for IDE drives to spin up after an IDE
reset.
choice
prompt "IDE reset pin"
depends on ETRAX_IDE
default ETRAX_IDE_PB7_RESET

config ETRAX_IDE_PB7_RESET
bool "Port_PB_Bit_7"
help
IDE reset on pin 7 on port B

config ETRAX_IDE_G27_RESET
bool "Port_G_Bit_27"
help
IDE reset on pin 27 on port G

endchoice


config ETRAX_USB_HOST
bool "USB host"
select USB
Expand Down
12 changes: 0 additions & 12 deletions trunk/arch/cris/arch-v32/drivers/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -582,18 +582,6 @@ config ETRAX_PE_CHANGEABLE_BITS
that a user can change the value on using ioctl's.
Bit set = changeable.

config ETRAX_IDE
bool "ATA/IDE support"
depends on ETRAX_ARCH_V32
select IDE
select BLK_DEV_IDE
select BLK_DEV_IDEDISK
select BLK_DEV_IDECD
select BLK_DEV_IDEDMA
select IDE_GENERIC
help
Enables the ETRAX IDE driver.

config ETRAX_CARDBUS
bool "Cardbus support"
depends on ETRAX_ARCH_V32
Expand Down
9 changes: 7 additions & 2 deletions trunk/block/blktrace.c
Original file line number Diff line number Diff line change
Expand Up @@ -202,20 +202,25 @@ static void blk_remove_tree(struct dentry *dir)
static struct dentry *blk_create_tree(const char *blk_name)
{
struct dentry *dir = NULL;
int created = 0;

mutex_lock(&blk_tree_mutex);

if (!blk_tree_root) {
blk_tree_root = debugfs_create_dir("block", NULL);
if (!blk_tree_root)
goto err;
created = 1;
}

dir = debugfs_create_dir(blk_name, blk_tree_root);
if (dir)
root_users++;
else
blk_remove_root();
else {
/* Delete root only if we created it */
if (created)
blk_remove_root();
}

err:
mutex_unlock(&blk_tree_mutex);
Expand Down
1 change: 1 addition & 0 deletions trunk/block/genhd.c
Original file line number Diff line number Diff line change
Expand Up @@ -715,6 +715,7 @@ struct gendisk *alloc_disk_node(int minors, int node_id)
disk->part = kmalloc_node(size,
GFP_KERNEL | __GFP_ZERO, node_id);
if (!disk->part) {
free_disk_stats(disk);
kfree(disk);
return NULL;
}
Expand Down
23 changes: 0 additions & 23 deletions trunk/block/ll_rw_blk.c
Original file line number Diff line number Diff line change
Expand Up @@ -4080,23 +4080,7 @@ static ssize_t queue_max_hw_sectors_show(struct request_queue *q, char *page)
return queue_var_show(max_hw_sectors_kb, (page));
}

static ssize_t queue_max_segments_show(struct request_queue *q, char *page)
{
return queue_var_show(q->max_phys_segments, page);
}

static ssize_t queue_max_segments_store(struct request_queue *q,
const char *page, size_t count)
{
unsigned long segments;
ssize_t ret = queue_var_store(&segments, page, count);

spin_lock_irq(q->queue_lock);
q->max_phys_segments = segments;
spin_unlock_irq(q->queue_lock);

return ret;
}
static struct queue_sysfs_entry queue_requests_entry = {
.attr = {.name = "nr_requests", .mode = S_IRUGO | S_IWUSR },
.show = queue_requests_show,
Expand All @@ -4120,12 +4104,6 @@ static struct queue_sysfs_entry queue_max_hw_sectors_entry = {
.show = queue_max_hw_sectors_show,
};

static struct queue_sysfs_entry queue_max_segments_entry = {
.attr = {.name = "max_segments", .mode = S_IRUGO | S_IWUSR },
.show = queue_max_segments_show,
.store = queue_max_segments_store,
};

static struct queue_sysfs_entry queue_iosched_entry = {
.attr = {.name = "scheduler", .mode = S_IRUGO | S_IWUSR },
.show = elv_iosched_show,
Expand All @@ -4137,7 +4115,6 @@ static struct attribute *default_attrs[] = {
&queue_ra_entry.attr,
&queue_max_hw_sectors_entry.attr,
&queue_max_sectors_entry.attr,
&queue_max_segments_entry.attr,
&queue_iosched_entry.attr,
NULL,
};
Expand Down
8 changes: 5 additions & 3 deletions trunk/drivers/char/sonypi.c
Original file line number Diff line number Diff line change
Expand Up @@ -1163,7 +1163,7 @@ static struct acpi_driver sonypi_acpi_driver = {
};
#endif

static int __devinit sonypi_create_input_devices(void)
static int __devinit sonypi_create_input_devices(struct platform_device *pdev)
{
struct input_dev *jog_dev;
struct input_dev *key_dev;
Expand All @@ -1177,6 +1177,7 @@ static int __devinit sonypi_create_input_devices(void)
jog_dev->name = "Sony Vaio Jogdial";
jog_dev->id.bustype = BUS_ISA;
jog_dev->id.vendor = PCI_VENDOR_ID_SONY;
jog_dev->dev.parent = &pdev->dev;

jog_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REL);
jog_dev->keybit[BIT_WORD(BTN_MOUSE)] = BIT_MASK(BTN_MIDDLE);
Expand All @@ -1191,6 +1192,7 @@ static int __devinit sonypi_create_input_devices(void)
key_dev->name = "Sony Vaio Keys";
key_dev->id.bustype = BUS_ISA;
key_dev->id.vendor = PCI_VENDOR_ID_SONY;
key_dev->dev.parent = &pdev->dev;

/* Initialize the Input Drivers: special keys */
key_dev->evbit[0] = BIT_MASK(EV_KEY);
Expand Down Expand Up @@ -1385,7 +1387,7 @@ static int __devinit sonypi_probe(struct platform_device *dev)

if (useinput) {

error = sonypi_create_input_devices();
error = sonypi_create_input_devices(dev);
if (error) {
printk(KERN_ERR
"sonypi: failed to create input devices\n");
Expand Down Expand Up @@ -1432,7 +1434,7 @@ static int __devexit sonypi_remove(struct platform_device *dev)
{
sonypi_disable();

synchronize_sched(); /* Allow sonypi interrupt to complete. */
synchronize_irq(sonypi_device.irq);
flush_scheduled_work();

if (useinput) {
Expand Down
47 changes: 45 additions & 2 deletions trunk/drivers/ide/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -313,7 +313,6 @@ comment "IDE chipset support/bugfixes"

config IDE_GENERIC
tristate "generic/default IDE chipset support"
default H8300
help
If unsure, say N.

Expand Down Expand Up @@ -484,6 +483,7 @@ config WDC_ALI15X3

config BLK_DEV_AMD74XX
tristate "AMD and nVidia IDE support"
depends on !ARM
select BLK_DEV_IDEDMA_PCI
help
This driver adds explicit support for AMD-7xx and AMD-8111 chips
Expand Down Expand Up @@ -883,6 +883,49 @@ config BLK_DEV_IDE_BAST
Say Y here if you want to support the onboard IDE channels on the
Simtec BAST or the Thorcom VR1000

config ETRAX_IDE
bool "ETRAX IDE support"
depends on CRIS && BROKEN
select BLK_DEV_IDEDMA
select IDE_GENERIC
help
Enables the ETRAX IDE driver.

You can't use parallel ports or SCSI ports at the same time.

config ETRAX_IDE_DELAY
int "Delay for drives to regain consciousness"
depends on ETRAX_IDE && ETRAX_ARCH_V10
default 15
help
Number of seconds to wait for IDE drives to spin up after an IDE
reset.

choice
prompt "IDE reset pin"
depends on ETRAX_IDE && ETRAX_ARCH_V10
default ETRAX_IDE_PB7_RESET

config ETRAX_IDE_PB7_RESET
bool "Port_PB_Bit_7"
help
IDE reset on pin 7 on port B

config ETRAX_IDE_G27_RESET
bool "Port_G_Bit_27"
help
IDE reset on pin 27 on port G

endchoice

config IDE_H8300
bool "H8300 IDE support"
depends on H8300
select IDE_GENERIC
default y
help
Enables the H8300 IDE driver.

config BLK_DEV_GAYLE
bool "Amiga Gayle IDE interface support"
depends on AMIGA
Expand Down Expand Up @@ -963,7 +1006,7 @@ config BLK_DEV_Q40IDE

config BLK_DEV_MPC8xx_IDE
bool "MPC8xx IDE support"
depends on 8xx && IDE=y && BLK_DEV_IDE=y && !PPC_MERGE
depends on 8xx && (LWMON || IVMS8 || IVML24 || TQM8xxL) && IDE=y && BLK_DEV_IDE=y && !PPC_MERGE
select IDE_GENERIC
help
This option provides support for IDE on Motorola MPC8xx Systems.
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/ide/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ ide-core-$(CONFIG_BLK_DEV_MPC8xx_IDE) += ppc/mpc8xx.o
ide-core-$(CONFIG_BLK_DEV_IDE_PMAC) += ppc/pmac.o

# built-in only drivers from h8300/
ide-core-$(CONFIG_H8300) += h8300/ide-h8300.o
ide-core-$(CONFIG_IDE_H8300) += h8300/ide-h8300.o

obj-$(CONFIG_BLK_DEV_IDE) += ide-core.o
obj-$(CONFIG_IDE_GENERIC) += ide-generic.o
Expand Down
7 changes: 4 additions & 3 deletions trunk/drivers/ide/cris/ide-cris.c
Original file line number Diff line number Diff line change
Expand Up @@ -773,15 +773,16 @@ init_e100_ide (void)
/* the IDE control register is at ATA address 6, with CS1 active instead of CS0 */
ide_offsets[IDE_CONTROL_OFFSET] = cris_ide_reg_addr(6, 1, 0);

/* first fill in some stuff in the ide_hwifs fields */
for (h = 0; h < 4; h++) {
ide_hwif_t *hwif = NULL;

for(h = 0; h < MAX_HWIFS; h++) {
ide_hwif_t *hwif = &ide_hwifs[h];
ide_setup_ports(&hw, cris_ide_base_address(h),
ide_offsets,
0, 0, cris_ide_ack_intr,
ide_default_irq(0));
ide_register_hw(&hw, NULL, 1, &hwif);
if (hwif == NULL)
continue;
hwif->mmio = 1;
hwif->chipset = ide_etrax100;
hwif->set_pio_mode = &cris_set_pio_mode;
Expand Down
1 change: 1 addition & 0 deletions trunk/drivers/ide/ide-dma.c
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,7 @@ static const struct drive_list_entry drive_blacklist [] = {
{ "_NEC DV5800A", NULL },
{ "SAMSUNG CD-ROM SN-124", "N001" },
{ "Seagate STT20000A", NULL },
{ "CD-ROM CDR_U200", "1.09" },
{ NULL , NULL }

};
Expand Down
13 changes: 9 additions & 4 deletions trunk/drivers/ide/ide-iops.c
Original file line number Diff line number Diff line change
Expand Up @@ -303,9 +303,6 @@ void default_hwif_transport(ide_hwif_t *hwif)
hwif->atapi_output_bytes = atapi_output_bytes;
}

/*
* Beginning of Taskfile OPCODE Library and feature sets.
*/
void ide_fix_driveid (struct hd_driveid *id)
{
#ifndef __LITTLE_ENDIAN
Expand Down Expand Up @@ -592,6 +589,9 @@ EXPORT_SYMBOL_GPL(ide_in_drive_list);
static const struct drive_list_entry ivb_list[] = {
{ "QUANTUM FIREBALLlct10 05" , "A03.0900" },
{ "TSSTcorp CDDVDW SH-S202J" , "SB00" },
{ "TSSTcorp CDDVDW SH-S202J" , "SB01" },
{ "TSSTcorp CDDVDW SH-S202N" , "SB00" },
{ "TSSTcorp CDDVDW SH-S202N" , "SB01" },
{ NULL , NULL }
};

Expand Down Expand Up @@ -756,7 +756,7 @@ int ide_driveid_update(ide_drive_t *drive)
int ide_config_drive_speed(ide_drive_t *drive, u8 speed)
{
ide_hwif_t *hwif = drive->hwif;
int error;
int error = 0;
u8 stat;

// while (HWGROUP(drive)->busy)
Expand All @@ -767,6 +767,10 @@ int ide_config_drive_speed(ide_drive_t *drive, u8 speed)
hwif->dma_host_off(drive);
#endif

/* Skip setting PIO flow-control modes on pre-EIDE drives */
if ((speed & 0xf8) == XFER_PIO_0 && !(drive->id->capability & 0x08))
goto skip;

/*
* Don't use ide_wait_cmd here - it will
* attempt to set_geometry and recalibrate,
Expand Down Expand Up @@ -814,6 +818,7 @@ int ide_config_drive_speed(ide_drive_t *drive, u8 speed)
drive->id->dma_mword &= ~0x0F00;
drive->id->dma_1word &= ~0x0F00;

skip:
#ifdef CONFIG_BLK_DEV_IDEDMA
if (speed >= XFER_SW_DMA_0)
hwif->dma_host_on(drive);
Expand Down
Loading

0 comments on commit f75bee3

Please sign in to comment.