* libsas: pci_iommu_ops undefined on !PCI
@ 2007-07-26 8:31 Meelis Roos
2007-07-26 9:21 ` [PATCH] Remove libsas PCI dependencies Jeff Garzik
0 siblings, 1 reply; 10+ messages in thread
From: Meelis Roos @ 2007-07-26 8:31 UTC (permalink / raw)
To: Linux Kernel list
Tried to compile everythin SCSI on my SBus-only sparc64, including SAS
supoort. Seems that libsas seems to depend on PCI - does it need to?
MODPOST 446 modules
ERROR: "pci_iommu_ops" [drivers/scsi/libsas/libsas.ko] undefined!
--
Meelis Roos (mroos@linux.ee)
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH] Remove libsas PCI dependencies
2007-07-26 8:31 libsas: pci_iommu_ops undefined on !PCI Meelis Roos
@ 2007-07-26 9:21 ` Jeff Garzik
2007-07-26 12:46 ` James Bottomley
0 siblings, 1 reply; 10+ messages in thread
From: Jeff Garzik @ 2007-07-26 9:21 UTC (permalink / raw)
To: Meelis Roos, linux-scsi
Cc: Linux Kernel list, Darrick J. Wong, James Bottomley,
Andrew Morton
[-- Attachment #1: Type: text/plain, Size: 436 bytes --]
Meelis Roos wrote:
> Tried to compile everythin SCSI on my SBus-only sparc64, including SAS
> supoort. Seems that libsas seems to depend on PCI - does it need to?
>
> MODPOST 446 modules
> ERROR: "pci_iommu_ops" [drivers/scsi/libsas/libsas.ko] undefined!
Does the attached patch fix things? 2.6.23-rc1 material, methinks.
libsas should -not- require PCI, even though aic94xx does.
Signed-off-by: Jeff Garzik <jeff@garzik.org>
[-- Attachment #2: patch --]
[-- Type: text/plain, Size: 5914 bytes --]
diff --git a/drivers/scsi/aic94xx/aic94xx_init.c b/drivers/scsi/aic94xx/aic94xx_init.c
index ab00aec..63bcde2 100644
--- a/drivers/scsi/aic94xx/aic94xx_init.c
+++ b/drivers/scsi/aic94xx/aic94xx_init.c
@@ -586,7 +586,7 @@ static int __devinit asd_pci_probe(struct pci_dev *dev,
goto Err;
}
asd_ha->pcidev = dev;
- asd_ha->sas_ha.pcidev = asd_ha->pcidev;
+ asd_ha->sas_ha.dev = &asd_ha->pcidev->dev;
asd_ha->sas_ha.lldd_ha = asd_ha;
asd_ha->name = asd_dev->name;
@@ -605,8 +605,6 @@ static int __devinit asd_pci_probe(struct pci_dev *dev,
goto Err_free;
}
-
-
err = asd_dev->setup(asd_ha);
if (err)
goto Err_free;
diff --git a/drivers/scsi/libsas/sas_ata.c b/drivers/scsi/libsas/sas_ata.c
index ced2de3..77c4668 100644
--- a/drivers/scsi/libsas/sas_ata.c
+++ b/drivers/scsi/libsas/sas_ata.c
@@ -382,7 +382,7 @@ int sas_ata_init_host_and_port(struct domain_device *found_dev,
struct ata_port *ap;
ata_host_init(&found_dev->sata_dev.ata_host,
- &ha->pcidev->dev,
+ ha->dev,
sata_port_info.flags,
&sas_sata_ops);
ap = ata_sas_port_alloc(&found_dev->sata_dev.ata_host,
@@ -448,10 +448,10 @@ static void sas_disc_task_done(struct sas_task *task)
* @task: the task to be executed
* @buffer: pointer to buffer to do I/O
* @size: size of @buffer
- * @pci_dma_dir: PCI_DMA_...
+ * @dma_dir: DMA direction. DMA_xxx
*/
static int sas_execute_task(struct sas_task *task, void *buffer, int size,
- int pci_dma_dir)
+ int dma_dir)
{
int res = 0;
struct scatterlist *scatter = NULL;
@@ -461,7 +461,7 @@ static int sas_execute_task(struct sas_task *task, void *buffer, int size,
struct sas_internal *i =
to_sas_internal(task->dev->port->ha->core.shost->transportt);
- if (pci_dma_dir != PCI_DMA_NONE) {
+ if (dma_dir != DMA_NONE) {
scatter = kzalloc(sizeof(*scatter), GFP_KERNEL);
if (!scatter)
goto out;
@@ -474,11 +474,11 @@ static int sas_execute_task(struct sas_task *task, void *buffer, int size,
task->scatter = scatter;
task->num_scatter = num_scatter;
task->total_xfer_len = size;
- task->data_dir = pci_dma_dir;
+ task->data_dir = dma_dir;
task->task_done = sas_disc_task_done;
- if (pci_dma_dir != PCI_DMA_NONE &&
+ if (dma_dir != DMA_NONE &&
sas_protocol_ata(task->task_proto)) {
- task->num_scatter = pci_map_sg(task->dev->port->ha->pcidev,
+ task->num_scatter = dma_map_sg(task->dev->port->ha->dev,
task->scatter,
task->num_scatter,
task->data_dir);
@@ -565,9 +565,9 @@ static int sas_execute_task(struct sas_task *task, void *buffer, int size,
}
}
ex_err:
- if (pci_dma_dir != PCI_DMA_NONE) {
+ if (dma_dir != DMA_NONE) {
if (sas_protocol_ata(task->task_proto))
- pci_unmap_sg(task->dev->port->ha->pcidev,
+ dma_unmap_sg(task->dev->port->ha->dev,
task->scatter, task->num_scatter,
task->data_dir);
kfree(scatter);
@@ -628,11 +628,11 @@ static void sas_get_ata_command_set(struct domain_device *dev)
* @features: the features register
* @buffer: pointer to buffer to do I/O
* @size: size of @buffer
- * @pci_dma_dir: PCI_DMA_...
+ * @dma_dir: DMA direction. DMA_xxx
*/
static int sas_issue_ata_cmd(struct domain_device *dev, u8 command,
u8 features, void *buffer, int size,
- int pci_dma_dir)
+ int dma_dir)
{
int res = 0;
struct sas_task *task;
@@ -652,7 +652,7 @@ static int sas_issue_ata_cmd(struct domain_device *dev, u8 command,
task->ata_task.fis.device = d2h_fis->device;
task->ata_task.retry_count = 1;
- res = sas_execute_task(task, buffer, size, pci_dma_dir);
+ res = sas_execute_task(task, buffer, size, dma_dir);
sas_free_task(task);
out:
@@ -707,7 +707,7 @@ static int sas_discover_sata_dev(struct domain_device *dev)
}
res = sas_issue_ata_cmd(dev, command, 0, identify_x, 512,
- PCI_DMA_FROMDEVICE);
+ DMA_FROM_DEVICE);
if (res)
goto out_err;
@@ -720,13 +720,13 @@ static int sas_discover_sata_dev(struct domain_device *dev)
goto cont1;
res = sas_issue_ata_cmd(dev, ATA_SET_FEATURES,
ATA_FEATURE_PUP_STBY_SPIN_UP,
- NULL, 0, PCI_DMA_NONE);
+ NULL, 0, DMA_NONE);
if (res)
goto cont1;
schedule_timeout_interruptible(5*HZ); /* More time? */
res = sas_issue_ata_cmd(dev, command, 0, identify_x, 512,
- PCI_DMA_FROMDEVICE);
+ DMA_FROM_DEVICE);
if (res)
goto out_err;
}
diff --git a/drivers/scsi/libsas/sas_discover.c b/drivers/scsi/libsas/sas_discover.c
index 6ac9f61..7ef0afc 100644
--- a/drivers/scsi/libsas/sas_discover.c
+++ b/drivers/scsi/libsas/sas_discover.c
@@ -22,7 +22,6 @@
*
*/
-#include <linux/pci.h>
#include <linux/scatterlist.h>
#include <scsi/scsi_host.h>
#include <scsi/scsi_eh.h>
@@ -170,7 +169,7 @@ int sas_notify_lldd_dev_found(struct domain_device *dev)
if (res) {
printk("sas: driver on pcidev %s cannot handle "
"device %llx, error:%d\n",
- pci_name(sas_ha->pcidev),
+ sas_ha->dev->bus_id,
SAS_ADDR(dev->sas_addr), res);
}
}
diff --git a/drivers/scsi/libsas/sas_dump.c b/drivers/scsi/libsas/sas_dump.c
index f1246d2..bf34a23 100644
--- a/drivers/scsi/libsas/sas_dump.c
+++ b/drivers/scsi/libsas/sas_dump.c
@@ -56,7 +56,7 @@ void sas_dprint_phye(int phyid, enum phy_event pe)
void sas_dprint_hae(struct sas_ha_struct *sas_ha, enum ha_event he)
{
- SAS_DPRINTK("ha %s: %s event\n", pci_name(sas_ha->pcidev),
+ SAS_DPRINTK("ha %s: %s event\n", sas_ha->dev->bus_id,
sas_hae_str[he]);
}
diff --git a/include/scsi/libsas.h b/include/scsi/libsas.h
index df36461..8dda2d6 100644
--- a/include/scsi/libsas.h
+++ b/include/scsi/libsas.h
@@ -348,7 +348,7 @@ struct sas_ha_struct {
/* public: */
char *sas_ha_name;
- struct pci_dev *pcidev; /* should be set */
+ struct device *dev; /* should be set */
struct module *lldd_module; /* should be set */
u8 *sas_addr; /* must be set */
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH] Remove libsas PCI dependencies
2007-07-26 9:21 ` [PATCH] Remove libsas PCI dependencies Jeff Garzik
@ 2007-07-26 12:46 ` James Bottomley
2007-07-26 13:06 ` Matthew Wilcox
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: James Bottomley @ 2007-07-26 12:46 UTC (permalink / raw)
To: Jeff Garzik
Cc: Meelis Roos, linux-scsi, Linux Kernel list, Darrick J. Wong,
Andrew Morton
On Thu, 2007-07-26 at 05:21 -0400, Jeff Garzik wrote:
> Meelis Roos wrote:
> > Tried to compile everythin SCSI on my SBus-only sparc64, including SAS
> > supoort. Seems that libsas seems to depend on PCI - does it need to?
> >
> > MODPOST 446 modules
> > ERROR: "pci_iommu_ops" [drivers/scsi/libsas/libsas.ko] undefined!
>
>
> Does the attached patch fix things? 2.6.23-rc1 material, methinks.
>
> libsas should -not- require PCI, even though aic94xx does.
Realistically, even for parisc, I can't see anyone producing a non-PCI
SAS device (even though I'd like one).
> Signed-off-by: Jeff Garzik <jeff@garzik.org>
>
> plain text document attachment (patch)
> diff --git a/drivers/scsi/aic94xx/aic94xx_init.c b/drivers/scsi/aic94xx/aic94xx_init.c
> index ab00aec..63bcde2 100644
> --- a/drivers/scsi/aic94xx/aic94xx_init.c
> +++ b/drivers/scsi/aic94xx/aic94xx_init.c
> @@ -586,7 +586,7 @@ static int __devinit asd_pci_probe(struct pci_dev *dev,
> goto Err;
> }
> asd_ha->pcidev = dev;
> - asd_ha->sas_ha.pcidev = asd_ha->pcidev;
> + asd_ha->sas_ha.dev = &asd_ha->pcidev->dev;
> asd_ha->sas_ha.lldd_ha = asd_ha;
>
> asd_ha->name = asd_dev->name;
> @@ -605,8 +605,6 @@ static int __devinit asd_pci_probe(struct pci_dev *dev,
> goto Err_free;
> }
>
> -
> -
> err = asd_dev->setup(asd_ha);
> if (err)
> goto Err_free;
> diff --git a/drivers/scsi/libsas/sas_ata.c b/drivers/scsi/libsas/sas_ata.c
> index ced2de3..77c4668 100644
> --- a/drivers/scsi/libsas/sas_ata.c
> +++ b/drivers/scsi/libsas/sas_ata.c
> @@ -382,7 +382,7 @@ int sas_ata_init_host_and_port(struct domain_device *found_dev,
> struct ata_port *ap;
>
> ata_host_init(&found_dev->sata_dev.ata_host,
> - &ha->pcidev->dev,
> + ha->dev,
> sata_port_info.flags,
> &sas_sata_ops);
> ap = ata_sas_port_alloc(&found_dev->sata_dev.ata_host,
> @@ -448,10 +448,10 @@ static void sas_disc_task_done(struct sas_task *task)
> * @task: the task to be executed
> * @buffer: pointer to buffer to do I/O
> * @size: size of @buffer
> - * @pci_dma_dir: PCI_DMA_...
> + * @dma_dir: DMA direction. DMA_xxx
> */
> static int sas_execute_task(struct sas_task *task, void *buffer, int size,
> - int pci_dma_dir)
> + int dma_dir)
> {
> int res = 0;
> struct scatterlist *scatter = NULL;
> @@ -461,7 +461,7 @@ static int sas_execute_task(struct sas_task *task, void *buffer, int size,
> struct sas_internal *i =
> to_sas_internal(task->dev->port->ha->core.shost->transportt);
>
> - if (pci_dma_dir != PCI_DMA_NONE) {
> + if (dma_dir != DMA_NONE) {
> scatter = kzalloc(sizeof(*scatter), GFP_KERNEL);
> if (!scatter)
> goto out;
> @@ -474,11 +474,11 @@ static int sas_execute_task(struct sas_task *task, void *buffer, int size,
> task->scatter = scatter;
> task->num_scatter = num_scatter;
> task->total_xfer_len = size;
> - task->data_dir = pci_dma_dir;
> + task->data_dir = dma_dir;
> task->task_done = sas_disc_task_done;
> - if (pci_dma_dir != PCI_DMA_NONE &&
> + if (dma_dir != DMA_NONE &&
> sas_protocol_ata(task->task_proto)) {
> - task->num_scatter = pci_map_sg(task->dev->port->ha->pcidev,
> + task->num_scatter = dma_map_sg(task->dev->port->ha->dev,
> task->scatter,
> task->num_scatter,
> task->data_dir);
> @@ -565,9 +565,9 @@ static int sas_execute_task(struct sas_task *task, void *buffer, int size,
> }
> }
> ex_err:
> - if (pci_dma_dir != PCI_DMA_NONE) {
> + if (dma_dir != DMA_NONE) {
> if (sas_protocol_ata(task->task_proto))
> - pci_unmap_sg(task->dev->port->ha->pcidev,
> + dma_unmap_sg(task->dev->port->ha->dev,
> task->scatter, task->num_scatter,
> task->data_dir);
> kfree(scatter);
> @@ -628,11 +628,11 @@ static void sas_get_ata_command_set(struct domain_device *dev)
> * @features: the features register
> * @buffer: pointer to buffer to do I/O
> * @size: size of @buffer
> - * @pci_dma_dir: PCI_DMA_...
> + * @dma_dir: DMA direction. DMA_xxx
> */
> static int sas_issue_ata_cmd(struct domain_device *dev, u8 command,
> u8 features, void *buffer, int size,
> - int pci_dma_dir)
> + int dma_dir)
This should become enum dma_data_direction if we're going to go the
generic route.
Otherwise, everything else looks fine.
James
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] Remove libsas PCI dependencies
2007-07-26 12:46 ` James Bottomley
@ 2007-07-26 13:06 ` Matthew Wilcox
2007-07-26 13:28 ` [PATCH v2] " Jeff Garzik
2007-07-26 13:30 ` [PATCH] " Jeff Garzik
2 siblings, 0 replies; 10+ messages in thread
From: Matthew Wilcox @ 2007-07-26 13:06 UTC (permalink / raw)
To: James Bottomley
Cc: Jeff Garzik, Meelis Roos, linux-scsi, Linux Kernel list,
Darrick J. Wong, Andrew Morton
On Thu, Jul 26, 2007 at 08:46:47AM -0400, James Bottomley wrote:
> On Thu, 2007-07-26 at 05:21 -0400, Jeff Garzik wrote:
> > libsas should -not- require PCI, even though aic94xx does.
>
> Realistically, even for parisc, I can't see anyone producing a non-PCI
> SAS device (even though I'd like one).
While SBUS, GSC, VME, ISA, EISA, MCA, VL, PCMCIA, TurboChannel and Zorro
all seem pretty unlikely, I could see someone producing a RapidIO device.
--
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours. We can't possibly take such
a retrograde step."
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2] Remove libsas PCI dependencies
2007-07-26 12:46 ` James Bottomley
2007-07-26 13:06 ` Matthew Wilcox
@ 2007-07-26 13:28 ` Jeff Garzik
2007-07-26 17:31 ` Meelis Roos
2007-07-26 13:30 ` [PATCH] " Jeff Garzik
2 siblings, 1 reply; 10+ messages in thread
From: Jeff Garzik @ 2007-07-26 13:28 UTC (permalink / raw)
To: James Bottomley
Cc: Meelis Roos, linux-scsi, Linux Kernel list, Darrick J. Wong,
Andrew Morton
[-- Attachment #1: Type: text/plain, Size: 167 bytes --]
Eliminate unnecessary PCI dependencies in libsas. It should use generic
DMA and struct device like other subsystems.
Signed-off-by: Jeff Garzik <jeff@garzik.org>
[-- Attachment #2: patch --]
[-- Type: text/plain, Size: 5954 bytes --]
diff --git a/drivers/scsi/aic94xx/aic94xx_init.c b/drivers/scsi/aic94xx/aic94xx_init.c
index ab00aec..63bcde2 100644
--- a/drivers/scsi/aic94xx/aic94xx_init.c
+++ b/drivers/scsi/aic94xx/aic94xx_init.c
@@ -586,7 +586,7 @@ static int __devinit asd_pci_probe(struct pci_dev *dev,
goto Err;
}
asd_ha->pcidev = dev;
- asd_ha->sas_ha.pcidev = asd_ha->pcidev;
+ asd_ha->sas_ha.dev = &asd_ha->pcidev->dev;
asd_ha->sas_ha.lldd_ha = asd_ha;
asd_ha->name = asd_dev->name;
@@ -605,8 +605,6 @@ static int __devinit asd_pci_probe(struct pci_dev *dev,
goto Err_free;
}
-
-
err = asd_dev->setup(asd_ha);
if (err)
goto Err_free;
diff --git a/drivers/scsi/libsas/sas_ata.c b/drivers/scsi/libsas/sas_ata.c
index ced2de3..5e573ef 100644
--- a/drivers/scsi/libsas/sas_ata.c
+++ b/drivers/scsi/libsas/sas_ata.c
@@ -382,7 +382,7 @@ int sas_ata_init_host_and_port(struct domain_device *found_dev,
struct ata_port *ap;
ata_host_init(&found_dev->sata_dev.ata_host,
- &ha->pcidev->dev,
+ ha->dev,
sata_port_info.flags,
&sas_sata_ops);
ap = ata_sas_port_alloc(&found_dev->sata_dev.ata_host,
@@ -448,10 +448,10 @@ static void sas_disc_task_done(struct sas_task *task)
* @task: the task to be executed
* @buffer: pointer to buffer to do I/O
* @size: size of @buffer
- * @pci_dma_dir: PCI_DMA_...
+ * @dma_dir: DMA direction. DMA_xxx
*/
static int sas_execute_task(struct sas_task *task, void *buffer, int size,
- int pci_dma_dir)
+ enum dma_data_direction dma_dir)
{
int res = 0;
struct scatterlist *scatter = NULL;
@@ -461,7 +461,7 @@ static int sas_execute_task(struct sas_task *task, void *buffer, int size,
struct sas_internal *i =
to_sas_internal(task->dev->port->ha->core.shost->transportt);
- if (pci_dma_dir != PCI_DMA_NONE) {
+ if (dma_dir != DMA_NONE) {
scatter = kzalloc(sizeof(*scatter), GFP_KERNEL);
if (!scatter)
goto out;
@@ -474,11 +474,11 @@ static int sas_execute_task(struct sas_task *task, void *buffer, int size,
task->scatter = scatter;
task->num_scatter = num_scatter;
task->total_xfer_len = size;
- task->data_dir = pci_dma_dir;
+ task->data_dir = dma_dir;
task->task_done = sas_disc_task_done;
- if (pci_dma_dir != PCI_DMA_NONE &&
+ if (dma_dir != DMA_NONE &&
sas_protocol_ata(task->task_proto)) {
- task->num_scatter = pci_map_sg(task->dev->port->ha->pcidev,
+ task->num_scatter = dma_map_sg(task->dev->port->ha->dev,
task->scatter,
task->num_scatter,
task->data_dir);
@@ -565,9 +565,9 @@ static int sas_execute_task(struct sas_task *task, void *buffer, int size,
}
}
ex_err:
- if (pci_dma_dir != PCI_DMA_NONE) {
+ if (dma_dir != DMA_NONE) {
if (sas_protocol_ata(task->task_proto))
- pci_unmap_sg(task->dev->port->ha->pcidev,
+ dma_unmap_sg(task->dev->port->ha->dev,
task->scatter, task->num_scatter,
task->data_dir);
kfree(scatter);
@@ -628,11 +628,11 @@ static void sas_get_ata_command_set(struct domain_device *dev)
* @features: the features register
* @buffer: pointer to buffer to do I/O
* @size: size of @buffer
- * @pci_dma_dir: PCI_DMA_...
+ * @dma_dir: DMA direction. DMA_xxx
*/
static int sas_issue_ata_cmd(struct domain_device *dev, u8 command,
u8 features, void *buffer, int size,
- int pci_dma_dir)
+ enum dma_data_direction dma_dir)
{
int res = 0;
struct sas_task *task;
@@ -652,7 +652,7 @@ static int sas_issue_ata_cmd(struct domain_device *dev, u8 command,
task->ata_task.fis.device = d2h_fis->device;
task->ata_task.retry_count = 1;
- res = sas_execute_task(task, buffer, size, pci_dma_dir);
+ res = sas_execute_task(task, buffer, size, dma_dir);
sas_free_task(task);
out:
@@ -707,7 +707,7 @@ static int sas_discover_sata_dev(struct domain_device *dev)
}
res = sas_issue_ata_cmd(dev, command, 0, identify_x, 512,
- PCI_DMA_FROMDEVICE);
+ DMA_FROM_DEVICE);
if (res)
goto out_err;
@@ -720,13 +720,13 @@ static int sas_discover_sata_dev(struct domain_device *dev)
goto cont1;
res = sas_issue_ata_cmd(dev, ATA_SET_FEATURES,
ATA_FEATURE_PUP_STBY_SPIN_UP,
- NULL, 0, PCI_DMA_NONE);
+ NULL, 0, DMA_NONE);
if (res)
goto cont1;
schedule_timeout_interruptible(5*HZ); /* More time? */
res = sas_issue_ata_cmd(dev, command, 0, identify_x, 512,
- PCI_DMA_FROMDEVICE);
+ DMA_FROM_DEVICE);
if (res)
goto out_err;
}
diff --git a/drivers/scsi/libsas/sas_discover.c b/drivers/scsi/libsas/sas_discover.c
index 6ac9f61..7ef0afc 100644
--- a/drivers/scsi/libsas/sas_discover.c
+++ b/drivers/scsi/libsas/sas_discover.c
@@ -22,7 +22,6 @@
*
*/
-#include <linux/pci.h>
#include <linux/scatterlist.h>
#include <scsi/scsi_host.h>
#include <scsi/scsi_eh.h>
@@ -170,7 +169,7 @@ int sas_notify_lldd_dev_found(struct domain_device *dev)
if (res) {
printk("sas: driver on pcidev %s cannot handle "
"device %llx, error:%d\n",
- pci_name(sas_ha->pcidev),
+ sas_ha->dev->bus_id,
SAS_ADDR(dev->sas_addr), res);
}
}
diff --git a/drivers/scsi/libsas/sas_dump.c b/drivers/scsi/libsas/sas_dump.c
index f1246d2..bf34a23 100644
--- a/drivers/scsi/libsas/sas_dump.c
+++ b/drivers/scsi/libsas/sas_dump.c
@@ -56,7 +56,7 @@ void sas_dprint_phye(int phyid, enum phy_event pe)
void sas_dprint_hae(struct sas_ha_struct *sas_ha, enum ha_event he)
{
- SAS_DPRINTK("ha %s: %s event\n", pci_name(sas_ha->pcidev),
+ SAS_DPRINTK("ha %s: %s event\n", sas_ha->dev->bus_id,
sas_hae_str[he]);
}
diff --git a/include/scsi/libsas.h b/include/scsi/libsas.h
index df36461..8dda2d6 100644
--- a/include/scsi/libsas.h
+++ b/include/scsi/libsas.h
@@ -348,7 +348,7 @@ struct sas_ha_struct {
/* public: */
char *sas_ha_name;
- struct pci_dev *pcidev; /* should be set */
+ struct device *dev; /* should be set */
struct module *lldd_module; /* should be set */
u8 *sas_addr; /* must be set */
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH] Remove libsas PCI dependencies
2007-07-26 12:46 ` James Bottomley
2007-07-26 13:06 ` Matthew Wilcox
2007-07-26 13:28 ` [PATCH v2] " Jeff Garzik
@ 2007-07-26 13:30 ` Jeff Garzik
2 siblings, 0 replies; 10+ messages in thread
From: Jeff Garzik @ 2007-07-26 13:30 UTC (permalink / raw)
To: James Bottomley
Cc: Meelis Roos, linux-scsi, Linux Kernel list, Darrick J. Wong,
Andrew Morton
James Bottomley wrote:
> Realistically, even for parisc, I can't see anyone producing a non-PCI
> SAS device (even though I'd like one).
A non-PCI device embedded on an SoC or system bus is highly -likely-, IMO.
SAS+SATA silicon (w/out firmware assist as with aic94xx) is the
direction that Marvell and Broadcom have gone. I would say it's
practically inevitable that someone will embed a SAS+SATA chip eventually.
> This should become enum dma_data_direction if we're going to go the
> generic route.
Updated.
Jeff
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2] Remove libsas PCI dependencies
2007-07-26 13:28 ` [PATCH v2] " Jeff Garzik
@ 2007-07-26 17:31 ` Meelis Roos
2007-07-26 17:46 ` Jeff Garzik
0 siblings, 1 reply; 10+ messages in thread
From: Meelis Roos @ 2007-07-26 17:31 UTC (permalink / raw)
To: Jeff Garzik
Cc: James Bottomley, linux-scsi, Linux Kernel list, Darrick J. Wong,
Andrew Morton
> Eliminate unnecessary PCI dependencies in libsas. It should use generic DMA
> and struct device like other subsystems.
Compiles fine, unfortunately I can not test kernels on this machine
since I have yet to dig out the reason my kernels do not boot.
--
Meelis Roos (mroos@linux.ee)
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2] Remove libsas PCI dependencies
2007-07-26 17:31 ` Meelis Roos
@ 2007-07-26 17:46 ` Jeff Garzik
2007-07-26 17:51 ` Meelis Roos
2007-07-26 18:05 ` James Bottomley
0 siblings, 2 replies; 10+ messages in thread
From: Jeff Garzik @ 2007-07-26 17:46 UTC (permalink / raw)
To: Meelis Roos
Cc: James Bottomley, linux-scsi, Linux Kernel list, Darrick J. Wong,
Andrew Morton
Meelis Roos wrote:
>> Eliminate unnecessary PCI dependencies in libsas. It should use generic DMA
>> and struct device like other subsystems.
>
> Compiles fine, unfortunately I can not test kernels on this machine
> since I have yet to dig out the reason my kernels do not boot.
That's about the best we can ask for :) Thanks. I'm pretty sure you do
not have any SAS hardware in your sparc32...
Jeff
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2] Remove libsas PCI dependencies
2007-07-26 17:46 ` Jeff Garzik
@ 2007-07-26 17:51 ` Meelis Roos
2007-07-26 18:05 ` James Bottomley
1 sibling, 0 replies; 10+ messages in thread
From: Meelis Roos @ 2007-07-26 17:51 UTC (permalink / raw)
To: Jeff Garzik
Cc: James Bottomley, linux-scsi, Linux Kernel list, Darrick J. Wong,
Andrew Morton
> > Compiles fine, unfortunately I can not test kernels on this machine since I
> > have yet to dig out the reason my kernels do not boot.
>
> That's about the best we can ask for :) Thanks. I'm pretty sure you do not
> have any SAS hardware in your sparc32...
Nope, this is a differnet computer - SBus-only Ultra 1 with sparc64
architecture. The test I meant to do but could't was to load the libsas
module.
--
Meelis Roos (mroos@linux.ee)
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2] Remove libsas PCI dependencies
2007-07-26 17:46 ` Jeff Garzik
2007-07-26 17:51 ` Meelis Roos
@ 2007-07-26 18:05 ` James Bottomley
1 sibling, 0 replies; 10+ messages in thread
From: James Bottomley @ 2007-07-26 18:05 UTC (permalink / raw)
To: Jeff Garzik
Cc: Meelis Roos, linux-scsi, Linux Kernel list, Darrick J. Wong,
Andrew Morton
On Thu, 2007-07-26 at 13:46 -0400, Jeff Garzik wrote:
> Meelis Roos wrote:
> >> Eliminate unnecessary PCI dependencies in libsas. It should use generic DMA
> >> and struct device like other subsystems.
> >
> > Compiles fine, unfortunately I can not test kernels on this machine
> > since I have yet to dig out the reason my kernels do not boot.
>
> That's about the best we can ask for :) Thanks. I'm pretty sure you do
> not have any SAS hardware in your sparc32...
I've tested it on aic94xx.
James
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2007-07-26 18:06 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-26 8:31 libsas: pci_iommu_ops undefined on !PCI Meelis Roos
2007-07-26 9:21 ` [PATCH] Remove libsas PCI dependencies Jeff Garzik
2007-07-26 12:46 ` James Bottomley
2007-07-26 13:06 ` Matthew Wilcox
2007-07-26 13:28 ` [PATCH v2] " Jeff Garzik
2007-07-26 17:31 ` Meelis Roos
2007-07-26 17:46 ` Jeff Garzik
2007-07-26 17:51 ` Meelis Roos
2007-07-26 18:05 ` James Bottomley
2007-07-26 13:30 ` [PATCH] " Jeff Garzik
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox