mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 03:01:39 -04:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc
Pull sparc fixes from David Miller:
"Several build/bug fixes for sparc, including:
1) Configuring a mix of static vs. modular sparc64 crypto modules
didn't work, remove an ill-conceived attempt to only have to build
the device match table for these drivers once to fix the problem.
Reported by Meelis Roos.
2) Make the montgomery multiple/square and mpmul instructions actually
usable in 32-bit tasks. Essentially this involves providing 32-bit
userspace with a way to use a 64-bit stack when it needs to.
3) Our sparc64 atomic backoffs don't yield cpu strands properly on
Niagara chips. Use pause instruction when available to achieve
this, otherwise use a benign instruction we know blocks the strand
for some time.
4) Wire up kcmp
5) Fix the build of various drivers by removing the unnecessary
blocking of OF_GPIO when SPARC.
6) Fix unintended regression wherein of_address_to_resource stopped
being provided. Fix from Andreas Larsson.
7) Fix NULL dereference in leon_handle_ext_irq(), also from Andreas
Larsson."
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
sparc64: Fix build with mix of modular vs. non-modular crypto drivers.
sparc: Support atomic64_dec_if_positive properly.
of/address: sparc: Declare of_address_to_resource() as an extern function for sparc again
sparc32, leon: Check for existent irq_map entry in leon_handle_ext_irq
sparc: Add sparc support for platform_get_irq()
sparc: Allow OF_GPIO on sparc.
qlogicpti: Fix build warning.
sparc: Wire up sys_kcmp.
sparc64: Improvde documentation and readability of atomic backoff code.
sparc64: Use pause instruction when available.
sparc64: Fix cpu strand yielding.
sparc64: Make montmul/montsqr/mpmul usable in 32-bit threads.
This commit is contained in:
commit
2b1768f39a
38 changed files with 291 additions and 97 deletions
|
|
@ -1294,26 +1294,19 @@ static struct scsi_host_template qpti_template = {
|
|||
static const struct of_device_id qpti_match[];
|
||||
static int __devinit qpti_sbus_probe(struct platform_device *op)
|
||||
{
|
||||
const struct of_device_id *match;
|
||||
struct scsi_host_template *tpnt;
|
||||
struct device_node *dp = op->dev.of_node;
|
||||
struct Scsi_Host *host;
|
||||
struct qlogicpti *qpti;
|
||||
static int nqptis;
|
||||
const char *fcode;
|
||||
|
||||
match = of_match_device(qpti_match, &op->dev);
|
||||
if (!match)
|
||||
return -EINVAL;
|
||||
tpnt = match->data;
|
||||
|
||||
/* Sometimes Antares cards come up not completely
|
||||
* setup, and we get a report of a zero IRQ.
|
||||
*/
|
||||
if (op->archdata.irqs[0] == 0)
|
||||
return -ENODEV;
|
||||
|
||||
host = scsi_host_alloc(tpnt, sizeof(struct qlogicpti));
|
||||
host = scsi_host_alloc(&qpti_template, sizeof(struct qlogicpti));
|
||||
if (!host)
|
||||
return -ENOMEM;
|
||||
|
||||
|
|
@ -1445,19 +1438,15 @@ static int __devexit qpti_sbus_remove(struct platform_device *op)
|
|||
static const struct of_device_id qpti_match[] = {
|
||||
{
|
||||
.name = "ptisp",
|
||||
.data = &qpti_template,
|
||||
},
|
||||
{
|
||||
.name = "PTI,ptisp",
|
||||
.data = &qpti_template,
|
||||
},
|
||||
{
|
||||
.name = "QLGC,isp",
|
||||
.data = &qpti_template,
|
||||
},
|
||||
{
|
||||
.name = "SUNW,isp",
|
||||
.data = &qpti_template,
|
||||
},
|
||||
{},
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in a new issue