Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 348145
b: refs/heads/master
c: ed4e6a9
h: refs/heads/master
i:
  348143: 27fcdb5
v: v3
  • Loading branch information
Linus Torvalds committed Jan 3, 2013
1 parent e08f0c8 commit 6f273c6
Show file tree
Hide file tree
Showing 47 changed files with 401 additions and 253 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: 13d2eb012927b03ac1b80202af5aa9abc4003bd5
refs/heads/master: ed4e6a94d3053b9900b4a1338b8056d532a564c4
10 changes: 10 additions & 0 deletions trunk/Documentation/devicetree/bindings/watchdog/twl4030-wdt.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
Device tree bindings for twl4030-wdt driver (TWL4030 watchdog)

Required properties:
compatible = "ti,twl4030-wdt";

Example:

watchdog {
compatible = "ti,twl4030-wdt";
};
2 changes: 1 addition & 1 deletion trunk/Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
VERSION = 3
PATCHLEVEL = 8
SUBLEVEL = 0
EXTRAVERSION = -rc1
EXTRAVERSION = -rc2
NAME = Terrified Chipmunk

# *DOCUMENTATION*
Expand Down
4 changes: 4 additions & 0 deletions trunk/arch/arm/boot/dts/twl4030.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@
interrupts = <11>;
};

watchdog {
compatible = "ti,twl4030-wdt";
};

vdac: regulator-vdac {
compatible = "ti,twl4030-vdac";
regulator-min-microvolt = <1800000>;
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/ia64/include/asm/unistd.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@



#define NR_syscalls 311 /* length of syscall table */
#define NR_syscalls 312 /* length of syscall table */

/*
* The following defines stop scripts/checksyscalls.sh from complaining about
Expand Down
1 change: 1 addition & 0 deletions trunk/arch/ia64/include/uapi/asm/unistd.h
Original file line number Diff line number Diff line change
Expand Up @@ -324,5 +324,6 @@
#define __NR_process_vm_readv 1332
#define __NR_process_vm_writev 1333
#define __NR_accept4 1334
#define __NR_finit_module 1335

#endif /* _UAPI_ASM_IA64_UNISTD_H */
1 change: 1 addition & 0 deletions trunk/arch/ia64/kernel/entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -1785,6 +1785,7 @@ sys_call_table:
data8 sys_process_vm_readv
data8 sys_process_vm_writev
data8 sys_accept4
data8 sys_finit_module // 1335

.org sys_call_table + 8*NR_syscalls // guard against failures to increase NR_syscalls
#endif /* __IA64_ASM_PARAVIRTUALIZED_NATIVE */
5 changes: 0 additions & 5 deletions trunk/arch/powerpc/kernel/time.c
Original file line number Diff line number Diff line change
Expand Up @@ -770,13 +770,8 @@ void update_vsyscall_old(struct timespec *wall_time, struct timespec *wtm,

void update_vsyscall_tz(void)
{
/* Make userspace gettimeofday spin until we're done. */
++vdso_data->tb_update_count;
smp_mb();
vdso_data->tz_minuteswest = sys_tz.tz_minuteswest;
vdso_data->tz_dsttime = sys_tz.tz_dsttime;
smp_mb();
++vdso_data->tb_update_count;
}

static void __init clocksource_init(void)
Expand Down
3 changes: 2 additions & 1 deletion trunk/arch/powerpc/platforms/40x/ppc40x_simple.c
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,8 @@ static const char * const board[] __initconst = {
"amcc,makalu",
"apm,klondike",
"est,hotfoot",
"plathome,obs600"
"plathome,obs600",
NULL
};

static int __init ppc40x_probe(void)
Expand Down
3 changes: 2 additions & 1 deletion trunk/arch/x86/pci/common.c
Original file line number Diff line number Diff line change
Expand Up @@ -434,7 +434,8 @@ static const struct dmi_system_id __devinitconst pciprobe_dmi_table[] = {
.callback = set_scan_all,
.ident = "Stratus/NEC ftServer",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "ftServer"),
DMI_MATCH(DMI_SYS_VENDOR, "Stratus"),
DMI_MATCH(DMI_PRODUCT_NAME, "ftServer"),
},
},
{}
Expand Down
5 changes: 3 additions & 2 deletions trunk/drivers/leds/leds-gpio.c
Original file line number Diff line number Diff line change
Expand Up @@ -127,8 +127,9 @@ static int create_gpio_led(const struct gpio_led *template,
led_dat->cdev.flags |= LED_CORE_SUSPENDRESUME;

ret = devm_gpio_request_one(parent, template->gpio,
GPIOF_DIR_OUT | (led_dat->active_low ^ state),
template->name);
(led_dat->active_low ^ state) ?
GPIOF_OUT_INIT_HIGH : GPIOF_OUT_INIT_LOW,
template->name);
if (ret < 0)
return ret;

