Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 207941
b: refs/heads/master
c: fc385c3
h: refs/heads/master
i:
  207939: 653fbaf
v: v3
  • Loading branch information
Linus Torvalds committed Aug 10, 2010
1 parent c8b4879 commit d3fb6a2
Show file tree
Hide file tree
Showing 37 changed files with 698 additions and 243 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: 235dae5d094c415fcf0fc79fa637f1901bc8afe2
refs/heads/master: fc385c313275b114bc6ad36e60c5177d63250548
9 changes: 9 additions & 0 deletions trunk/arch/m68k/mac/config.c
Original file line number Diff line number Diff line change
Expand Up @@ -332,6 +332,15 @@ static struct mac_model mac_data_table[] = {
.scc_type = MAC_SCC_II,
.nubus_type = MAC_NUBUS,
.floppy_type = MAC_FLOPPY_SWIM_ADDR2,
}, {
.ident = MAC_MODEL_CCLII,
.name = "Color Classic II",
.adb_type = MAC_ADB_CUDA,
.via_type = MAC_VIA_IIci,
.scsi_type = MAC_SCSI_OLD,
.scc_type = MAC_SCC_II,
.nubus_type = MAC_NUBUS,
.floppy_type = MAC_FLOPPY_SWIM_ADDR2,
},

/*
Expand Down
6 changes: 3 additions & 3 deletions trunk/arch/m68k/mac/misc.c
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ static void cuda_write_pram(int offset, __u8 data)
#define cuda_write_pram NULL
#endif

#if 0 /* def CONFIG_ADB_PMU68K */
#ifdef CONFIG_ADB_PMU68K
static long pmu_read_time(void)
{
struct adb_request req;
Expand All @@ -102,8 +102,8 @@ static long pmu_read_time(void)
while (!req.complete)
pmu_poll();

time = (req.reply[0] << 24) | (req.reply[1] << 16)
| (req.reply[2] << 8) | req.reply[3];
time = (req.reply[1] << 24) | (req.reply[2] << 16)
| (req.reply[3] << 8) | req.reply[4];
return time - RTC_OFFSET;
}

Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/m68k/sun3/leds.c
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ void sun3_leds(unsigned char byte)
unsigned char dfc;

GET_DFC(dfc);
SET_DFC(FC_CONTROL);
SET_CONTROL_BYTE(AC_LEDS,byte);
SET_DFC(FC_CONTROL);
SET_CONTROL_BYTE(AC_LEDS, byte);
SET_DFC(dfc);
}
2 changes: 2 additions & 0 deletions trunk/arch/s390/include/asm/ccwdev.h
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,8 @@ extern void ccw_device_get_id(struct ccw_device *, struct ccw_dev_id *);
extern struct ccw_device *ccw_device_probe_console(void);
extern int ccw_device_force_console(void);

int ccw_device_siosl(struct ccw_device *);

// FIXME: these have to go
extern int _ccw_device_get_subchannel_number(struct ccw_device *);

Expand Down
2 changes: 0 additions & 2 deletions trunk/arch/s390/include/asm/topology.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,6 @@ static inline void s390_init_cpu_topology(void)
};
#endif

#define SD_MC_INIT SD_CPU_INIT

#include <asm-generic/topology.h>

#endif /* _ASM_S390_TOPOLOGY_H */
2 changes: 1 addition & 1 deletion trunk/arch/s390/kernel/head.S
Original file line number Diff line number Diff line change
Expand Up @@ -366,7 +366,7 @@ iplstart:
l %r1,.Lstartup
br %r1

.Linitrd:.long _end + 0x400000 # default address of initrd
.Linitrd:.long _end # default address of initrd
.Lparm: .long PARMAREA
.Lstartup: .long startup
.Lreset:.byte 0xc3,0xc8,0xc1,0xd5,0xc7,0xc5,0x40,0xd9,0xc4,0xd9,0x40
Expand Down
11 changes: 9 additions & 2 deletions trunk/arch/s390/mm/cmm.c
Original file line number Diff line number Diff line change
Expand Up @@ -427,14 +427,21 @@ static struct notifier_block cmm_power_notifier = {
.notifier_call = cmm_power_event,
};

