aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/crypto/ap_bus.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/s390/crypto/ap_bus.c')
-rw-r--r--drivers/s390/crypto/ap_bus.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/drivers/s390/crypto/ap_bus.c b/drivers/s390/crypto/ap_bus.c
index 79d89c368919..e4dc947e74e9 100644
--- a/drivers/s390/crypto/ap_bus.c
+++ b/drivers/s390/crypto/ap_bus.c
@@ -37,7 +37,7 @@
37#include "ap_bus.h" 37#include "ap_bus.h"
38 38
39/* Some prototypes. */ 39/* Some prototypes. */
40static void ap_scan_bus(void *); 40static void ap_scan_bus(struct work_struct *);
41static void ap_poll_all(unsigned long); 41static void ap_poll_all(unsigned long);
42static void ap_poll_timeout(unsigned long); 42static void ap_poll_timeout(unsigned long);
43static int ap_poll_thread_start(void); 43static int ap_poll_thread_start(void);
@@ -71,7 +71,7 @@ static struct device *ap_root_device = NULL;
71static struct workqueue_struct *ap_work_queue; 71static struct workqueue_struct *ap_work_queue;
72static struct timer_list ap_config_timer; 72static struct timer_list ap_config_timer;
73static int ap_config_time = AP_CONFIG_TIME; 73static int ap_config_time = AP_CONFIG_TIME;
74static DECLARE_WORK(ap_config_work, ap_scan_bus, NULL); 74static DECLARE_WORK(ap_config_work, ap_scan_bus);
75 75
76/** 76/**
77 * Tasklet & timer for AP request polling. 77 * Tasklet & timer for AP request polling.
@@ -431,7 +431,15 @@ static int ap_uevent (struct device *dev, char **envp, int num_envp,
431 ap_dev->device_type); 431 ap_dev->device_type);
432 if (buffer_size - length <= 0) 432 if (buffer_size - length <= 0)
433 return -ENOMEM; 433 return -ENOMEM;
434 envp[1] = 0; 434 buffer += length;
435 buffer_size -= length;
436 /* Add MODALIAS= */
437 envp[1] = buffer;
438 length = scnprintf(buffer, buffer_size, "MODALIAS=ap:t%02X",
439 ap_dev->device_type);
440 if (buffer_size - length <= 0)
441 return -ENOMEM;
442 envp[2] = NULL;
435 return 0; 443 return 0;
436} 444}
437 445
@@ -724,7 +732,7 @@ static void ap_device_release(struct device *dev)
724 kfree(ap_dev); 732 kfree(ap_dev);
725} 733}
726 734
727static void ap_scan_bus(void *data) 735static void ap_scan_bus(struct work_struct *unused)
728{ 736{
729 struct ap_device *ap_dev; 737 struct ap_device *ap_dev;
730 struct device *dev; 738 struct device *dev;