Expand Down
85 changes: 34 additions & 51 deletions trunk/drivers/pci/pci-sysfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -422,77 +422,60 @@ static ssize_t sriov_numvfs_show(struct device *dev,
}

/*
* num_vfs > 0; number of vfs to enable
* num_vfs = 0; disable all vfs
* num_vfs > 0; number of VFs to enable
* num_vfs = 0; disable all VFs
*
* Note: SRIOV spec doesn't allow partial VF
* disable, so its all or none.
* disable, so it's all or none.
*/
static ssize_t sriov_numvfs_store(struct device *dev,
struct device_attribute *attr,
const char *buf, size_t count)
{
struct pci_dev *pdev = to_pci_dev(dev);
int num_vfs_enabled = 0;
int num_vfs;
int ret = 0;
u16 total;
int ret;
u16 num_vfs;

if (kstrtoint(buf, 0, &num_vfs) < 0)
return -EINVAL;
ret = kstrtou16(buf, 0, &num_vfs);
if (ret < 0)
return ret;

if (num_vfs > pci_sriov_get_totalvfs(pdev))
return -ERANGE;

if (num_vfs == pdev->sriov->num_VFs)
return count; /* no change */

/* is PF driver loaded w/callback */
if (!pdev->driver || !pdev->driver->sriov_configure) {
dev_info(&pdev->dev,
"Driver doesn't support SRIOV configuration via sysfs\n");
dev_info(&pdev->dev, "Driver doesn't support SRIOV configuration via sysfs\n");
return -ENOSYS;
}

/* if enabling vf's ... */
total = pci_sriov_get_totalvfs(pdev);
/* Requested VFs to enable < totalvfs and none enabled already */
if ((num_vfs > 0) && (num_vfs <= total)) {
if (pdev->sriov->num_VFs == 0) {
num_vfs_enabled =
pdev->driver->sriov_configure(pdev, num_vfs);
if ((num_vfs_enabled >= 0) &&
(num_vfs_enabled != num_vfs)) {
dev_warn(&pdev->dev,
"Only %d VFs enabled\n",
num_vfs_enabled);
return count;
} else if (num_vfs_enabled < 0)
/* error code from driver callback */
return num_vfs_enabled;
} else if (num_vfs == pdev->sriov->num_VFs) {
dev_warn(&pdev->dev,
"%d VFs already enabled; no enable action taken\n",
num_vfs);
return count;
} else {
dev_warn(&pdev->dev,
"%d VFs already enabled. Disable before enabling %d VFs\n",
pdev->sriov->num_VFs, num_vfs);
return -EINVAL;
}
if (num_vfs == 0) {
/* disable VFs */
ret = pdev->driver->sriov_configure(pdev, 0);
if (ret < 0)
return ret;
return count;
}

/* disable vfs */
if (num_vfs == 0) {
if (pdev->sriov->num_VFs != 0) {
ret = pdev->driver->sriov_configure(pdev, 0);
return ret ? ret : count;
} else {
dev_warn(&pdev->dev,
"All VFs disabled; no disable action taken\n");
return count;
}
/* enable VFs */
if (pdev->sriov->num_VFs) {
dev_warn(&pdev->dev, "%d VFs already enabled. Disable before enabling %d VFs\n",
pdev->sriov->num_VFs, num_vfs);
return -EBUSY;
}

dev_err(&pdev->dev,
"Invalid value for number of VFs to enable: %d\n", num_vfs);
ret = pdev->driver->sriov_configure(pdev, num_vfs);
if (ret < 0)
return ret;

return -EINVAL;
if (ret != num_vfs)
dev_warn(&pdev->dev, "%d VFs requested; only %d enabled\n",
num_vfs, ret);

return count;
}

static struct device_attribute sriov_totalvfs_attr = __ATTR_RO(sriov_totalvfs);
Expand Down
20 changes: 19 additions & 1 deletion trunk/drivers/pci/pcie/portdrv_pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -134,10 +134,28 @@ static int pcie_port_runtime_resume(struct device *dev)
return 0;
}

static int pci_dev_pme_poll(struct pci_dev *pdev, void *data)
{
bool *pme_poll = data;

if (pdev->pme_poll)
*pme_poll = true;
return 0;
}

static int pcie_port_runtime_idle(struct device *dev)
{
struct pci_dev *pdev = to_pci_dev(dev);
bool pme_poll = false;

/*
* If any subordinate device needs pme poll, we should keep
* the port in D0, because we need port in D0 to poll it.
*/
pci_walk_bus(pdev->subordinate, pci_dev_pme_poll, &pme_poll);
/* Delay for a short while to prevent too frequent suspend/resume */
pm_schedule_suspend(dev, 10);
if (!pme_poll)
pm_schedule_suspend(dev, 10);
return -EBUSY;
}
#else
Expand Down
7 changes: 5 additions & 2 deletions trunk/drivers/pci/quirks.c
Original file line number Diff line number Diff line change
Expand Up @@ -2725,7 +2725,7 @@ static void ricoh_mmc_fixup_r5c832(struct pci_dev *dev)
if (PCI_FUNC(dev->devfn))
return;
/*
* RICOH 0xe823 SD/MMC card reader fails to recognize
* RICOH 0xe822 and 0xe823 SD/MMC card readers fail to recognize
* certain types of SD/MMC cards. Lowering the SD base
* clock frequency from 200Mhz to 50Mhz fixes this issue.
*
Expand All @@ -2736,7 +2736,8 @@ static void ricoh_mmc_fixup_r5c832(struct pci_dev *dev)
* 0xf9 - Key register for 0x150
* 0xfc - key register for 0xe1
*/
if (dev->device == PCI_DEVICE_ID_RICOH_R5CE823) {
if (dev->device == PCI_DEVICE_ID_RICOH_R5CE822 ||
dev->device == PCI_DEVICE_ID_RICOH_R5CE823) {
pci_write_config_byte(dev, 0xf9, 0xfc);
pci_write_config_byte(dev, 0x150, 0x10);
pci_write_config_byte(dev, 0xf9, 0x00);
Expand All @@ -2763,6 +2764,8 @@ static void ricoh_mmc_fixup_r5c832(struct pci_dev *dev)
}
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_RICOH, PCI_DEVICE_ID_RICOH_R5C832, ricoh_mmc_fixup_r5c832);
DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_RICOH, PCI_DEVICE_ID_RICOH_R5C832, ricoh_mmc_fixup_r5c832);
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_RICOH, PCI_DEVICE_ID_RICOH_R5CE822, ricoh_mmc_fixup_r5c832);
DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_RICOH, PCI_DEVICE_ID_RICOH_R5CE822, ricoh_mmc_fixup_r5c832);
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_RICOH, PCI_DEVICE_ID_RICOH_R5CE823, ricoh_mmc_fixup_r5c832);
DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_RICOH, PCI_DEVICE_ID_RICOH_R5CE823, ricoh_mmc_fixup_r5c832);
#endif /*CONFIG_MMC_RICOH_MMC*/
Expand Down
17 changes: 6 additions & 11 deletions trunk/drivers/watchdog/da9055_wdt.c
Original file line number Diff line number Diff line change
Expand Up @@ -72,20 +72,21 @@ static int da9055_wdt_set_timeout(struct watchdog_device *wdt_dev,
DA9055_TWDSCALE_MASK,
da9055_wdt_maps[i].reg_val <<
DA9055_TWDSCALE_SHIFT);
if (ret < 0)
if (ret < 0) {
dev_err(da9055->dev,
"Failed to update timescale bit, %d\n", ret);
return ret;
}

