Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 361665
b: refs/heads/master
c: fe8d526
h: refs/heads/master
i:
  361663: 5d919a9
v: v3
  • Loading branch information
James Hogan authored and Linus Torvalds committed Mar 22, 2013
1 parent d94158b commit 730f669
Show file tree
Hide file tree
Showing 52 changed files with 193 additions and 411 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: b9cb3bf42efc2faa55e815f4368738978536c6d1
refs/heads/master: fe8d52614bd419cedef85ef55850fd090373f481
2 changes: 1 addition & 1 deletion trunk/Documentation/sound/alsa/ALSA-Configuration.txt
Original file line number Diff line number Diff line change
Expand Up @@ -912,7 +912,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
models depending on the codec chip. The list of available models
is found in HD-Audio-Models.txt

The model name "generic" is treated as a special case. When this
The model name "genric" is treated as a special case. When this
model is given, the driver uses the generic codec parser without
"codec-patch". It's sometimes good for testing and debugging.

Expand Down
2 changes: 1 addition & 1 deletion trunk/Documentation/sound/alsa/seq_oss.html
Original file line number Diff line number Diff line change
Expand Up @@ -285,7 +285,7 @@ <H4>
<H4>
7.2.4 Close Callback</H4>
The <TT>close</TT> callback is called when this device is closed by the
application. If any private data was allocated in open callback, it must
applicaion. If any private data was allocated in open callback, it must
be released in the close callback. The deletion of ALSA port should be
done here, too. This callback must not be NULL.
<H4>
Expand Down
15 changes: 6 additions & 9 deletions trunk/drivers/edac/amd64_edac.c
Original file line number Diff line number Diff line change
Expand Up @@ -2048,18 +2048,12 @@ static int init_csrows(struct mem_ctl_info *mci)
edac_dbg(1, "MC node: %d, csrow: %d\n",
pvt->mc_node_id, i);

if (row_dct0) {
if (row_dct0)
nr_pages = amd64_csrow_nr_pages(pvt, 0, i);
csrow->channels[0]->dimm->nr_pages = nr_pages;
}

/* K8 has only one DCT */
if (boot_cpu_data.x86 != 0xf && row_dct1) {
int row_dct1_pages = amd64_csrow_nr_pages(pvt, 1, i);

csrow->channels[1]->dimm->nr_pages = row_dct1_pages;
nr_pages += row_dct1_pages;
}
if (boot_cpu_data.x86 != 0xf && row_dct1)
nr_pages += amd64_csrow_nr_pages(pvt, 1, i);

mtype = amd64_determine_memory_type(pvt, i);

Expand All @@ -2078,7 +2072,9 @@ static int init_csrows(struct mem_ctl_info *mci)
dimm = csrow->channels[j]->dimm;
dimm->mtype = mtype;
dimm->edac_mode = edac_mode;
dimm->nr_pages = nr_pages;
}
csrow->nr_pages = nr_pages;
}

return empty;
Expand Down Expand Up @@ -2423,6 +2419,7 @@ static int amd64_init_one_instance(struct pci_dev *F2)

mci->pvt_info = pvt;
mci->pdev = &pvt->F2->dev;
mci->csbased = 1;

setup_mci_misc_attrs(mci, fam_type);

Expand Down
6 changes: 3 additions & 3 deletions trunk/drivers/edac/edac_mc.c
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ static void edac_mc_dump_dimm(struct dimm_info *dimm, int number)
edac_dimm_info_location(dimm, location, sizeof(location));

