summaryrefslogtreecommitdiffstats
path: root/target/linux/generic/files/crypto
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic/files/crypto')
-rw-r--r--target/linux/generic/files/crypto/ocf/ocf-compat.h8
-rw-r--r--target/linux/generic/files/crypto/ocf/pasemi/pasemi.c8
-rw-r--r--target/linux/generic/files/crypto/ocf/random.c22
-rw-r--r--target/linux/generic/files/crypto/ocf/ubsec_ssb/ubsec_ssb.c12
4 files changed, 28 insertions, 22 deletions
diff --git a/target/linux/generic/files/crypto/ocf/ocf-compat.h b/target/linux/generic/files/crypto/ocf/ocf-compat.h
index 4ad12232b..831927e88 100644
--- a/target/linux/generic/files/crypto/ocf/ocf-compat.h
+++ b/target/linux/generic/files/crypto/ocf/ocf-compat.h
@@ -161,7 +161,13 @@ struct ocf_device {
sigemptyset(&current->blocked); \
recalc_sigpending(current); \
spin_unlock_irq(&current->sigmask_lock); \
- sprintf(current->comm, str);
+ sprintf(current->comm, str); \
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0) \
+ spin_lock_irq(&current->sigmask_lock); \
+ sigemptyset(&current->blocked); \
+ recalc_sigpending(current); \
+ spin_unlock_irq(&current->sigmask_lock); \
+ sprintf(current->comm, str); \
#else
#define ocf_daemonize(str) daemonize(str);
#endif
diff --git a/target/linux/generic/files/crypto/ocf/pasemi/pasemi.c b/target/linux/generic/files/crypto/ocf/pasemi/pasemi.c
index 1b4333cdd..7bb62bc53 100644
--- a/target/linux/generic/files/crypto/ocf/pasemi/pasemi.c
+++ b/target/linux/generic/files/crypto/ocf/pasemi/pasemi.c
@@ -38,7 +38,7 @@
#define TIMER_INTERVAL 1000
-static void __devexit pasemi_dma_remove(struct pci_dev *pdev);
+static void pasemi_dma_remove(struct pci_dev *pdev);
static struct pasdma_status volatile * dma_status;
static int debug;
@@ -790,7 +790,7 @@ static device_method_t pasemi_methods = {
/* Set up the crypto device structure, private data,
* and anything else we need before we start */
-static int __devinit
+static int
pasemi_dma_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
{
struct pasemi_softc *sc;
@@ -943,7 +943,7 @@ static void pasemi_free_tx_resources(struct pasemi_softc *sc, int chan)
del_timer(&ring->crypto_timer);
}
-static void __devexit pasemi_dma_remove(struct pci_dev *pdev)
+static void pasemi_dma_remove(struct pci_dev *pdev)
{
struct pasemi_softc *sc = pci_get_drvdata(pdev);
int i;
@@ -984,7 +984,7 @@ static struct pci_driver pasemi_dma_driver = {
.name = "pasemi_dma",
.id_table = pasemi_dma_pci_tbl,
.probe = pasemi_dma_probe,
- .remove = __devexit_p(pasemi_dma_remove),
+ .remove = pasemi_dma_remove,
};
static void __exit pasemi_dma_cleanup_module(void)
diff --git a/target/linux/generic/files/crypto/ocf/random.c b/target/linux/generic/files/crypto/ocf/random.c
index 4bb773ffb..9fc070ed4 100644
--- a/target/linux/generic/files/crypto/ocf/random.c
+++ b/target/linux/generic/files/crypto/ocf/random.c
@@ -49,6 +49,7 @@
#include <linux/unistd.h>
#include <linux/poll.h>
#include <linux/random.h>
+#include <linux/kthread.h>
#include <cryptodev.h>
#ifdef CONFIG_OCF_FIPS
@@ -79,9 +80,9 @@ struct random_op {
void *arg;
};
+static struct task_struct *random_thread;
static int random_proc(void *arg);
-static pid_t randomproc = (pid_t) -1;
static spinlock_t random_lock;
/*
@@ -141,12 +142,10 @@ crypto_rregister(
spin_lock_irqsave(&random_lock, flags);
list_add_tail(&rops->random_list, &random_ops);
if (!started) {
- randomproc = kernel_thread(random_proc, NULL, CLONE_FS|CLONE_FILES);
- if (randomproc < 0) {
- ret = randomproc;
- printk("crypto: crypto_rregister cannot start random thread; "
- "error %d", ret);
- } else
+ random_thread = kthread_run(random_proc, NULL, "ocf-random");
+ if (IS_ERR(random_thread))
+ ret = PTR_ERR(random_thread);
+ else
started = 1;
}
spin_unlock_irqrestore(&random_lock, flags);
@@ -172,7 +171,7 @@ crypto_runregister_all(u_int32_t driverid)
spin_lock_irqsave(&random_lock, flags);
if (list_empty(&random_ops) && started)
- kill_proc(randomproc, SIGKILL, 1);
+ kthread_stop(random_thread);
spin_unlock_irqrestore(&random_lock, flags);
return(0);
}
@@ -198,9 +197,11 @@ random_proc(void *arg)
recalc_sigpending(current);
spin_unlock_irq(&current->sigmask_lock);
sprintf(current->comm, "ocf-random");
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0)
+ recalc_sigpending();
+ sprintf(current->comm, "ocf-random");
#else
daemonize("ocf-random");
- allow_signal(SIGKILL);
#endif
(void) get_fs();
@@ -303,12 +304,11 @@ random_proc(void *arg)
#endif
}
}
-
+
kfree(buf);
bad_alloc:
spin_lock_irq(&random_lock);
- randomproc = (pid_t) -1;
started = 0;
spin_unlock_irq(&random_lock);
diff --git a/target/linux/generic/files/crypto/ocf/ubsec_ssb/ubsec_ssb.c b/target/linux/generic/files/crypto/ocf/ubsec_ssb/ubsec_ssb.c
index f5d776236..3f3f5135c 100644
--- a/target/linux/generic/files/crypto/ocf/ubsec_ssb/ubsec_ssb.c
+++ b/target/linux/generic/files/crypto/ocf/ubsec_ssb/ubsec_ssb.c
@@ -104,9 +104,9 @@
* Prototypes
*/
static irqreturn_t ubsec_ssb_isr(int, void *, struct pt_regs *);
-static int __devinit ubsec_ssb_probe(struct ssb_device *sdev,
+static int ubsec_ssb_probe(struct ssb_device *sdev,
const struct ssb_device_id *ent);
-static void __devexit ubsec_ssb_remove(struct ssb_device *sdev);
+static void ubsec_ssb_remove(struct ssb_device *sdev);
int ubsec_attach(struct ssb_device *sdev, const struct ssb_device_id *ent,
struct device *self);
static void ubsec_setup_mackey(struct ubsec_session *ses, int algo,
@@ -185,7 +185,7 @@ static struct ssb_driver ubsec_ssb_driver = {
.name = DRV_MODULE_NAME,
.id_table = ubsec_ssb_tbl,
.probe = ubsec_ssb_probe,
- .remove = __devexit_p(ubsec_ssb_remove),
+ .remove = ubsec_ssb_remove,
/*
.suspend = ubsec_ssb_suspend,
.resume = ubsec_ssb_resume
@@ -482,8 +482,8 @@ ubsec_setup_mackey(struct ubsec_session *ses, int algo, caddr_t key, int klen)
}
#undef N
-static int
-__devinit ubsec_ssb_probe(struct ssb_device *sdev,
+static int
+ubsec_ssb_probe(struct ssb_device *sdev,
const struct ssb_device_id *ent)
{
int err;
@@ -553,7 +553,7 @@ err_out:
return err;
}
-static void __devexit ubsec_ssb_remove(struct ssb_device *sdev) {
+static void ubsec_ssb_remove(struct ssb_device *sdev) {
struct ubsec_softc *sc;
unsigned int ctrlflgs;