wdt_dev->timeout = timeout;

return ret;
return 0;
}

static int da9055_wdt_ping(struct watchdog_device *wdt_dev)
{
struct da9055_wdt_data *driver_data = watchdog_get_drvdata(wdt_dev);
struct da9055 *da9055 = driver_data->da9055;
int ret;

/*
* We have a minimum time for watchdog window called TWDMIN. A write
Expand All @@ -94,18 +95,12 @@ static int da9055_wdt_ping(struct watchdog_device *wdt_dev)
mdelay(DA9055_TWDMIN);

/* Reset the watchdog timer */
ret = da9055_reg_update(da9055, DA9055_REG_CONTROL_E,
DA9055_WATCHDOG_MASK, 1);

return ret;
return da9055_reg_update(da9055, DA9055_REG_CONTROL_E,
DA9055_WATCHDOG_MASK, 1);
}

static void da9055_wdt_release_resources(struct kref *r)
{
struct da9055_wdt_data *driver_data =
container_of(r, struct da9055_wdt_data, kref);

kfree(driver_data);
}

static void da9055_wdt_ref(struct watchdog_device *wdt_dev)
Expand Down
1 change: 0 additions & 1 deletion trunk/drivers/watchdog/omap_wdt.c
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,6 @@ static int omap_wdt_remove(struct platform_device *pdev)
{
struct watchdog_device *wdog = platform_get_drvdata(pdev);
struct omap_wdt_dev *wdev = watchdog_get_drvdata(wdog);
struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, 0);