edac_dbg(4, "%s%i: %smapped as virtual row %d, chan %d\n",
dimm->mci->csbased ? "rank" : "dimm",
dimm->mci->mem_is_per_rank ? "rank" : "dimm",
number, location, dimm->csrow, dimm->cschannel);
edac_dbg(4, " dimm = %p\n", dimm);
edac_dbg(4, " dimm->label = '%s'\n", dimm->label);
Expand Down Expand Up @@ -341,7 +341,7 @@ struct mem_ctl_info *edac_mc_alloc(unsigned mc_num,
memcpy(mci->layers, layers, sizeof(*layer) * n_layers);
mci->nr_csrows = tot_csrows;
mci->num_cschannel = tot_channels;
mci->csbased = per_rank;
mci->mem_is_per_rank = per_rank;

/*
* Alocate and fill the csrow/channels structs
Expand Down Expand Up @@ -1235,7 +1235,7 @@ void edac_mc_handle_error(const enum hw_event_mc_err_type type,
* incrementing the compat API counters
*/
edac_dbg(4, "%s csrows map: (%d,%d)\n",
mci->csbased ? "rank" : "dimm",
mci->mem_is_per_rank ? "rank" : "dimm",
dimm->csrow, dimm->cschannel);
if (row == -1)
row = dimm->csrow;
Expand Down
17 changes: 12 additions & 5 deletions trunk/drivers/edac/edac_mc_sysfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ static const char *edac_caps[] = {
* and the per-dimm/per-rank one
*/
#define DEVICE_ATTR_LEGACY(_name, _mode, _show, _store) \
static struct device_attribute dev_attr_legacy_##_name = __ATTR(_name, _mode, _show, _store)
struct device_attribute dev_attr_legacy_##_name = __ATTR(_name, _mode, _show, _store)

struct dev_ch_attribute {
struct device_attribute attr;
Expand Down Expand Up @@ -180,6 +180,9 @@ static ssize_t csrow_size_show(struct device *dev,
int i;
u32 nr_pages = 0;

if (csrow->mci->csbased)
return sprintf(data, "%u\n", PAGES_TO_MiB(csrow->nr_pages));

for (i = 0; i < csrow->nr_channels; i++)
nr_pages += csrow->channels[i]->dimm->nr_pages;
return sprintf(data, "%u\n", PAGES_TO_MiB(nr_pages));
Expand Down Expand Up @@ -609,7 +612,7 @@ static int edac_create_dimm_object(struct mem_ctl_info *mci,
device_initialize(&dimm->dev);

dimm->dev.parent = &mci->dev;
if (mci->csbased)
if (mci->mem_is_per_rank)
dev_set_name(&dimm->dev, "rank%d", index);
else
dev_set_name(&dimm->dev, "dimm%d", index);
Expand Down Expand Up @@ -775,10 +778,14 @@ static ssize_t mci_size_mb_show(struct device *dev,
for (csrow_idx = 0; csrow_idx < mci->nr_csrows; csrow_idx++) {
struct csrow_info *csrow = mci->csrows[csrow_idx];

for (j = 0; j < csrow->nr_channels; j++) {
struct dimm_info *dimm = csrow->channels[j]->dimm;
if (csrow->mci->csbased) {
total_pages += csrow->nr_pages;
} else {
for (j = 0; j < csrow->nr_channels; j++) {
struct dimm_info *dimm = csrow->channels[j]->dimm;

total_pages += dimm->nr_pages;
total_pages += dimm->nr_pages;
}
}
}

Expand Down
22 changes: 3 additions & 19 deletions trunk/drivers/usb/class/cdc-acm.c
Original file line number Diff line number Diff line change
Expand Up @@ -593,6 +593,7 @@ static void acm_port_destruct(struct tty_port *port)

dev_dbg(&acm->control->dev, "%s\n", __func__);

tty_unregister_device(acm_tty_driver, acm->minor);
acm_release_minor(acm);
usb_put_intf(acm->control);
kfree(acm->country_codes);
Expand Down Expand Up @@ -976,8 +977,6 @@ static int acm_probe(struct usb_interface *intf,
int num_rx_buf;
int i;
int combined_interfaces = 0;
struct device *tty_dev;
int rv = -ENOMEM;

/* normal quirks */
quirks = (unsigned long)id->driver_info;
Expand Down Expand Up @@ -1340,24 +1339,11 @@ static int acm_probe(struct usb_interface *intf,
usb_set_intfdata(data_interface, acm);

usb_get_intf(control_interface);
tty_dev = tty_port_register_device(&acm->port, acm_tty_driver, minor,
tty_port_register_device(&acm->port, acm_tty_driver, minor,
&control_interface->dev);
if (IS_ERR(tty_dev)) {
rv = PTR_ERR(tty_dev);
goto alloc_fail8;
}

return 0;
alloc_fail8:
if (acm->country_codes) {
device_remove_file(&acm->control->dev,
&dev_attr_wCountryCodes);
device_remove_file(&acm->control->dev,
&dev_attr_iCountryCodeRelDate);
}
device_remove_file(&acm->control->dev, &dev_attr_bmCapabilities);
alloc_fail7:
usb_set_intfdata(intf, NULL);
for (i = 0; i < ACM_NW; i++)
usb_free_urb(acm->wb[i].urb);
alloc_fail6:
Expand All @@ -1373,7 +1359,7 @@ static int acm_probe(struct usb_interface *intf,
acm_release_minor(acm);
kfree(acm);
alloc_fail:
return rv;
return -ENOMEM;
}

static void stop_data_traffic(struct acm *acm)
Expand Down Expand Up @@ -1425,8 +1411,6 @@ static void acm_disconnect(struct usb_interface *intf)

stop_data_traffic(acm);

tty_unregister_device(acm_tty_driver, acm->minor);

usb_free_urb(acm->ctrlurb);
for (i = 0; i < ACM_NW; i++)
usb_free_urb(acm->wb[i].urb);
Expand Down
23 changes: 9 additions & 14 deletions trunk/drivers/usb/core/hcd-pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,6 @@ int usb_hcd_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
struct hc_driver *driver;
struct usb_hcd *hcd;
int retval;
int hcd_irq = 0;

if (usb_disabled())
return -ENODEV;
Expand All @@ -188,19 +187,15 @@ int usb_hcd_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
return -ENODEV;
dev->current_state = PCI_D0;

/*
* The xHCI driver has its own irq management
* make sure irq setup is not touched for xhci in generic hcd code
/* The xHCI driver supports MSI and MSI-X,
* so don't fail if the BIOS doesn't provide a legacy IRQ.
*/
if ((driver->flags & HCD_MASK) != HCD_USB3) {
if (!dev->irq) {
dev_err(&dev->dev,
"Found HC with no IRQ. Check BIOS/PCI %s setup!\n",
pci_name(dev));
retval = -ENODEV;
goto disable_pci;
}
hcd_irq = dev->irq;
if (!dev->irq && (driver->flags & HCD_MASK) != HCD_USB3) {
dev_err(&dev->dev,
"Found HC with no IRQ. Check BIOS/PCI %s setup!\n",
pci_name(dev));
retval = -ENODEV;
goto disable_pci;
}

hcd = usb_create_hcd(driver, &dev->dev, pci_name(dev));
Expand Down Expand Up @@ -250,7 +245,7 @@ int usb_hcd_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)

pci_set_master(dev);

retval = usb_add_hcd(hcd, hcd_irq, IRQF_SHARED);
retval = usb_add_hcd(hcd, dev->irq, IRQF_SHARED);
if (retval != 0)
goto unmap_registers;
set_hs_companion(dev, hcd);
Expand Down
3 changes: 2 additions & 1 deletion trunk/drivers/usb/gadget/f_rndis.c
Original file line number Diff line number Diff line change
Expand Up @@ -447,13 +447,14 @@ static void rndis_response_complete(struct usb_ep *ep, struct usb_request *req)
static void rndis_command_complete(struct usb_ep *ep, struct usb_request *req)
{
struct f_rndis *rndis = req->context;
struct usb_composite_dev *cdev = rndis->port.func.config->cdev;
int status;

/* received RNDIS command from USB_CDC_SEND_ENCAPSULATED_COMMAND */
// spin_lock(&dev->lock);
status = rndis_msg_parser(rndis->config, (u8 *) req->buf);
if (status < 0)
pr_err("RNDIS command error %d, %d/%d\n",
ERROR(cdev, "RNDIS command error %d, %d/%d\n",
status, req->actual, req->length);
// spin_unlock(&dev->lock);
}
Expand Down
4 changes: 2 additions & 2 deletions trunk/drivers/usb/gadget/g_ffs.c
Original file line number Diff line number Diff line change
Expand Up @@ -357,7 +357,7 @@ static int gfs_bind(struct usb_composite_dev *cdev)
goto error;
gfs_dev_desc.iProduct = gfs_strings[USB_GADGET_PRODUCT_IDX].id;

for (i = func_num; i--; ) {
for (i = func_num; --i; ) {
ret = functionfs_bind(ffs_tab[i].ffs_data, cdev);
if (unlikely(ret < 0)) {
while (++i < func_num)
Expand Down Expand Up @@ -413,7 +413,7 @@ static int gfs_unbind(struct usb_composite_dev *cdev)
gether_cleanup();
gfs_ether_setup = false;

for (i = func_num; i--; )
for (i = func_num; --i; )
if (ffs_tab[i].ffs_data)
functionfs_unbind(ffs_tab[i].ffs_data);

Expand Down
9 changes: 1 addition & 8 deletions trunk/drivers/usb/gadget/net2272.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ static const char * const ep_name[] = {
};

#define DMA_ADDR_INVALID (~(dma_addr_t)0)
#ifdef CONFIG_USB_NET2272_DMA
#ifdef CONFIG_USB_GADGET_NET2272_DMA
/*
* use_dma: the NET2272 can use an external DMA controller.
* Note that since there is no generic DMA api, some functions,
Expand Down Expand Up @@ -1495,13 +1495,6 @@ stop_activity(struct net2272 *dev, struct usb_gadget_driver *driver)
for (i = 0; i < 4; ++i)
net2272_dequeue_all(&dev->ep[i]);

/* report disconnect; the driver is already quiesced */
if (driver) {
spin_unlock(&dev->lock);
driver->disconnect(&dev->gadget);
spin_lock(&dev->lock);
}

net2272_usb_reinit(dev);
}

Expand Down
8 changes: 1 addition & 7 deletions trunk/drivers/usb/gadget/net2280.c
Original file line number Diff line number Diff line change
Expand Up @@ -1924,6 +1924,7 @@ static int net2280_start(struct usb_gadget *_gadget,
err_func:
device_remove_file (&dev->pdev->dev, &dev_attr_function);
err_unbind:
driver->unbind (&dev->gadget);
dev->gadget.dev.driver = NULL;
dev->driver = NULL;
return retval;
Expand All @@ -1945,13 +1946,6 @@ stop_activity (struct net2280 *dev, struct usb_gadget_driver *driver)
for (i = 0; i < 7; i++)
nuke (&dev->ep [i]);

/* report disconnect; the driver is already quiesced */
if (driver) {
spin_unlock(&dev->lock);
driver->disconnect(&dev->gadget);
spin_lock(&dev->lock);
}

usb_reinit (dev);
}

Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/usb/gadget/u_serial.c
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ static struct portmaster {
pr_debug(fmt, ##arg)
#endif /* pr_vdebug */
#else
#ifndef pr_vdebug
#ifndef pr_vdebig
#define pr_vdebug(fmt, arg...) \
({ if (0) pr_debug(fmt, ##arg); })
#endif /* pr_vdebug */
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/usb/gadget/udc-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ static void usb_gadget_remove_driver(struct usb_udc *udc)
usb_gadget_disconnect(udc->gadget);
udc->driver->disconnect(udc->gadget);
udc->driver->unbind(udc->gadget);
usb_gadget_udc_stop(udc->gadget, NULL);
usb_gadget_udc_stop(udc->gadget, udc->driver);

udc->driver = NULL;
udc->dev.driver = NULL;
Expand Down
1 change: 0 additions & 1 deletion trunk/drivers/usb/host/ehci-hcd.c
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,6 @@ static void ehci_quiesce (struct ehci_hcd *ehci)

static void end_unlink_async(struct ehci_hcd *ehci);
static void unlink_empty_async(struct ehci_hcd *ehci);
static void unlink_empty_async_suspended(struct ehci_hcd *ehci);
static void ehci_work(struct ehci_hcd *ehci);
static void start_unlink_intr(struct ehci_hcd *ehci, struct ehci_qh *qh);
static void end_unlink_intr(struct ehci_hcd *ehci, struct ehci_qh *qh);
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/usb/host/ehci-hub.c
Original file line number Diff line number Diff line change
Expand Up @@ -328,7 +328,7 @@ static int ehci_bus_suspend (struct usb_hcd *hcd)
ehci->rh_state = EHCI_RH_SUSPENDED;

end_unlink_async(ehci);
unlink_empty_async_suspended(ehci);
unlink_empty_async(ehci);
ehci_handle_intr_unlinks(ehci);
end_free_itds(ehci);

Expand Down
13 changes: 0 additions & 13 deletions trunk/drivers/usb/host/ehci-q.c
Original file line number Diff line number Diff line change
Expand Up @@ -1316,19 +1316,6 @@ static void unlink_empty_async(struct ehci_hcd *ehci)
}
}

/* The root hub is suspended; unlink all the async QHs */
static void unlink_empty_async_suspended(struct ehci_hcd *ehci)
{
struct ehci_qh *qh;

while (ehci->async->qh_next.qh) {
qh = ehci->async->qh_next.qh;
WARN_ON(!list_empty(&qh->qtd_list));
single_unlink_async(ehci, qh);
}
start_iaa_cycle(ehci, false);
}

/* makes sure the async qh will become idle */
/* caller must own ehci->lock */

Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/usb/host/ehci-timer.c
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,7 @@ static void ehci_iaa_watchdog(struct ehci_hcd *ehci)
* (a) SMP races against real IAA firing and retriggering, and
* (b) clean HC shutdown, when IAA watchdog was pending.
*/
if (1) {
if (ehci->async_iaa) {
u32 cmd, status;

/* If we get here, IAA is *REALLY* late. It's barely
Expand Down
Loading

0 comments on commit 730f669

Please sign in to comment.