Skip to content

Commit

Permalink
Merge pull request lkl#33 from valx90/lab04-fix-wrong-todo-numbers
Browse files Browse the repository at this point in the history
lab04: exercises: Fix TODO numbers.
  • Loading branch information
dbaluta authored Mar 13, 2018
2 parents ed8e26a + 7568811 commit ed00a31
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions tools/labs/templates/device_drivers/kernel/so2_cdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ struct so2_device_data {
/* TODO 4/2: add buffer with BUFSIZ elements */
char buffer[BUFSIZ];
size_t size;
/* TODO 6/2: extra members for home */
/* TODO 7/2: extra members for home */
wait_queue_head_t wq;
int flag;
/* TODO 3/1: add atomic_t access variable to keep track if file is opened */
Expand Down Expand Up @@ -90,7 +90,7 @@ so2_cdev_read(struct file *file,
size_t to_read;

#ifdef EXTRA
/* TODO 6/6: extra tasks for home */
/* TODO 7/6: extra tasks for home */
if (!data->size) {
if (file->f_flags & O_NONBLOCK)
return -EAGAIN;
Expand Down Expand Up @@ -123,7 +123,7 @@ so2_cdev_write(struct file *file,
return -EFAULT;
*offset += size;
data->size = *offset;
/* TODO 6/3: extra tasks for home */
/* TODO 7/3: extra tasks for home */
#ifdef EXTRA
wake_up_interruptible(&data->wq);
#endif
Expand All @@ -140,11 +140,11 @@ so2_cdev_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
int remains;

switch (cmd) {
/* TODO 5/3: if cmd = MY_IOCTL_PRINT, display IOCTL_MESSAGE */
/* TODO 6/3: if cmd = MY_IOCTL_PRINT, display IOCTL_MESSAGE */
case MY_IOCTL_PRINT:
printk(LOG_LEVEL "%s\n", IOCTL_MESSAGE);
break;
/* TODO 6/19: extra tasks, for home */
/* TODO 7/19: extra tasks, for home */
case MY_IOCTL_DOWN:
data->flag = 0;
ret = wait_event_interruptible(data->wq, data->flag != 0);
Expand Down Expand Up @@ -196,15 +196,15 @@ static int so2_cdev_init(void)

for (i = 0; i < NUM_MINORS; i++) {
#ifdef EXTRA
/* TODO 6/2: extra tasks, for home */
/* TODO 7/2: extra tasks, for home */
devs[i].size = 0;
memset(devs[i].buffer, 0, sizeof(devs[i].buffer));
#else
/*TODO 4/2: initialize buffer with MESSAGE string */
memcpy(devs[i].buffer, MESSAGE, sizeof(MESSAGE));
devs[i].size = sizeof(MESSAGE);
#endif
/* TODO 6/2: extra tasks for home */
/* TODO 7/2: extra tasks for home */
init_waitqueue_head(&devs[i].wq);
devs[i].flag = 0;
/* TODO 3/1: set access variable to 0, use atomic_set */
Expand Down

0 comments on commit ed00a31

Please sign in to comment.