pm_runtime_disable(wdev->dev);
watchdog_unregister_device(wdog);
Expand Down
11 changes: 9 additions & 2 deletions trunk/drivers/watchdog/twl4030_wdt.c
Original file line number Diff line number Diff line change
Expand Up @@ -131,14 +131,21 @@ static int twl4030_wdt_resume(struct platform_device *pdev)
#define twl4030_wdt_resume NULL
#endif

static const struct of_device_id twl_wdt_of_match[] = {
{ .compatible = "ti,twl4030-wdt", },
{ },
};
MODULE_DEVICE_TABLE(of, twl_wdt_of_match);

static struct platform_driver twl4030_wdt_driver = {
.probe = twl4030_wdt_probe,
.remove = twl4030_wdt_remove,
.suspend = twl4030_wdt_suspend,
.resume = twl4030_wdt_resume,
.driver = {
.owner = THIS_MODULE,
.name = "twl4030_wdt",
.owner = THIS_MODULE,
.name = "twl4030_wdt",
.of_match_table = twl_wdt_of_match,
},
};

Expand Down
2 changes: 1 addition & 1 deletion trunk/fs/ecryptfs/crypto.c
Original file line number Diff line number Diff line change
Expand Up @@ -1935,7 +1935,7 @@ static const unsigned char filename_rev_map[256] = {
* @src: Source location for the filename to encode
* @src_size: Size of the source in bytes
*/
void ecryptfs_encode_for_filename(unsigned char *dst, size_t *dst_size,
static void ecryptfs_encode_for_filename(unsigned char *dst, size_t *dst_size,
unsigned char *src, size_t src_size)
{
size_t num_blocks;
Expand Down
6 changes: 3 additions & 3 deletions trunk/fs/ecryptfs/kthread.c
Original file line number Diff line number Diff line change
Expand Up @@ -102,12 +102,12 @@ int __init ecryptfs_init_kthread(void)

void ecryptfs_destroy_kthread(void)
{
struct ecryptfs_open_req *req;
struct ecryptfs_open_req *req, *tmp;

mutex_lock(&ecryptfs_kthread_ctl.mux);
ecryptfs_kthread_ctl.flags |= ECRYPTFS_KTHREAD_ZOMBIE;
list_for_each_entry(req, &ecryptfs_kthread_ctl.req_list,
kthread_ctl_list) {
list_for_each_entry_safe(req, tmp, &ecryptfs_kthread_ctl.req_list,
kthread_ctl_list) {
list_del(&req->kthread_ctl_list);
*req->lower_file = ERR_PTR(-EIO);
complete(&req->done);
Expand Down
Loading

0 comments on commit 6f273c6

Please sign in to comment.