Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 280068
b: refs/heads/master
c: 997d3ea
h: refs/heads/master
v: v3
  • Loading branch information
Kay Sievers authored and Greg Kroah-Hartman committed Dec 14, 2011
1 parent 2b42705 commit a77adf4
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 19 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: ca22e56debc57b47c422b749c93217ba62644be2
refs/heads/master: 997d3eaf02cad6fdb54bd6085c9a7c48ddd68a2d
37 changes: 19 additions & 18 deletions trunk/kernel/rtmutex-tester.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@
* Copyright (C) 2006, Timesys Corp., Thomas Gleixner <tglx@timesys.com>
*
*/
#include <linux/device.h>
#include <linux/kthread.h>
#include <linux/export.h>
#include <linux/sched.h>
#include <linux/spinlock.h>
#include <linux/sysdev.h>
#include <linux/timer.h>
#include <linux/freezer.h>

Expand All @@ -27,7 +27,7 @@ struct test_thread_data {
int opdata;
int mutexes[MAX_RT_TEST_MUTEXES];
int event;
struct sys_device sysdev;
struct device dev;
};

static struct test_thread_data thread_data[MAX_RT_TEST_THREADS];
Expand Down Expand Up @@ -271,16 +271,16 @@ static int test_func(void *data)
*
* opcode:data
*/
static ssize_t sysfs_test_command(struct sys_device *dev, struct sysdev_attribute *attr,
static ssize_t sysfs_test_command(struct device *dev, struct device_attribute *attr,
const char *buf, size_t count)
{
struct sched_param schedpar;
struct test_thread_data *td;
char cmdbuf[32];
int op, dat, tid, ret;

td = container_of(dev, struct test_thread_data, sysdev);
tid = td->sysdev.id;
td = container_of(dev, struct test_thread_data, dev);
tid = td->dev.id;

/* strings from sysfs write are not 0 terminated! */
if (count >= sizeof(cmdbuf))
Expand Down Expand Up @@ -334,16 +334,16 @@ static ssize_t sysfs_test_command(struct sys_device *dev, struct sysdev_attribut
* @dev: thread to query
* @buf: char buffer to be filled with thread status info
*/
static ssize_t sysfs_test_status(struct sys_device *dev, struct sysdev_attribute *attr,
static ssize_t sysfs_test_status(struct device *dev, struct device_attribute *attr,
char *buf)
{
struct test_thread_data *td;
struct task_struct *tsk;
char *curr = buf;
int i;

td = container_of(dev, struct test_thread_data, sysdev);
tsk = threads[td->sysdev.id];
td = container_of(dev, struct test_thread_data, dev);
tsk = threads[td->dev.id];

spin_lock(&rttest_lock);

Expand All @@ -360,28 +360,29 @@ static ssize_t sysfs_test_status(struct sys_device *dev, struct sysdev_attribute
spin_unlock(&rttest_lock);

curr += sprintf(curr, ", T: %p, R: %p\n", tsk,
mutexes[td->sysdev.id].owner);
mutexes[td->dev.id].owner);

return curr - buf;
}

static SYSDEV_ATTR(status, 0600, sysfs_test_status, NULL);
static SYSDEV_ATTR(command, 0600, NULL, sysfs_test_command);
static DEVICE_ATTR(status, 0600, sysfs_test_status, NULL);
static DEVICE_ATTR(command, 0600, NULL, sysfs_test_command);

static struct sysdev_class rttest_sysclass = {
static struct bus_type rttest_subsys = {
.name = "rttest",
.dev_name = "rttest",
};

static int init_test_thread(int id)
{
thread_data[id].sysdev.cls = &rttest_sysclass;
thread_data[id].sysdev.id = id;
thread_data[id].dev.bus = &rttest_subsys;
thread_data[id].dev.id = id;

threads[id] = kthread_run(test_func, &thread_data[id], "rt-test-%d", id);
if (IS_ERR(threads[id]))
return PTR_ERR(threads[id]);

return sysdev_register(&thread_data[id].sysdev);
return device_register(&thread_data[id].dev);
}

static int init_rttest(void)
Expand All @@ -393,18 +394,18 @@ static int init_rttest(void)
for (i = 0; i < MAX_RT_TEST_MUTEXES; i++)
rt_mutex_init(&mutexes[i]);

ret = sysdev_class_register(&rttest_sysclass);
ret = subsys_system_register(&rttest_subsys, NULL);
if (ret)
return ret;

for (i = 0; i < MAX_RT_TEST_THREADS; i++) {
ret = init_test_thread(i);
if (ret)
break;
ret = sysdev_create_file(&thread_data[i].sysdev, &attr_status);
ret = device_create_file(&thread_data[i].dev, &dev_attr_status);
if (ret)
break;
ret = sysdev_create_file(&thread_data[i].sysdev, &attr_command);
ret = device_create_file(&thread_data[i].dev, &dev_attr_command);
if (ret)
break;
}
Expand Down

0 comments on commit a77adf4

Please sign in to comment.