Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 74621
b: refs/heads/master
c: 6fab260
h: refs/heads/master
i:
  74619: 4d3f5d8
v: v3
  • Loading branch information
David S. Miller committed Dec 5, 2007
1 parent 65a2ca6 commit 4f9dd19
Show file tree
Hide file tree
Showing 38 changed files with 541 additions and 693 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: 97bd7919e2c1445dabbcc2686795dbb52316b923
refs/heads/master: 6fab2600f9eae779ac49416e651a7f160004c9ae
15 changes: 10 additions & 5 deletions trunk/arch/sparc64/kernel/ldc.c
Original file line number Diff line number Diff line change
Expand Up @@ -2338,36 +2338,41 @@ static int __init ldc_init(void)
unsigned long major, minor;
struct mdesc_handle *hp;
const u64 *v;
int err;
u64 mp;

hp = mdesc_grab();
if (!hp)
return -ENODEV;

mp = mdesc_node_by_name(hp, MDESC_NODE_NULL, "platform");
err = -ENODEV;
if (mp == MDESC_NODE_NULL)
return -ENODEV;
goto out;

v = mdesc_get_property(hp, mp, "domaining-enabled", NULL);
if (!v)
return -ENODEV;
goto out;

major = 1;
minor = 0;
if (sun4v_hvapi_register(HV_GRP_LDOM, major, &minor)) {
printk(KERN_INFO PFX "Could not register LDOM hvapi.\n");
return -ENODEV;
goto out;
}

printk(KERN_INFO "%s", version);

if (!*v) {
printk(KERN_INFO PFX "Domaining disabled.\n");
return -ENODEV;
goto out;
}
ldom_domaining_enabled = 1;
err = 0;

return 0;
out:
mdesc_release(hp);
return err;
}

core_initcall(ldc_init);
5 changes: 5 additions & 0 deletions trunk/arch/um/Makefile-i386
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@ export LDFLAGS HOSTCFLAGS HOSTLDFLAGS UML_OBJCOPYFLAGS
endif
endif

KBUILD_CFLAGS += -DCONFIG_X86_32
KBUILD_AFLAGS += -DCONFIG_X86_32
CONFIG_X86_32 := y
export CONFIG_X86_32

# First of all, tune CFLAGS for the specific CPU. This actually sets cflags-y.
include $(srctree)/arch/x86/Makefile_32.cpu

Expand Down
88 changes: 44 additions & 44 deletions trunk/crypto/fcrypt.c
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
#define ROUNDS 16

struct fcrypt_ctx {
__be32 sched[ROUNDS];
u32 sched[ROUNDS];
};

/* Rotate right two 32 bit numbers as a 56 bit number */
Expand All @@ -73,8 +73,8 @@ do { \
* /afs/transarc.com/public/afsps/afs.rel31b.export-src/rxkad/sboxes.h
*/
#undef Z
#define Z(x) __constant_cpu_to_be32(x << 3)
static const __be32 sbox0[256] = {
#define Z(x) __constant_be32_to_cpu(x << 3)
static const u32 sbox0[256] = {
Z(0xea), Z(0x7f), Z(0xb2), Z(0x64), Z(0x9d), Z(0xb0), Z(0xd9), Z(0x11),
Z(0xcd), Z(0x86), Z(0x86), Z(0x91), Z(0x0a), Z(0xb2), Z(0x93), Z(0x06),
Z(0x0e), Z(0x06), Z(0xd2), Z(0x65), Z(0x73), Z(0xc5), Z(0x28), Z(0x60),
Expand Down Expand Up @@ -110,8 +110,8 @@ static const __be32 sbox0[256] = {
};

#undef Z
#define Z(x) __constant_cpu_to_be32((x << 27) | (x >> 5))
static const __be32 sbox1[256] = {
#define Z(x) __constant_be32_to_cpu((x << 27) | (x >> 5))
static const u32 sbox1[256] = {
Z(0x77), Z(0x14), Z(0xa6), Z(0xfe), Z(0xb2), Z(0x5e), Z(0x8c), Z(0x3e),
Z(0x67), Z(0x6c), Z(0xa1), Z(0x0d), Z(0xc2), Z(0xa2), Z(0xc1), Z(0x85),
Z(0x6c), Z(0x7b), Z(0x67), Z(0xc6), Z(0x23), Z(0xe3), Z(0xf2), Z(0x89),
Expand Down Expand Up @@ -147,8 +147,8 @@ static const __be32 sbox1[256] = {
};

#undef Z
#define Z(x) __constant_cpu_to_be32(x << 11)
static const __be32 sbox2[256] = {
#define Z(x) __constant_be32_to_cpu(x << 11)
static const u32 sbox2[256] = {
Z(0xf0), Z(0x37), Z(0x24), Z(0x53), Z(0x2a), Z(0x03), Z(0x83), Z(0x86),
Z(0xd1), Z(0xec), Z(0x50), Z(0xf0), Z(0x42), Z(0x78), Z(0x2f), Z(0x6d),
Z(0xbf), Z(0x80), Z(0x87), Z(0x27), Z(0x95), Z(0xe2), Z(0xc5), Z(0x5d),
Expand Down Expand Up @@ -184,8 +184,8 @@ static const __be32 sbox2[256] = {
};

#undef Z
#define Z(x) __constant_cpu_to_be32(x << 19)
static const __be32 sbox3[256] = {
#define Z(x) __constant_be32_to_cpu(x << 19)
static const u32 sbox3[256] = {
Z(0xa9), Z(0x2a), Z(0x48), Z(0x51), Z(0x84), Z(0x7e), Z(0x49), Z(0xe2),
Z(0xb5), Z(0xb7), Z(0x42), Z(0x33), Z(0x7d), Z(0x5d), Z(0xa6), Z(0x12),
Z(0x44), Z(0x48), Z(0x6d), Z(0x28), Z(0xaa), Z(0x20), Z(0x6d), Z(0x57),
Expand Down Expand Up @@ -225,7 +225,7 @@ static const __be32 sbox3[256] = {
*/
#define F_ENCRYPT(R, L, sched) \
do { \
union lc4 { __be32 l; u8 c[4]; } u; \
union lc4 { u32 l; u8 c[4]; } u; \
u.l = sched ^ R; \
L ^= sbox0[u.c[0]] ^ sbox1[u.c[1]] ^ sbox2[u.c[2]] ^ sbox3[u.c[3]]; \
} while(0)
Expand All @@ -237,7 +237,7 @@ static void fcrypt_encrypt(struct crypto_tfm *tfm, u8 *dst, const u8 *src)
{
const struct fcrypt_ctx *ctx = crypto_tfm_ctx(tfm);
struct {
__be32 l, r;
u32 l, r;
} X;

memcpy(&X, src, sizeof(X));
Expand Down Expand Up @@ -269,7 +269,7 @@ static void fcrypt_decrypt(struct crypto_tfm *tfm, u8 *dst, const u8 *src)
{
const struct fcrypt_ctx *ctx = crypto_tfm_ctx(tfm);
struct {
__be32 l, r;
u32 l, r;
} X;

memcpy(&X, src, sizeof(X));
Expand Down Expand Up @@ -328,22 +328,22 @@ static int fcrypt_setkey(struct crypto_tfm *tfm, const u8 *key, unsigned int key
k |= (*key) >> 1;

/* Use lower 32 bits for schedule, rotate by 11 each round (16 times) */
ctx->sched[0x0] = cpu_to_be32(k); ror56_64(k, 11);
ctx->sched[0x1] = cpu_to_be32(k); ror56_64(k, 11);
ctx->sched[0x2] = cpu_to_be32(k); ror56_64(k, 11);
ctx->sched[0x3] = cpu_to_be32(k); ror56_64(k, 11);
ctx->sched[0x4] = cpu_to_be32(k); ror56_64(k, 11);
ctx->sched[0x5] = cpu_to_be32(k); ror56_64(k, 11);
ctx->sched[0x6] = cpu_to_be32(k); ror56_64(k, 11);
ctx->sched[0x7] = cpu_to_be32(k); ror56_64(k, 11);
ctx->sched[0x8] = cpu_to_be32(k); ror56_64(k, 11);
ctx->sched[0x9] = cpu_to_be32(k); ror56_64(k, 11);
ctx->sched[0xa] = cpu_to_be32(k); ror56_64(k, 11);
ctx->sched[0xb] = cpu_to_be32(k); ror56_64(k, 11);
ctx->sched[0xc] = cpu_to_be32(k); ror56_64(k, 11);
ctx->sched[0xd] = cpu_to_be32(k); ror56_64(k, 11);
ctx->sched[0xe] = cpu_to_be32(k); ror56_64(k, 11);
ctx->sched[0xf] = cpu_to_be32(k);
ctx->sched[0x0] = be32_to_cpu(k); ror56_64(k, 11);
ctx->sched[0x1] = be32_to_cpu(k); ror56_64(k, 11);
ctx->sched[0x2] = be32_to_cpu(k); ror56_64(k, 11);
ctx->sched[0x3] = be32_to_cpu(k); ror56_64(k, 11);
ctx->sched[0x4] = be32_to_cpu(k); ror56_64(k, 11);
ctx->sched[0x5] = be32_to_cpu(k); ror56_64(k, 11);
ctx->sched[0x6] = be32_to_cpu(k); ror56_64(k, 11);
ctx->sched[0x7] = be32_to_cpu(k); ror56_64(k, 11);
ctx->sched[0x8] = be32_to_cpu(k); ror56_64(k, 11);
ctx->sched[0x9] = be32_to_cpu(k); ror56_64(k, 11);
ctx->sched[0xa] = be32_to_cpu(k); ror56_64(k, 11);
ctx->sched[0xb] = be32_to_cpu(k); ror56_64(k, 11);
ctx->sched[0xc] = be32_to_cpu(k); ror56_64(k, 11);
ctx->sched[0xd] = be32_to_cpu(k); ror56_64(k, 11);
ctx->sched[0xe] = be32_to_cpu(k); ror56_64(k, 11);
ctx->sched[0xf] = be32_to_cpu(k);

return 0;
#else
Expand All @@ -369,22 +369,22 @@ static int fcrypt_setkey(struct crypto_tfm *tfm, const u8 *key, unsigned int key
lo |= (*key) >> 1;

/* Use lower 32 bits for schedule, rotate by 11 each round (16 times) */
ctx->sched[0x0] = cpu_to_be32(lo); ror56(hi, lo, 11);
ctx->sched[0x1] = cpu_to_be32(lo); ror56(hi, lo, 11);
ctx->sched[0x2] = cpu_to_be32(lo); ror56(hi, lo, 11);
ctx->sched[0x3] = cpu_to_be32(lo); ror56(hi, lo, 11);
ctx->sched[0x4] = cpu_to_be32(lo); ror56(hi, lo, 11);
ctx->sched[0x5] = cpu_to_be32(lo); ror56(hi, lo, 11);
ctx->sched[0x6] = cpu_to_be32(lo); ror56(hi, lo, 11);
ctx->sched[0x7] = cpu_to_be32(lo); ror56(hi, lo, 11);
ctx->sched[0x8] = cpu_to_be32(lo); ror56(hi, lo, 11);
ctx->sched[0x9] = cpu_to_be32(lo); ror56(hi, lo, 11);
ctx->sched[0xa] = cpu_to_be32(lo); ror56(hi, lo, 11);
ctx->sched[0xb] = cpu_to_be32(lo); ror56(hi, lo, 11);
ctx->sched[0xc] = cpu_to_be32(lo); ror56(hi, lo, 11);
ctx->sched[0xd] = cpu_to_be32(lo); ror56(hi, lo, 11);
ctx->sched[0xe] = cpu_to_be32(lo); ror56(hi, lo, 11);
ctx->sched[0xf] = cpu_to_be32(lo);
ctx->sched[0x0] = be32_to_cpu(lo); ror56(hi, lo, 11);
ctx->sched[0x1] = be32_to_cpu(lo); ror56(hi, lo, 11);
ctx->sched[0x2] = be32_to_cpu(lo); ror56(hi, lo, 11);
ctx->sched[0x3] = be32_to_cpu(lo); ror56(hi, lo, 11);
ctx->sched[0x4] = be32_to_cpu(lo); ror56(hi, lo, 11);
ctx->sched[0x5] = be32_to_cpu(lo); ror56(hi, lo, 11);
ctx->sched[0x6] = be32_to_cpu(lo); ror56(hi, lo, 11);
ctx->sched[0x7] = be32_to_cpu(lo); ror56(hi, lo, 11);
ctx->sched[0x8] = be32_to_cpu(lo); ror56(hi, lo, 11);
ctx->sched[0x9] = be32_to_cpu(lo); ror56(hi, lo, 11);
ctx->sched[0xa] = be32_to_cpu(lo); ror56(hi, lo, 11);
ctx->sched[0xb] = be32_to_cpu(lo); ror56(hi, lo, 11);
ctx->sched[0xc] = be32_to_cpu(lo); ror56(hi, lo, 11);
ctx->sched[0xd] = be32_to_cpu(lo); ror56(hi, lo, 11);
ctx->sched[0xe] = be32_to_cpu(lo); ror56(hi, lo, 11);
ctx->sched[0xf] = be32_to_cpu(lo);
return 0;
#endif
}
Expand Down
5 changes: 0 additions & 5 deletions trunk/drivers/char/cs5535_gpio.c
Original file line number Diff line number Diff line change
Expand Up @@ -104,11 +104,6 @@ static ssize_t cs5535_gpio_write(struct file *file, const char __user *data,
for (j = 0; j < ARRAY_SIZE(rm); j++) {
if (c == rm[j].on) {
outl(m1, base + rm[j].wr_offset);
/* If enabling output, turn off AUX 1 and AUX 2 */
if (c == 'O') {
outl(m0, base + 0x10);
outl(m0, base + 0x14);
}
break;
} else if (c == rm[j].off) {
outl(m0, base + rm[j].wr_offset);
Expand Down
13 changes: 7 additions & 6 deletions trunk/drivers/input/touchscreen/ads7846.c
Original file line number Diff line number Diff line change
Expand Up @@ -267,12 +267,13 @@ static int ads7846_read12_ser(struct device *dev, unsigned command)
ts->irq_disabled = 0;
enable_irq(spi->irq);

if (status == 0) {
/* on-wire is a must-ignore bit, a BE12 value, then padding */
sample = be16_to_cpu(req->sample);
sample = sample >> 3;
sample &= 0x0fff;
}
if (req->msg.status)
status = req->msg.status;

/* on-wire is a must-ignore bit, a BE12 value, then padding */
sample = be16_to_cpu(req->sample);
sample = sample >> 3;
sample &= 0x0fff;

kfree(req);
return status ? status : sample;
Expand Down
10 changes: 10 additions & 0 deletions trunk/drivers/mmc/host/mmc_spi.c
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,8 @@ mmc_spi_readbytes(struct mmc_spi_host *host, unsigned len)
DMA_FROM_DEVICE);

status = spi_sync(host->spi, &host->readback);
if (status == 0)
status = host->readback.status;

if (host->dma_dev)
dma_sync_single_for_cpu(host->dma_dev,
Expand Down Expand Up @@ -478,6 +480,8 @@ mmc_spi_command_send(struct mmc_spi_host *host,
DMA_BIDIRECTIONAL);
}
status = spi_sync(host->spi, &host->m);
if (status == 0)
status = host->m.status;

if (host->dma_dev)
dma_sync_single_for_cpu(host->dma_dev,
Expand Down Expand Up @@ -620,6 +624,8 @@ mmc_spi_writeblock(struct mmc_spi_host *host, struct spi_transfer *t)
DMA_BIDIRECTIONAL);

status = spi_sync(spi, &host->m);
if (status == 0)
status = host->m.status;

if (status != 0) {
dev_dbg(&spi->dev, "write error (%d)\n", status);
Expand Down Expand Up @@ -720,6 +726,8 @@ mmc_spi_readblock(struct mmc_spi_host *host, struct spi_transfer *t)
}

status = spi_sync(spi, &host->m);
if (status == 0)
status = host->m.status;

if (host->dma_dev) {
dma_sync_single_for_cpu(host->dma_dev,
Expand Down Expand Up @@ -897,6 +905,8 @@ mmc_spi_data_do(struct mmc_spi_host *host, struct mmc_command *cmd,
DMA_BIDIRECTIONAL);

tmp = spi_sync(spi, &host->m);
if (tmp == 0)
tmp = host->m.status;

if (host->dma_dev)
dma_sync_single_for_cpu(host->dma_dev,
Expand Down
4 changes: 2 additions & 2 deletions trunk/drivers/rtc/interface.c
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,7 @@ int rtc_irq_register(struct rtc_device *rtc, struct rtc_task *task)
return -EINVAL;

/* Cannot register while the char dev is in use */
if (test_and_set_bit_lock(RTC_DEV_BUSY, &rtc->flags))
if (test_and_set_bit(RTC_DEV_BUSY, &rtc->flags))
return -EBUSY;

spin_lock_irq(&rtc->irq_task_lock);
Expand All @@ -303,7 +303,7 @@ int rtc_irq_register(struct rtc_device *rtc, struct rtc_task *task)
}
spin_unlock_irq(&rtc->irq_task_lock);

clear_bit_unlock(RTC_DEV_BUSY, &rtc->flags);
clear_bit(RTC_DEV_BUSY, &rtc->flags);

return retval;
}
Expand Down
6 changes: 3 additions & 3 deletions trunk/drivers/rtc/rtc-dev.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ static int rtc_dev_open(struct inode *inode, struct file *file)
struct rtc_device, char_dev);
const struct rtc_class_ops *ops = rtc->ops;

if (test_and_set_bit_lock(RTC_DEV_BUSY, &rtc->flags))
if (test_and_set_bit(RTC_DEV_BUSY, &rtc->flags))
return -EBUSY;

file->private_data = rtc;
Expand All @@ -41,7 +41,7 @@ static int rtc_dev_open(struct inode *inode, struct file *file)
}

/* something has gone wrong */
clear_bit_unlock(RTC_DEV_BUSY, &rtc->flags);
clear_bit(RTC_DEV_BUSY, &rtc->flags);
return err;
}

Expand Down Expand Up @@ -402,7 +402,7 @@ static int rtc_dev_release(struct inode *inode, struct file *file)
if (rtc->ops->release)
rtc->ops->release(rtc->dev.parent);

clear_bit_unlock(RTC_DEV_BUSY, &rtc->flags);
clear_bit(RTC_DEV_BUSY, &rtc->flags);
return 0;
}

Expand Down
12 changes: 9 additions & 3 deletions trunk/drivers/rtc/rtc-max6902.c
Original file line number Diff line number Diff line change
Expand Up @@ -89,9 +89,13 @@ static int max6902_get_reg(struct device *dev, unsigned char address,

/* do the i/o */
status = spi_sync(spi, &message);

if (status == 0)
*data = chip->rx_buf[1];
status = message.status;
else
return status;

*data = chip->rx_buf[1];

return status;
}

Expand Down Expand Up @@ -121,7 +125,9 @@ static int max6902_get_datetime(struct device *dev, struct rtc_time *dt)

/* do the i/o */
status = spi_sync(spi, &message);
if (status)
if (status == 0)
status = message.status;
else
return status;

/* The chip sends data in this order:
Expand Down
7 changes: 0 additions & 7 deletions trunk/drivers/spi/at25.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,6 @@
#include <linux/spi/eeprom.h>


/*
* NOTE: this is an *EEPROM* driver. The vagaries of product naming
* mean that some AT25 products are EEPROMs, and others are FLASH.
* Handle FLASH chips with the drivers/mtd/devices/m25p80.c driver,
* not this one!
*/

struct at25_data {
struct spi_device *spi;
struct mutex lock;
Expand Down
Loading

0 comments on commit 4f9dd19

Please sign in to comment.