static int cmm_init(void)
static int __init cmm_init(void)
{
int rc = -ENOMEM;

cmm_sysctl_header = register_sysctl_table(cmm_dir_table);
if (!cmm_sysctl_header)
goto out_sysctl;
#ifdef CONFIG_CMM_IUCV
/* convert sender to uppercase characters */
if (sender) {
int len = strlen(sender);
while (len--)
sender[len] = toupper(sender[len]);
}

rc = smsg_register_callback(SMSG_PREFIX, cmm_smsg_target);
if (rc < 0)
goto out_smsg;
Expand Down Expand Up @@ -467,7 +474,7 @@ static int cmm_init(void)
}
module_init(cmm_init);

static void cmm_exit(void)
static void __exit cmm_exit(void)
{
unregister_sysctl_table(cmm_sysctl_header);
#ifdef CONFIG_CMM_IUCV
Expand Down
52 changes: 15 additions & 37 deletions trunk/drivers/media/video/v4l2-dev.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
#include <linux/init.h>
#include <linux/kmod.h>
#include <linux/slab.h>
#include <linux/smp_lock.h>
#include <asm/uaccess.h>
#include <asm/system.h>

Expand Down Expand Up @@ -215,28 +216,24 @@ static unsigned int v4l2_poll(struct file *filp, struct poll_table_struct *poll)
return vdev->fops->poll(filp, poll);
}

static int v4l2_ioctl(struct inode *inode, struct file *filp,
unsigned int cmd, unsigned long arg)
static long v4l2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
{
struct video_device *vdev = video_devdata(filp);
int ret;

if (!vdev->fops->ioctl)
return -ENOTTY;
/* Allow ioctl to continue even if the device was unregistered.
Things like dequeueing buffers might still be useful. */
return vdev->fops->ioctl(filp, cmd, arg);
}

static long v4l2_unlocked_ioctl(struct file *filp,
unsigned int cmd, unsigned long arg)
{
struct video_device *vdev = video_devdata(filp);
if (vdev->fops->unlocked_ioctl) {
ret = vdev->fops->unlocked_ioctl(filp, cmd, arg);
} else if (vdev->fops->ioctl) {
/* TODO: convert all drivers to unlocked_ioctl */
lock_kernel();
ret = vdev->fops->ioctl(filp, cmd, arg);
unlock_kernel();
} else
ret = -ENOTTY;

if (!vdev->fops->unlocked_ioctl)
return -ENOTTY;
/* Allow ioctl to continue even if the device was unregistered.
Things like dequeueing buffers might still be useful. */
return vdev->fops->unlocked_ioctl(filp, cmd, arg);
return ret;
}

#ifdef CONFIG_MMU
Expand Down Expand Up @@ -307,30 +304,14 @@ static int v4l2_release(struct inode *inode, struct file *filp)
return ret;
}

static const struct file_operations v4l2_unlocked_fops = {
.owner = THIS_MODULE,
.read = v4l2_read,
.write = v4l2_write,
.open = v4l2_open,
.get_unmapped_area = v4l2_get_unmapped_area,
.mmap = v4l2_mmap,
.unlocked_ioctl = v4l2_unlocked_ioctl,
#ifdef CONFIG_COMPAT
.compat_ioctl = v4l2_compat_ioctl32,
#endif
.release = v4l2_release,
.poll = v4l2_poll,
.llseek = no_llseek,
};

