Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7268e3c4 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  ahci: fix module refcount breakage introduced by libahci split
parents b4d32648 fad16e7a
Loading
Loading
Loading
Loading
+4 −0
Original line number Original line Diff line number Diff line
@@ -90,6 +90,10 @@ static int ahci_pci_device_suspend(struct pci_dev *pdev, pm_message_t mesg);
static int ahci_pci_device_resume(struct pci_dev *pdev);
static int ahci_pci_device_resume(struct pci_dev *pdev);
#endif
#endif


static struct scsi_host_template ahci_sht = {
	AHCI_SHT("ahci"),
};

static struct ata_port_operations ahci_vt8251_ops = {
static struct ata_port_operations ahci_vt8251_ops = {
	.inherits		= &ahci_ops,
	.inherits		= &ahci_ops,
	.hardreset		= ahci_vt8251_hardreset,
	.hardreset		= ahci_vt8251_hardreset,
+11 −1
Original line number Original line Diff line number Diff line
@@ -298,7 +298,17 @@ struct ahci_host_priv {


extern int ahci_ignore_sss;
extern int ahci_ignore_sss;


extern struct scsi_host_template ahci_sht;
extern struct device_attribute *ahci_shost_attrs[];
extern struct device_attribute *ahci_sdev_attrs[];

#define AHCI_SHT(drv_name)						\
	ATA_NCQ_SHT(drv_name),						\
	.can_queue		= AHCI_MAX_CMDS - 1,			\
	.sg_tablesize		= AHCI_MAX_SG,				\
	.dma_boundary		= AHCI_DMA_BOUNDARY,			\
	.shost_attrs		= ahci_shost_attrs,			\
	.sdev_attrs		= ahci_sdev_attrs

extern struct ata_port_operations ahci_ops;
extern struct ata_port_operations ahci_ops;


void ahci_save_initial_config(struct device *dev,
void ahci_save_initial_config(struct device *dev,
+5 −1
Original line number Original line Diff line number Diff line
@@ -23,6 +23,10 @@
#include <linux/ahci_platform.h>
#include <linux/ahci_platform.h>
#include "ahci.h"
#include "ahci.h"


static struct scsi_host_template ahci_platform_sht = {
	AHCI_SHT("ahci_platform"),
};

static int __init ahci_probe(struct platform_device *pdev)
static int __init ahci_probe(struct platform_device *pdev)
{
{
	struct device *dev = &pdev->dev;
	struct device *dev = &pdev->dev;
@@ -145,7 +149,7 @@ static int __init ahci_probe(struct platform_device *pdev)
	ahci_print_info(host, "platform");
	ahci_print_info(host, "platform");


	rc = ata_host_activate(host, irq, ahci_interrupt, IRQF_SHARED,
	rc = ata_host_activate(host, irq, ahci_interrupt, IRQF_SHARED,
			       &ahci_sht);
			       &ahci_platform_sht);
	if (rc)
	if (rc)
		goto err0;
		goto err0;


+4 −12
Original line number Original line Diff line number Diff line
@@ -121,7 +121,7 @@ static DEVICE_ATTR(ahci_port_cmd, S_IRUGO, ahci_show_port_cmd, NULL);
static DEVICE_ATTR(em_buffer, S_IWUSR | S_IRUGO,
static DEVICE_ATTR(em_buffer, S_IWUSR | S_IRUGO,
		   ahci_read_em_buffer, ahci_store_em_buffer);
		   ahci_read_em_buffer, ahci_store_em_buffer);


static struct device_attribute *ahci_shost_attrs[] = {
struct device_attribute *ahci_shost_attrs[] = {
	&dev_attr_link_power_management_policy,
	&dev_attr_link_power_management_policy,
	&dev_attr_em_message_type,
	&dev_attr_em_message_type,
	&dev_attr_em_message,
	&dev_attr_em_message,
@@ -132,22 +132,14 @@ static struct device_attribute *ahci_shost_attrs[] = {
	&dev_attr_em_buffer,
	&dev_attr_em_buffer,
	NULL
	NULL
};
};
EXPORT_SYMBOL_GPL(ahci_shost_attrs);


static struct device_attribute *ahci_sdev_attrs[] = {
struct device_attribute *ahci_sdev_attrs[] = {
	&dev_attr_sw_activity,
	&dev_attr_sw_activity,
	&dev_attr_unload_heads,
	&dev_attr_unload_heads,
	NULL
	NULL
};
};

EXPORT_SYMBOL_GPL(ahci_sdev_attrs);
struct scsi_host_template ahci_sht = {
	ATA_NCQ_SHT("ahci"),
	.can_queue		= AHCI_MAX_CMDS - 1,
	.sg_tablesize		= AHCI_MAX_SG,
	.dma_boundary		= AHCI_DMA_BOUNDARY,
	.shost_attrs		= ahci_shost_attrs,
	.sdev_attrs		= ahci_sdev_attrs,
};
EXPORT_SYMBOL_GPL(ahci_sht);


struct ata_port_operations ahci_ops = {
struct ata_port_operations ahci_ops = {
	.inherits		= &sata_pmp_port_ops,
	.inherits		= &sata_pmp_port_ops,