static const struct file_operations v4l2_fops = {
.owner = THIS_MODULE,
.read = v4l2_read,
.write = v4l2_write,
.open = v4l2_open,
.get_unmapped_area = v4l2_get_unmapped_area,
.mmap = v4l2_mmap,
.ioctl = v4l2_ioctl,
.unlocked_ioctl = v4l2_ioctl,
#ifdef CONFIG_COMPAT
.compat_ioctl = v4l2_compat_ioctl32,
#endif
Expand Down Expand Up @@ -521,10 +502,7 @@ static int __video_register_device(struct video_device *vdev, int type, int nr,
ret = -ENOMEM;
goto cleanup;
}
if (vdev->fops->unlocked_ioctl)
vdev->cdev->ops = &v4l2_unlocked_fops;
else
vdev->cdev->ops = &v4l2_fops;
vdev->cdev->ops = &v4l2_fops;
vdev->cdev->owner = vdev->fops->owner;
ret = cdev_add(vdev->cdev, MKDEV(VIDEO_MAJOR, vdev->minor), 1);
if (ret < 0) {
Expand Down
44 changes: 44 additions & 0 deletions trunk/drivers/s390/block/dasd_devmap.c
Original file line number Diff line number Diff line change
Expand Up @@ -1083,6 +1083,49 @@ dasd_eer_store(struct device *dev, struct device_attribute *attr,

static DEVICE_ATTR(eer_enabled, 0644, dasd_eer_show, dasd_eer_store);

/*
* expiration time for default requests
*/
static ssize_t
dasd_expires_show(struct device *dev, struct device_attribute *attr, char *buf)
{
struct dasd_device *device;
int len;

device = dasd_device_from_cdev(to_ccwdev(dev));
if (IS_ERR(device))
return -ENODEV;
len = snprintf(buf, PAGE_SIZE, "%lu\n", device->default_expires);
dasd_put_device(device);
return len;
}

static ssize_t
dasd_expires_store(struct device *dev, struct device_attribute *attr,
const char *buf, size_t count)
{
struct dasd_device *device;
unsigned long val;

device = dasd_device_from_cdev(to_ccwdev(dev));
if (IS_ERR(device))
return -ENODEV;

if ((strict_strtoul(buf, 10, &val) != 0) ||
(val > DASD_EXPIRES_MAX) || val == 0) {
dasd_put_device(device);
return -EINVAL;
}

if (val)
device->default_expires = val;

dasd_put_device(device);
return count;
}

static DEVICE_ATTR(expires, 0644, dasd_expires_show, dasd_expires_store);

static struct attribute * dasd_attrs[] = {
&dev_attr_readonly.attr,
&dev_attr_discipline.attr,
Expand All @@ -1094,6 +1137,7 @@ static struct attribute * dasd_attrs[] = {
&dev_attr_eer_enabled.attr,
&dev_attr_erplog.attr,
&dev_attr_failfast.attr,
&dev_attr_expires.attr,
NULL,
};

Expand Down
6 changes: 4 additions & 2 deletions trunk/drivers/s390/block/dasd_diag.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ MODULE_LICENSE("GPL");
sizeof(struct dasd_diag_req)) / \
sizeof(struct dasd_diag_bio)) / 2)
#define DIAG_MAX_RETRIES 32
#define DIAG_TIMEOUT 50 * HZ
#define DIAG_TIMEOUT 50

static struct dasd_discipline dasd_diag_discipline;

Expand Down Expand Up @@ -360,6 +360,8 @@ dasd_diag_check_device(struct dasd_device *device)
goto out;
}

device->default_expires = DIAG_TIMEOUT;

/* Figure out position of label block */
switch (private->rdc_data.vdev_class) {
case DEV_CLASS_FBA:
Expand Down Expand Up @@ -563,7 +565,7 @@ static struct dasd_ccw_req *dasd_diag_build_cp(struct dasd_device *memdev,
cqr->startdev = memdev;
cqr->memdev = memdev;
cqr->block = block;
cqr->expires = DIAG_TIMEOUT;
cqr->expires = memdev->default_expires * HZ;
cqr->status = DASD_CQR_FILLED;
return cqr;
}
Expand Down
Loading

0 comments on commit d3fb6a2

Please sign in to comment.