* [RFC PATCH 0/4] Add support for pci/non-pci probing for UFS
@ 2012-05-14 11:08 Girish K S
2012-05-14 11:08 ` [RFC PATCH 1/4] SCSI: UFS: remove all pci code from core driver Girish K S
` (6 more replies)
0 siblings, 7 replies; 16+ messages in thread
From: Girish K S @ 2012-05-14 11:08 UTC (permalink / raw)
To: linux-scsi; +Cc: james.bottomley, vinholikatti, santoshsy, patches, Girish K S
The existing UFS driver is tightly bound to only pci specific devices.
It cannot work for non-pci devices.
"SCSI: UFS: remove all pci code from core driver" patch removes all the
pci specific code from the core driver to make it generic
"SCSI: UFS: Add support for pci probe" patch adds a new file to support
pci probing.
"SCSI: UFS: Add platform support for ufs host controller" patch adds a new
file to support platform device probe
"SCSI: UFS: Added support of PCI/PLTFM for UFS" patch adds the menu option
in Kconfig and Makefile to enable/disable the specific option
Girish K S (4):
SCSI: UFS: remove all pci code from core driver
SCSI: UFS: Add support for pci probe
SCSI: UFS: Add platform support for ufs host controller
SCSI: UFS: Added support of PCI/PLTFM for UFS
drivers/scsi/ufs/Kconfig | 32 +++-
drivers/scsi/ufs/Makefile | 2 +
drivers/scsi/ufs/ufs.h | 103 +++++++++++
drivers/scsi/ufs/ufshcd-pci.c | 217 ++++++++++++++++++++++
drivers/scsi/ufs/ufshcd-pltfm.c | 191 ++++++++++++++++++++
drivers/scsi/ufs/ufshcd.c | 377 +++++++++------------------------------
6 files changed, 623 insertions(+), 299 deletions(-)
create mode 100644 drivers/scsi/ufs/ufshcd-pci.c
create mode 100644 drivers/scsi/ufs/ufshcd-pltfm.c
--
1.7.4.1
^ permalink raw reply [flat|nested] 16+ messages in thread
* [RFC PATCH 1/4] SCSI: UFS: remove all pci code from core driver
2012-05-14 11:08 [RFC PATCH 0/4] Add support for pci/non-pci probing for UFS Girish K S
@ 2012-05-14 11:08 ` Girish K S
2012-05-14 11:08 ` [RFC PATCH 2/4] SCSI: UFS: Add support for pci probe Girish K S
` (5 subsequent siblings)
6 siblings, 0 replies; 16+ messages in thread
From: Girish K S @ 2012-05-14 11:08 UTC (permalink / raw)
To: linux-scsi; +Cc: james.bottomley, vinholikatti, santoshsy, patches, Girish K S
The existing driver was pci specific. This patch removes the
pci specific code from the core driver. Irrespective of the
pci or non-pci probe, the same core driver can be re-used.
Signed-off-by: Girish K S <girish.shivananjappa@linaro.org>
---
drivers/scsi/ufs/ufs.h | 103 ++++++++++++
drivers/scsi/ufs/ufshcd.c | 377 ++++++++++-----------------------------------
2 files changed, 184 insertions(+), 296 deletions(-)
diff --git a/drivers/scsi/ufs/ufs.h b/drivers/scsi/ufs/ufs.h
index b207529..029a3f3 100644
--- a/drivers/scsi/ufs/ufs.h
+++ b/drivers/scsi/ufs/ufs.h
@@ -46,6 +46,8 @@
#ifndef _UFS_H
#define _UFS_H
+#define ufs_hostname(x) (dev_name(&(x)->dev))
+
#define MAX_CDB_SIZE 16
#define UPIU_HEADER_DWORD(byte3, byte2, byte1, byte0)\
@@ -204,4 +206,105 @@ struct utp_upiu_task_rsp {
u32 reserved[3];
};
+/**
+ * struct uic_command - UIC command structure
+ * @command: UIC command
+ * @argument1: UIC command argument 1
+ * @argument2: UIC command argument 2
+ * @argument3: UIC command argument 3
+ * @cmd_active: Indicate if UIC command is outstanding
+ * @result: UIC command result
+ */
+struct uic_command {
+ u32 command;
+ u32 argument1;
+ u32 argument2;
+ u32 argument3;
+ int cmd_active;
+ int result;
+};
+
+struct ufs_pdata {
+ /* TODO */
+ u32 quirks; /* Quirk flags */
+};
+
+/**
+ * struct ufs_hba - per adapter private structure
+ * @mmio_base: UFSHCI base register address
+ * @ucdl_base_addr: UFS Command Descriptor base address
+ * @utrdl_base_addr: UTP Transfer Request Descriptor base address
+ * @utmrdl_base_addr: UTP Task Management Descriptor base address
+ * @ucdl_dma_addr: UFS Command Descriptor DMA address
+ * @utrdl_dma_addr: UTRDL DMA address
+ * @utmrdl_dma_addr: UTMRDL DMA address
+ * @host: Scsi_Host instance of the driver
+ * @dev: device handle
+ * @lrb: local reference block
+ * @outstanding_tasks: Bits representing outstanding task requests
+ * @outstanding_reqs: Bits representing outstanding transfer requests
+ * @capabilities: UFS Controller Capabilities
+ * @nutrs: Transfer Request Queue depth supported by controller
+ * @nutmrs: Task Management Queue depth supported by controller
+ * @active_uic_cmd: handle of active UIC command
+ * @ufshcd_tm_wait_queue: wait queue for task management
+ * @tm_condition: condition variable for task management
+ * @ufshcd_state: UFSHCD states
+ * @int_enable_mask: Interrupt Mask Bits
+ * @uic_workq: Work queue for UIC completion handling
+ * @feh_workq: Work queue for fatal controller error handling
+ * @errors: HBA errors
+ */
+struct ufs_hba {
+ void __iomem *mmio_base;
+
+ /* Virtual memory reference */
+ struct utp_transfer_cmd_desc *ucdl_base_addr;
+ struct utp_transfer_req_desc *utrdl_base_addr;
+ struct utp_task_req_desc *utmrdl_base_addr;
+
+ /* DMA memory reference */
+ dma_addr_t ucdl_dma_addr;
+ dma_addr_t utrdl_dma_addr;
+ dma_addr_t utmrdl_dma_addr;
+
+ struct Scsi_Host *host;
+ struct device dev;
+
+ struct ufshcd_lrb *lrb;
+
+ unsigned long outstanding_tasks;
+ unsigned long outstanding_reqs;
+
+ u32 capabilities;
+ int nutrs;
+ int nutmrs;
+ u32 ufs_version;
+
+ struct uic_command active_uic_cmd;
+ wait_queue_head_t ufshcd_tm_wait_queue;
+ unsigned long tm_condition;
+
+ u32 ufshcd_state;
+ u32 int_enable_mask;
+
+ /* Work Queues */
+ struct work_struct uic_workq;
+ struct work_struct feh_workq;
+
+ /* HBA Errors */
+ u32 errors;
+
+ unsigned int irq;
+};
+
+extern int ufshcd_initialize_hba(struct ufs_hba *hba);
+extern int ufshcd_probe(struct ufs_hba **hostdat, struct device *dev,
+ int irq_no, void __iomem *mmio_base);
+extern void ufshcd_remove(struct ufs_hba *hba);
+#ifdef CONFIG_PM
+extern int ufshcd_suspend(struct ufs_hba *hba);
+extern int ufshcd_resume(struct ufs_hba *hba);
+#endif /* CONFIG_PM */
+
#endif /* End of Header */
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index 52b96e8..b54374e 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -46,7 +46,6 @@
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
-#include <linux/pci.h>
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/delay.h>
@@ -102,91 +101,6 @@ enum {
};
/**
- * struct uic_command - UIC command structure
- * @command: UIC command
- * @argument1: UIC command argument 1
- * @argument2: UIC command argument 2
- * @argument3: UIC command argument 3
- * @cmd_active: Indicate if UIC command is outstanding
- * @result: UIC command result
- */
-struct uic_command {
- u32 command;
- u32 argument1;
- u32 argument2;
- u32 argument3;
- int cmd_active;
- int result;
-};
-
-/**
- * struct ufs_hba - per adapter private structure
- * @mmio_base: UFSHCI base register address
- * @ucdl_base_addr: UFS Command Descriptor base address
- * @utrdl_base_addr: UTP Transfer Request Descriptor base address
- * @utmrdl_base_addr: UTP Task Management Descriptor base address
- * @ucdl_dma_addr: UFS Command Descriptor DMA address
- * @utrdl_dma_addr: UTRDL DMA address
- * @utmrdl_dma_addr: UTMRDL DMA address
- * @host: Scsi_Host instance of the driver
- * @pdev: PCI device handle
- * @lrb: local reference block
- * @outstanding_tasks: Bits representing outstanding task requests
- * @outstanding_reqs: Bits representing outstanding transfer requests
- * @capabilities: UFS Controller Capabilities
- * @nutrs: Transfer Request Queue depth supported by controller
- * @nutmrs: Task Management Queue depth supported by controller
- * @active_uic_cmd: handle of active UIC command
- * @ufshcd_tm_wait_queue: wait queue for task management
- * @tm_condition: condition variable for task management
- * @ufshcd_state: UFSHCD states
- * @int_enable_mask: Interrupt Mask Bits
- * @uic_workq: Work queue for UIC completion handling
- * @feh_workq: Work queue for fatal controller error handling
- * @errors: HBA errors
- */
-struct ufs_hba {
- void __iomem *mmio_base;
-
- /* Virtual memory reference */
- struct utp_transfer_cmd_desc *ucdl_base_addr;
- struct utp_transfer_req_desc *utrdl_base_addr;
- struct utp_task_req_desc *utmrdl_base_addr;
-
- /* DMA memory reference */
- dma_addr_t ucdl_dma_addr;
- dma_addr_t utrdl_dma_addr;
- dma_addr_t utmrdl_dma_addr;
-
- struct Scsi_Host *host;
- struct pci_dev *pdev;
-
- struct ufshcd_lrb *lrb;
-
- unsigned long outstanding_tasks;
- unsigned long outstanding_reqs;
-
- u32 capabilities;
- int nutrs;
- int nutmrs;
- u32 ufs_version;
-
- struct uic_command active_uic_cmd;
- wait_queue_head_t ufshcd_tm_wait_queue;
- unsigned long tm_condition;
-
- u32 ufshcd_state;
- u32 int_enable_mask;
-
- /* Work Queues */
- struct work_struct uic_workq;
- struct work_struct feh_workq;
-
- /* HBA Errors */
- u32 errors;
-};
-
-/**
* struct ufshcd_lrb - local reference block
* @utr_descriptor_ptr: UTRD address of the command
* @ucd_cmd_ptr: UCD address of the command
@@ -335,21 +249,21 @@ static inline void ufshcd_free_hba_memory(struct ufs_hba *hba)
if (hba->utmrdl_base_addr) {
utmrdl_size = sizeof(struct utp_task_req_desc) * hba->nutmrs;
- dma_free_coherent(&hba->pdev->dev, utmrdl_size,
+ dma_free_coherent(&hba->dev, utmrdl_size,
hba->utmrdl_base_addr, hba->utmrdl_dma_addr);
}
if (hba->utrdl_base_addr) {
utrdl_size =
(sizeof(struct utp_transfer_req_desc) * hba->nutrs);
- dma_free_coherent(&hba->pdev->dev, utrdl_size,
+ dma_free_coherent(&hba->dev, utrdl_size,
hba->utrdl_base_addr, hba->utrdl_dma_addr);
}
if (hba->ucdl_base_addr) {
ucdl_size =
(sizeof(struct utp_transfer_cmd_desc) * hba->nutrs);
- dma_free_coherent(&hba->pdev->dev, ucdl_size,
+ dma_free_coherent(&hba->dev, ucdl_size,
hba->ucdl_base_addr, hba->ucdl_dma_addr);
}
}
@@ -724,7 +638,7 @@ static int ufshcd_memory_alloc(struct ufs_hba *hba)
/* Allocate memory for UTP command descriptors */
ucdl_size = (sizeof(struct utp_transfer_cmd_desc) * hba->nutrs);
- hba->ucdl_base_addr = dma_alloc_coherent(&hba->pdev->dev,
+ hba->ucdl_base_addr = dma_alloc_coherent(&hba->dev,
ucdl_size,
&hba->ucdl_dma_addr,
GFP_KERNEL);
@@ -737,7 +651,7 @@ static int ufshcd_memory_alloc(struct ufs_hba *hba)
*/
if (!hba->ucdl_base_addr ||
WARN_ON(hba->ucdl_dma_addr & (PAGE_SIZE - 1))) {
- dev_err(&hba->pdev->dev,
+ dev_err(&hba->dev,
"Command Descriptor Memory allocation failed\n");
goto out;
}
@@ -747,13 +661,13 @@ static int ufshcd_memory_alloc(struct ufs_hba *hba)
* UFSHCI requires 1024 byte alignment of UTRD
*/
utrdl_size = (sizeof(struct utp_transfer_req_desc) * hba->nutrs);
- hba->utrdl_base_addr = dma_alloc_coherent(&hba->pdev->dev,
+ hba->utrdl_base_addr = dma_alloc_coherent(&hba->dev,
utrdl_size,
&hba->utrdl_dma_addr,
GFP_KERNEL);
if (!hba->utrdl_base_addr ||
WARN_ON(hba->utrdl_dma_addr & (PAGE_SIZE - 1))) {
- dev_err(&hba->pdev->dev,
+ dev_err(&hba->dev,
"Transfer Descriptor Memory allocation failed\n");
goto out;
}
@@ -763,13 +677,13 @@ static int ufshcd_memory_alloc(struct ufs_hba *hba)
* UFSHCI requires 1024 byte alignment of UTMRD
*/
utmrdl_size = sizeof(struct utp_task_req_desc) * hba->nutmrs;
- hba->utmrdl_base_addr = dma_alloc_coherent(&hba->pdev->dev,
+ hba->utmrdl_base_addr = dma_alloc_coherent(&hba->dev,
utmrdl_size,
&hba->utmrdl_dma_addr,
GFP_KERNEL);
if (!hba->utmrdl_base_addr ||
WARN_ON(hba->utmrdl_dma_addr & (PAGE_SIZE - 1))) {
- dev_err(&hba->pdev->dev,
+ dev_err(&hba->dev,
"Task Management Descriptor Memory allocation failed\n");
goto out;
}
@@ -777,7 +691,7 @@ static int ufshcd_memory_alloc(struct ufs_hba *hba)
/* Allocate memory for local reference block */
hba->lrb = kcalloc(hba->nutrs, sizeof(struct ufshcd_lrb), GFP_KERNEL);
if (!hba->lrb) {
- dev_err(&hba->pdev->dev, "LRB Memory allocation failed\n");
+ dev_err(&hba->dev, "LRB Memory allocation failed\n");
goto out;
}
return 0;
@@ -867,7 +781,7 @@ static int ufshcd_dme_link_startup(struct ufs_hba *hba)
/* check if controller is ready to accept UIC commands */
if (((readl(hba->mmio_base + REG_CONTROLLER_STATUS)) &
UIC_COMMAND_READY) == 0x0) {
- dev_err(&hba->pdev->dev,
+ dev_err(&hba->dev,
"Controller not ready"
" to accept UIC commands\n");
return -EIO;
@@ -912,7 +826,7 @@ static int ufshcd_make_hba_operational(struct ufs_hba *hba)
/* check if device present */
reg = readl((hba->mmio_base + REG_CONTROLLER_STATUS));
if (ufshcd_is_device_present(reg)) {
- dev_err(&hba->pdev->dev, "cc: Device not present\n");
+ dev_err(&hba->dev, "cc: Device not present\n");
err = -ENXIO;
goto out;
}
@@ -924,7 +838,7 @@ static int ufshcd_make_hba_operational(struct ufs_hba *hba)
if (!(ufshcd_get_lists_status(reg))) {
ufshcd_enable_run_stop_reg(hba);
} else {
- dev_err(&hba->pdev->dev,
+ dev_err(&hba->dev,
"Host controller not ready to process requests");
err = -EIO;
goto out;
@@ -1005,7 +919,7 @@ static int ufshcd_hba_enable(struct ufs_hba *hba)
if (retry) {
retry--;
} else {
- dev_err(&hba->pdev->dev,
+ dev_err(&hba->dev,
"Controller enable failed\n");
return -EIO;
}
@@ -1015,37 +929,6 @@ static int ufshcd_hba_enable(struct ufs_hba *hba)
}
/**
- * ufshcd_initialize_hba - start the initialization process
- * @hba: per adapter instance
- *
- * 1. Enable the controller via ufshcd_hba_enable.
- * 2. Program the Transfer Request List Address with the starting address of
- * UTRDL.
- * 3. Program the Task Management Request List Address with starting address
- * of UTMRDL.
- *
- * Returns 0 on success, non-zero value on failure.
- */
-static int ufshcd_initialize_hba(struct ufs_hba *hba)
-{
- if (ufshcd_hba_enable(hba))
- return -EIO;
-
- /* Configure UTRL and UTMRL base address registers */
- writel(hba->utrdl_dma_addr,
- (hba->mmio_base + REG_UTP_TRANSFER_REQ_LIST_BASE_L));
- writel(lower_32_bits(hba->utrdl_dma_addr),
- (hba->mmio_base + REG_UTP_TRANSFER_REQ_LIST_BASE_H));
- writel(hba->utmrdl_dma_addr,
- (hba->mmio_base + REG_UTP_TASK_REQ_LIST_BASE_L));
- writel(upper_32_bits(hba->utmrdl_dma_addr),
- (hba->mmio_base + REG_UTP_TASK_REQ_LIST_BASE_H));
-
- /* Initialize unipro link startup procedure */
- return ufshcd_dme_link_startup(hba);
-}
-
-/**
* ufshcd_do_reset - reset the host controller
* @hba: per adapter instance
*
@@ -1084,7 +967,7 @@ static int ufshcd_do_reset(struct ufs_hba *hba)
/* start the initialization process */
if (ufshcd_initialize_hba(hba)) {
- dev_err(&hba->pdev->dev,
+ dev_err(&hba->dev,
"Reset: Controller initialization failed\n");
return FAILED;
}
@@ -1165,7 +1048,7 @@ static int ufshcd_task_req_compl(struct ufs_hba *hba, u32 index)
task_result = FAILED;
} else {
task_result = FAILED;
- dev_err(&hba->pdev->dev,
+ dev_err(&hba->dev,
"trc: Invalid ocs = %x\n", ocs_value);
}
spin_unlock_irqrestore(hba->host->host_lock, flags);
@@ -1279,7 +1162,7 @@ ufshcd_transfer_rsp_status(struct ufs_hba *hba, struct ufshcd_lrb *lrbp)
/* check if the returned transfer response is valid */
result = ufshcd_is_valid_req_rsp(lrbp->ucd_rsp_ptr);
if (result) {
- dev_err(&hba->pdev->dev,
+ dev_err(&hba->dev,
"Invalid response = %x\n", result);
break;
}
@@ -1308,7 +1191,7 @@ ufshcd_transfer_rsp_status(struct ufs_hba *hba, struct ufshcd_lrb *lrbp)
case OCS_FATAL_ERROR:
default:
result |= DID_ERROR << 16;
- dev_err(&hba->pdev->dev,
+ dev_err(&hba->dev,
"OCS error from controller = %x\n", ocs);
break;
} /* end of switch */
@@ -1372,7 +1255,7 @@ static void ufshcd_uic_cc_handler (struct work_struct *work)
!(ufshcd_get_uic_cmd_result(hba))) {
if (ufshcd_make_hba_operational(hba))
- dev_err(&hba->pdev->dev,
+ dev_err(&hba->dev,
"cc: hba not operational state\n");
return;
}
@@ -1507,7 +1390,7 @@ ufshcd_issue_tm_cmd(struct ufs_hba *hba,
free_slot = ufshcd_get_tm_free_slot(hba);
if (free_slot >= hba->nutmrs) {
spin_unlock_irqrestore(host->host_lock, flags);
- dev_err(&hba->pdev->dev, "Task management queue full\n");
+ dev_err(&hba->dev, "Task management queue full\n");
err = FAILED;
goto out;
}
@@ -1550,7 +1433,7 @@ ufshcd_issue_tm_cmd(struct ufs_hba *hba,
&hba->tm_condition) != 0),
60 * HZ);
if (!err) {
- dev_err(&hba->pdev->dev,
+ dev_err(&hba->dev,
"Task management command timed-out\n");
err = FAILED;
goto out;
@@ -1686,23 +1569,46 @@ static struct scsi_host_template ufshcd_driver_template = {
};
/**
- * ufshcd_shutdown - main function to put the controller in reset state
- * @pdev: pointer to PCI device handle
+ * ufshcd_initialize_hba - start the initialization process
+ * @hba: per adapter instance
+ *
+ * 1. Enable the controller via ufshcd_hba_enable.
+ * 2. Program the Transfer Request List Address with the starting address of
+ * UTRDL.
+ * 3. Program the Task Management Request List Address with starting address
+ * of UTMRDL.
+ *
+ * Returns 0 on success, non-zero value on failure.
*/
-static void ufshcd_shutdown(struct pci_dev *pdev)
+int ufshcd_initialize_hba(struct ufs_hba *hba)
{
- ufshcd_hba_stop((struct ufs_hba *)pci_get_drvdata(pdev));
+ if (ufshcd_hba_enable(hba))
+ return -EIO;
+
+ /* Configure UTRL and UTMRL base address registers */
+ writel(hba->utrdl_dma_addr,
+ (hba->mmio_base + REG_UTP_TRANSFER_REQ_LIST_BASE_L));
+ writel(lower_32_bits(hba->utrdl_dma_addr),
+ (hba->mmio_base + REG_UTP_TRANSFER_REQ_LIST_BASE_H));
+ writel(hba->utmrdl_dma_addr,
+ (hba->mmio_base + REG_UTP_TASK_REQ_LIST_BASE_L));
+ writel(upper_32_bits(hba->utmrdl_dma_addr),
+ (hba->mmio_base + REG_UTP_TASK_REQ_LIST_BASE_H));
+
+ /* Initialize unipro link startup procedure */
+ return ufshcd_dme_link_startup(hba);
}
+EXPORT_SYMBOL(ufshcd_initialize_hba);
#ifdef CONFIG_PM
/**
* ufshcd_suspend - suspend power management function
- * @pdev: pointer to PCI device handle
+ * @hba: pointer to host controller platform data
* @state: power state
*
* Returns -ENOSYS
*/
-static int ufshcd_suspend(struct pci_dev *pdev, pm_message_t state)
+int ufshcd_suspend(struct ufs_hba *hba)
{
/*
* TODO:
@@ -1715,14 +1621,15 @@ static int ufshcd_suspend(struct pci_dev *pdev, pm_message_t state)
return -ENOSYS;
}
+EXPORT_SYMBOL(ufshcd_suspend);
/**
* ufshcd_resume - resume power management function
- * @pdev: pointer to PCI device handle
+ * @hba: pointer to host controller platform data
*
* Returns -ENOSYS
*/
-static int ufshcd_resume(struct pci_dev *pdev)
+int ufshcd_resume(struct ufs_hba *hba)
{
/*
* TODO:
@@ -1735,119 +1642,55 @@ static int ufshcd_resume(struct pci_dev *pdev)
return -ENOSYS;
}
-#endif /* CONFIG_PM */
+EXPORT_SYMBOL(ufshcd_resume);
-/**
- * ufshcd_hba_free - free allocated memory for
- * host memory space data structures
- * @hba: per adapter instance
- */
-static void ufshcd_hba_free(struct ufs_hba *hba)
-{
- iounmap(hba->mmio_base);
- ufshcd_free_hba_memory(hba);
- pci_release_regions(hba->pdev);
-}
+#endif /* CONFIG_PM */
/**
- * ufshcd_remove - de-allocate PCI/SCSI host and host memory space
+ * ufshcd_remove - de-allocate SCSI host and host memory space
* data structure memory
- * @pdev - pointer to PCI handle
+ * @dev - pointer to host platform data
*/
-static void ufshcd_remove(struct pci_dev *pdev)
+void ufshcd_remove(struct ufs_hba *hba)
{
- struct ufs_hba *hba = pci_get_drvdata(pdev);
-
/* disable interrupts */
ufshcd_int_config(hba, UFSHCD_INT_DISABLE);
- free_irq(pdev->irq, hba);
+ free_irq(hba->irq, hba);
ufshcd_hba_stop(hba);
- ufshcd_hba_free(hba);
+ ufshcd_free_hba_memory(hba);
scsi_remove_host(hba->host);
scsi_host_put(hba->host);
- pci_set_drvdata(pdev, NULL);
- pci_clear_master(pdev);
- pci_disable_device(pdev);
}
+EXPORT_SYMBOL(ufshcd_remove);
/**
- * ufshcd_set_dma_mask - Set dma mask based on the controller
- * addressing capability
- * @pdev: PCI device structure
- *
- * Returns 0 for success, non-zero for failure
- */
-static int ufshcd_set_dma_mask(struct ufs_hba *hba)
-{
- int err;
- u64 dma_mask;
-
- /*
- * If controller supports 64 bit addressing mode, then set the DMA
- * mask to 64-bit, else set the DMA mask to 32-bit
- */
- if (hba->capabilities & MASK_64_ADDRESSING_SUPPORT)
- dma_mask = DMA_BIT_MASK(64);
- else
- dma_mask = DMA_BIT_MASK(32);
-
- err = pci_set_dma_mask(hba->pdev, dma_mask);
- if (err)
- return err;
-
- err = pci_set_consistent_dma_mask(hba->pdev, dma_mask);
-
- return err;
-}
-
-/**
- * ufshcd_probe - probe routine of the driver
- * @pdev: pointer to PCI device handle
- * @id: PCI device id
+ * ufshcd_probe - generic probe routine of the driver
+ * @hba: pointer to platform data
*
* Returns 0 on success, non-zero value on failure
*/
-static int __devinit
-ufshcd_probe(struct pci_dev *pdev, const struct pci_device_id *id)
+int ufshcd_probe(struct ufs_hba **hostdata, struct device *dev,
+ int irq_no, void __iomem *mmio_base)
{
struct Scsi_Host *host;
- struct ufs_hba *hba;
int err;
-
- err = pci_enable_device(pdev);
- if (err) {
- dev_err(&pdev->dev, "pci_enable_device failed\n");
- goto out_error;
- }
-
- pci_set_master(pdev);
+ struct ufs_hba *hba;
host = scsi_host_alloc(&ufshcd_driver_template,
sizeof(struct ufs_hba));
if (!host) {
- dev_err(&pdev->dev, "scsi_host_alloc failed\n");
+ dev_err(&hba->dev, "scsi_host_alloc failed\n");
err = -ENOMEM;
goto out_disable;
}
hba = shost_priv(host);
-
- err = pci_request_regions(pdev, UFSHCD);
- if (err < 0) {
- dev_err(&pdev->dev, "request regions failed\n");
- goto out_disable;
- }
-
- hba->mmio_base = pci_ioremap_bar(pdev, 0);
- if (!hba->mmio_base) {
- dev_err(&pdev->dev, "memory map failed\n");
- err = -ENOMEM;
- goto out_release_regions;
- }
-
+ hba->dev = *dev;
hba->host = host;
- hba->pdev = pdev;
+ hba->irq = irq_no;
+ hba->mmio_base = mmio_base;
+ *hostdata = hba;
/* Read capabilities registers */
ufshcd_hba_capabilities(hba);
@@ -1855,17 +1698,11 @@ ufshcd_probe(struct pci_dev *pdev, const struct pci_device_id *id)
/* Get UFS version supported by the controller */
hba->ufs_version = ufshcd_get_ufs_version(hba);
- err = ufshcd_set_dma_mask(hba);
- if (err) {
- dev_err(&pdev->dev, "set dma mask failed\n");
- goto out_iounmap;
- }
-
/* Allocate memory for host memory space */
err = ufshcd_memory_alloc(hba);
if (err) {
- dev_err(&pdev->dev, "Memory allocation failed\n");
- goto out_iounmap;
+ dev_err(&hba->dev, "Memory allocation failed\n");
+ goto out_disable;
}
/* Configure LRB */
@@ -1887,89 +1724,37 @@ ufshcd_probe(struct pci_dev *pdev, const struct pci_device_id *id)
INIT_WORK(&hba->feh_workq, ufshcd_fatal_err_handler);
/* IRQ registration */
- err = request_irq(pdev->irq, ufshcd_intr, IRQF_SHARED, UFSHCD, hba);
+ err = request_irq(hba->irq, ufshcd_intr, IRQF_SHARED,
+ ufs_hostname(hba), hba);
if (err) {
- dev_err(&pdev->dev, "request irq failed\n");
+ dev_err(&hba->dev, "request irq failed\n");
goto out_lrb_free;
}
/* Enable SCSI tag mapping */
err = scsi_init_shared_tag_map(host, host->can_queue);
if (err) {
- dev_err(&pdev->dev, "init shared queue failed\n");
- goto out_free_irq;
- }
-
- pci_set_drvdata(pdev, hba);
-
- err = scsi_add_host(host, &pdev->dev);
- if (err) {
- dev_err(&pdev->dev, "scsi_add_host failed\n");
+ dev_err(&hba->dev, "init shared queue failed\n");
goto out_free_irq;
}
- /* Initialization routine */
- err = ufshcd_initialize_hba(hba);
+ err = scsi_add_host(host, &hba->dev);
if (err) {
- dev_err(&pdev->dev, "Initialization failed\n");
+ dev_err(&hba->dev, "scsi_add_host failed\n");
goto out_free_irq;
}
return 0;
out_free_irq:
- free_irq(pdev->irq, hba);
+ free_irq(hba->irq, hba);
out_lrb_free:
ufshcd_free_hba_memory(hba);
-out_iounmap:
- iounmap(hba->mmio_base);
-out_release_regions:
- pci_release_regions(pdev);
out_disable:
scsi_host_put(host);
- pci_clear_master(pdev);
- pci_disable_device(pdev);
-out_error:
return err;
}
-
-static DEFINE_PCI_DEVICE_TABLE(ufshcd_pci_tbl) = {
- { PCI_VENDOR_ID_SAMSUNG, 0xC00C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
- { } /* terminate list */
-};
-
-MODULE_DEVICE_TABLE(pci, ufshcd_pci_tbl);
-
-static struct pci_driver ufshcd_pci_driver = {
- .name = UFSHCD,
- .id_table = ufshcd_pci_tbl,
- .probe = ufshcd_probe,
- .remove = __devexit_p(ufshcd_remove),
- .shutdown = ufshcd_shutdown,
-#ifdef CONFIG_PM
- .suspend = ufshcd_suspend,
- .resume = ufshcd_resume,
-#endif
-};
-
-/**
- * ufshcd_init - Driver registration routine
- */
-static int __init ufshcd_init(void)
-{
- return pci_register_driver(&ufshcd_pci_driver);
-}
-module_init(ufshcd_init);
-
-/**
- * ufshcd_exit - Driver exit clean-up routine
- */
-static void __exit ufshcd_exit(void)
-{
- pci_unregister_driver(&ufshcd_pci_driver);
-}
-module_exit(ufshcd_exit);
-
+EXPORT_SYMBOL(ufshcd_probe);
MODULE_AUTHOR("Santosh Yaragnavi <santosh.sy@samsung.com>, "
"Vinayak Holikatti <h.vinayak@samsung.com>");
--
1.7.4.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [RFC PATCH 2/4] SCSI: UFS: Add support for pci probe
2012-05-14 11:08 [RFC PATCH 0/4] Add support for pci/non-pci probing for UFS Girish K S
2012-05-14 11:08 ` [RFC PATCH 1/4] SCSI: UFS: remove all pci code from core driver Girish K S
@ 2012-05-14 11:08 ` Girish K S
2012-05-14 11:08 ` [RFC PATCH 3/4] SCSI: UFS: Add platform support for ufs host controller Girish K S
` (4 subsequent siblings)
6 siblings, 0 replies; 16+ messages in thread
From: Girish K S @ 2012-05-14 11:08 UTC (permalink / raw)
To: linux-scsi; +Cc: james.bottomley, vinholikatti, santoshsy, patches, Girish K S
This patch adds support for pci probing of UFS driver
Signed-off-by: Girish K S <girish.shivananjappa@linaro.org>
---
drivers/scsi/ufs/ufshcd-pci.c | 217 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 217 insertions(+), 0 deletions(-)
create mode 100644 drivers/scsi/ufs/ufshcd-pci.c
diff --git a/drivers/scsi/ufs/ufshcd-pci.c b/drivers/scsi/ufs/ufshcd-pci.c
new file mode 100644
index 0000000..eabdaa6
--- /dev/null
+++ b/drivers/scsi/ufs/ufshcd-pci.c
@@ -0,0 +1,217 @@
+/*
+ * Universal Flash Storage Host controller driver
+ *
+ * This code is based on drivers/scsi/ufs/ufshcd.c
+ * Copyright (C) 2011-2012 Samsung India Software Operations
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * NO WARRANTY
+ * THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR
+ * CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT
+ * LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+ * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is
+ * solely responsible for determining the appropriateness of using and
+ * distributing the Program and assumes all risks associated with its
+ * exercise of rights under this Agreement, including but not limited to
+ * the risks and costs of program errors, damage to or loss of data,
+ * programs or equipment, and unavailability or interruption of operations.
+
+ * DISCLAIMER OF LIABILITY
+ * NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
+ * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+ * HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+ * USA.
+ */
+
+#include <linux/interrupt.h>
+#include <linux/module.h>
+#include <linux/io.h>
+#include <linux/pci.h>
+#include <scsi/scsi_host.h>
+
+#include "ufs.h"
+#include "ufshci.h"
+
+/**
+ * ufshcd_pci_set_dma_mask - Set dma mask based on the controller
+ * addressing capability
+ * @ihba: pointer to host platform data
+ *
+ * Returns 0 for success, non-zero for failure
+ */
+static int ufshcd_pci_set_dma_mask(struct pci_dev *pdev)
+{
+ int err;
+ u64 dma_mask;
+
+ /*
+ * If controller supports 64 bit addressing mode, then set the DMA
+ * mask to 64-bit, else set the DMA mask to 32-bit
+ */
+ dma_mask = DMA_BIT_MASK(64);
+ err = pci_set_dma_mask(pdev, dma_mask);
+ if (err) {
+ dma_mask = DMA_BIT_MASK(32);
+ err = pci_set_dma_mask(pdev, dma_mask);
+ }
+
+ if (err)
+ return err;
+
+ err = pci_set_consistent_dma_mask(pdev, dma_mask);
+
+ return err;
+}
+
+static int __devinit ufshcd_pci_probe(struct pci_dev *pdev,
+ const struct pci_device_id *entries)
+{
+ struct ufs_hba *uninitialized_var(hba);
+ int err;
+ void __iomem *mmio_base;
+
+ err = pci_enable_device(pdev);
+ if (err) {
+ dev_err(&pdev->dev, "pci_enable_device failed\n");
+ goto err_return;
+ }
+
+ pci_set_master(pdev);
+
+ err = pci_request_regions(pdev, "ufshcd_pci");
+ if (err < 0) {
+ dev_err(&pdev->dev, "request regions failed\n");
+ goto err_disable;
+ }
+
+ mmio_base = pci_ioremap_bar(pdev, 0);
+ if (!mmio_base) {
+ dev_err(&pdev->dev, "memory map failed\n");
+ err = -ENOMEM;
+ goto err_release;
+ }
+
+ err = ufshcd_pci_set_dma_mask(pdev);
+ if (err) {
+ dev_err(&pdev->dev, "set dma mask failed\n");
+ goto err_iounmap;
+ }
+
+ err = ufshcd_probe(&hba, &pdev->dev, pdev->irq, mmio_base);
+ if (err)
+ goto err_iounmap;
+
+ pci_set_drvdata(pdev, hba);
+
+ /* Initialization routine */
+ err = ufshcd_initialize_hba(hba);
+ if (err) {
+ dev_err(&hba->dev, "Initialization failed\n");
+ goto err_remove;
+ }
+
+ return err;
+
+err_remove:
+ ufshcd_remove(hba);
+err_iounmap:
+ iounmap(hba->mmio_base);
+err_release:
+ pci_release_regions(pdev);
+err_disable:
+ pci_clear_master(pdev);
+ pci_disable_device(pdev);
+err_return:
+ return err;
+}
+
+static void __devexit ufshcd_pci_remove(struct pci_dev *pdev)
+{
+ struct ufs_hba *hba = pci_get_drvdata(pdev);
+
+ ufshcd_remove(hba);
+ iounmap(hba->mmio_base);
+ pci_set_drvdata(pdev, NULL);
+ pci_clear_master(pdev);
+ pci_release_regions(pdev);
+ pci_disable_device(pdev);
+}
+
+#ifdef CONFIG_PM_SLEEP
+static int ufshcd_pci_suspend(struct device *dev)
+{
+ int ret;
+ struct pci_dev *pdev = to_pci_dev(dev);
+ struct ufs_hba *hba = pci_get_drvdata(pdev);
+
+ ret = ufshcd_suspend(hba);
+ return ret;
+}
+
+static int ufshcd_pci_resume(struct device *dev)
+{
+ int ret;
+ struct pci_dev *pdev = to_pci_dev(dev);
+ struct ufs_hba *hba = pci_get_drvdata(pdev);
+
+ ret = ufshcd_resume(hba);
+ return ret;
+}
+#else
+#define ufshcd_pci_suspend NULL
+#define ufshcd_pci_resume NULL
+#endif /* CONFIG_PM_SLEEP */
+
+static SIMPLE_DEV_PM_OPS(ufshcd_pci_pmops,
+ ufshcd_pci_suspend,
+ ufshcd_pci_resume);
+
+static DEFINE_PCI_DEVICE_TABLE(ufshcd_pci_id) = {
+ { PCI_VENDOR_ID_SAMSUNG, 0xC00C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ {}
+};
+MODULE_DEVICE_TABLE(pci, ufshcd_pci_id);
+
+static struct pci_driver ufshcd_pci_driver = {
+ .name = "ufshcd_pci",
+ .id_table = ufshcd_pci_id,
+ .probe = ufshcd_pci_probe,
+ .remove = ufshcd_pci_remove,
+ .driver = {
+ .pm = &ufshcd_pci_pmops
+ },
+};
+
+static int __init ufshcd_init(void)
+{
+ return pci_register_driver(&ufshcd_pci_driver);
+}
+
+static void __exit ufshcd_exit(void)
+{
+ pci_unregister_driver(&ufshcd_pci_driver);
+}
+
+module_init(ufshcd_init);
+module_exit(ufshcd_exit);
+
+MODULE_DESCRIPTION("UFS Host Controller PCI Interface driver");
+MODULE_AUTHOR("Girish K S <ks.giri@samsung.com>");
+MODULE_LICENSE("GPL");
--
1.7.4.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [RFC PATCH 3/4] SCSI: UFS: Add platform support for ufs host controller
2012-05-14 11:08 [RFC PATCH 0/4] Add support for pci/non-pci probing for UFS Girish K S
2012-05-14 11:08 ` [RFC PATCH 1/4] SCSI: UFS: remove all pci code from core driver Girish K S
2012-05-14 11:08 ` [RFC PATCH 2/4] SCSI: UFS: Add support for pci probe Girish K S
@ 2012-05-14 11:08 ` Girish K S
2012-05-14 11:08 ` [RFC PATCH 4/4] SCSI: UFS: Added support of PCI/PLTFM for UFS Girish K S
` (3 subsequent siblings)
6 siblings, 0 replies; 16+ messages in thread
From: Girish K S @ 2012-05-14 11:08 UTC (permalink / raw)
To: linux-scsi; +Cc: james.bottomley, vinholikatti, santoshsy, patches, Girish K S
This patch adds platform support for ufs host controller
The SoC's that use non-pci probing should use this option.
Signed-off-by: Girish K S <girish.shivananjappa@linaro.org>
---
drivers/scsi/ufs/ufshcd-pltfm.c | 191 +++++++++++++++++++++++++++++++++++++++
1 files changed, 191 insertions(+), 0 deletions(-)
create mode 100644 drivers/scsi/ufs/ufshcd-pltfm.c
diff --git a/drivers/scsi/ufs/ufshcd-pltfm.c b/drivers/scsi/ufs/ufshcd-pltfm.c
new file mode 100644
index 0000000..3bf6312
--- /dev/null
+++ b/drivers/scsi/ufs/ufshcd-pltfm.c
@@ -0,0 +1,191 @@
+/*
+ * Universal Flash Storage Host controller driver
+ *
+ * This code is based on drivers/scsi/ufs/ufshcd.c
+ * Copyright (C) 2011-2012 Samsung India Software Operations
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * NO WARRANTY
+ * THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR
+ * CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT
+ * LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+ * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is
+ * solely responsible for determining the appropriateness of using and
+ * distributing the Program and assumes all risks associated with its
+ * exercise of rights under this Agreement, including but not limited to
+ * the risks and costs of program errors, damage to or loss of data,
+ * programs or equipment, and unavailability or interruption of operations.
+
+ * DISCLAIMER OF LIABILITY
+ * NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
+ * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+ * HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+ * USA.
+ */
+
+#include <linux/interrupt.h>
+#include <linux/module.h>
+#include <linux/io.h>
+#include <linux/irq.h>
+#include <linux/platform_device.h>
+#include <linux/slab.h>
+#include <linux/dma-mapping.h>
+#include <scsi/scsi_host.h>
+
+#include "ufs.h"
+#include "ufshci.h"
+
+/**
+ * ufshcd_pltfmset_dma_mask - Set dma mask based on the controller
+ * addressing capability
+ * @ihba: pointer to host platform data
+ *
+ * Returns 0 for success, non-zero for failure
+ */
+static int ufshcd_pltfm_set_dma_mask(struct platform_device *pdev)
+{
+ int err;
+ u64 dma_mask;
+
+ dma_mask = DMA_BIT_MASK(64);
+ err = dma_set_coherent_mask(&pdev->dev, dma_mask);
+ if (err) {
+ dma_mask = DMA_BIT_MASK(32);
+ err = dma_set_coherent_mask(&pdev->dev, dma_mask);
+ }
+
+ return err;
+}
+
+static int ufshcd_pltfm_probe(struct platform_device *pdev)
+{
+ struct ufs_hba *uninitialized_var(hba);
+ struct resource *regs;
+ int err, irq;
+ void __iomem *mmio_base;
+
+ regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+ if (!regs)
+ return -ENXIO;
+
+ irq = platform_get_irq(pdev, 0);
+ if (irq < 0)
+ return irq;
+
+ mmio_base = ioremap(regs->start, resource_size(regs));
+ if (!mmio_base)
+ return -ENOMEM;
+
+ err = ufshcd_pltfm_set_dma_mask(pdev);
+ if (err) {
+ dev_err(&pdev->dev, "set dma mask failed\n");
+ goto err_iounmap;
+ }
+
+ err = ufshcd_probe(&hba, &pdev->dev, irq, mmio_base);
+ if (err)
+ goto err_iounmap;
+
+ platform_set_drvdata(pdev, hba);
+
+ /* Initialization routine */
+ err = ufshcd_initialize_hba(hba);
+ if (err) {
+ dev_err(&hba->dev, "Initialization failed\n");
+ goto err_remove;
+ }
+
+ return err;
+
+err_remove:
+ ufshcd_remove(hba);
+err_iounmap:
+ iounmap(hba->mmio_base);
+ return err;
+}
+
+static int __exit ufshcd_pltfm_remove(struct platform_device *pdev)
+{
+ struct ufs_hba *hba = platform_get_drvdata(pdev);
+
+ ufshcd_remove(hba);
+ iounmap(hba->mmio_base);
+ platform_set_drvdata(pdev, NULL);
+ return 0;
+}
+
+#ifdef CONFIG_PM_SLEEP
+static int ufshcd_pltfm_suspend(struct device *dev)
+{
+ int ret;
+ struct ufs_hba *hba = dev_get_drvdata(dev);
+
+ ret = ufshcd_suspend(hba);
+ if (ret)
+ return ret;
+
+ return 0;
+}
+
+static int ufshcd_pltfm_resume(struct device *dev)
+{
+ int ret;
+ struct ufs_hba *hba = dev_get_drvdata(dev);
+
+ ret = ufshcd_resume(hba);
+ if (ret)
+ return ret;
+
+ return 0;
+}
+#else
+#define ufshcd_pltfm_suspend NULL
+#define ufshcd_pltfm_resume NULL
+#endif /* CONFIG_PM_SLEEP */
+
+static SIMPLE_DEV_PM_OPS(ufshcd_pltfm_pmops,
+ ufshcd_pltfm_suspend,
+ ufshcd_pltfm_resume);
+
+static struct platform_driver ufshcd_pltfm_driver = {
+ .probe = ufshcd_pltfm_probe,
+ .remove = __exit_p(ufshcd_pltfm_remove),
+ .driver = {
+ .name = "ufshcd",
+ .pm = &ufshcd_pltfm_pmops,
+ },
+};
+
+static int __init ufshcd_init(void)
+{
+ return platform_driver_register(&ufshcd_pltfm_driver);
+}
+
+static void __exit ufshcd_exit(void)
+{
+ platform_driver_unregister(&ufshcd_pltfm_driver);
+}
+
+module_init(ufshcd_init);
+module_exit(ufshcd_exit);
+
+MODULE_DESCRIPTION("UFS Host Controller platform Interface driver");
+MODULE_AUTHOR("Girish K S <ks.giri@samsung.com>");
+MODULE_LICENSE("GPL");
--
1.7.4.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [RFC PATCH 4/4] SCSI: UFS: Added support of PCI/PLTFM for UFS
2012-05-14 11:08 [RFC PATCH 0/4] Add support for pci/non-pci probing for UFS Girish K S
` (2 preceding siblings ...)
2012-05-14 11:08 ` [RFC PATCH 3/4] SCSI: UFS: Add platform support for ufs host controller Girish K S
@ 2012-05-14 11:08 ` Girish K S
2012-05-15 1:38 ` [RFC PATCH 0/4] Add support for pci/non-pci probing " Namjae Jeon
` (2 subsequent siblings)
6 siblings, 0 replies; 16+ messages in thread
From: Girish K S @ 2012-05-14 11:08 UTC (permalink / raw)
To: linux-scsi; +Cc: james.bottomley, vinholikatti, santoshsy, patches, Girish K S
This patch modifies the Kconfig and the Makefile to
add support for PCI and Platform config options to the
UFS core driver. If the device is attached to the core
throught pci,then PCI option has to be selected in the
menuconfig. For more information read the help section
of Kconfig file.
Signed-off-by: Girish K S <girish.shivananjappa@linaro.org>
---
drivers/scsi/ufs/Kconfig | 32 +++++++++++++++++++++++++++++---
drivers/scsi/ufs/Makefile | 2 ++
2 files changed, 31 insertions(+), 3 deletions(-)
diff --git a/drivers/scsi/ufs/Kconfig b/drivers/scsi/ufs/Kconfig
index 8f27f9d..70f3a71 100644
--- a/drivers/scsi/ufs/Kconfig
+++ b/drivers/scsi/ufs/Kconfig
@@ -44,6 +44,32 @@
config SCSI_UFSHCD
tristate "Universal Flash Storage host controller driver"
- depends on PCI && SCSI
- ---help---
- This is a generic driver which supports PCIe UFS Host controllers.
+ depends on SCSI
+ help
+ This is a generic driver which supports UFS Host controllers.
+ This option is selected automatically if the SCSI option is
+ selected. This is a core ufs driver.
+
+config SCSI_UFSHCD_PCI
+ tristate "Universal Flash Storage host support on PCI bus"
+ depends on SCSI_UFSHCD && PCI
+ help
+ This selects the PCI bus for the Universal Flash Storage IP.
+ Select this option if the IP is present on PCI platform.
+
+ If you have a controller with this interface, say Y or M here.
+
+ If unsure, say N.
+
+config SCSI_UFSHCD_PLTFM
+ tristate "Universal Flash Storage host support as platform device"
+ depends on SCSI_UFSHCD
+ help
+ This selects the common helper functions support for Host Controller
+ Interface based platform driver. Please select this option if the IP
+ is present as a platform device. This is the common interface for the
+ UFS Host Controller IP.
+
+ If you have a controller with this interface, say Y or M here.
+
+ If unsure, say N.
diff --git a/drivers/scsi/ufs/Makefile b/drivers/scsi/ufs/Makefile
index adf7895..fc56471 100644
--- a/drivers/scsi/ufs/Makefile
+++ b/drivers/scsi/ufs/Makefile
@@ -1,2 +1,4 @@
# UFSHCD makefile
obj-$(CONFIG_SCSI_UFSHCD) += ufshcd.o
+obj-$(CONFIG_SCSI_UFSHCD_PCI) += ufshcd-pci.o
+obj-$(CONFIG_SCSI_UFSHCD_PLTFM) += ufshcd-pltfm.o
--
1.7.4.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [RFC PATCH 0/4] Add support for pci/non-pci probing for UFS
2012-05-14 11:08 [RFC PATCH 0/4] Add support for pci/non-pci probing for UFS Girish K S
` (3 preceding siblings ...)
2012-05-14 11:08 ` [RFC PATCH 4/4] SCSI: UFS: Added support of PCI/PLTFM for UFS Girish K S
@ 2012-05-15 1:38 ` Namjae Jeon
2012-05-15 2:53 ` Girish K S
2012-06-07 4:22 ` vinayak holikatti
2012-06-07 4:51 ` vinayak holikatti
6 siblings, 1 reply; 16+ messages in thread
From: Namjae Jeon @ 2012-05-15 1:38 UTC (permalink / raw)
To: Girish K S; +Cc: linux-scsi, james.bottomley, vinholikatti, santoshsy, patches
Hi. Girish.
There are hunks when I try to patch.
have you created patches on linux-next ?
patching file drivers/scsi/ufs/ufs.h
patching file drivers/scsi/ufs/ufshcd.c
Hunk #10 FAILED at 826.
Hunk #13 FAILED at 929.
Hunk #15 succeeded at 1050 with fuzz 1 (offset 2 lines).
Hunk #17 succeeded at 1193 (offset 2 lines).
Hunk #19 succeeded at 1392 (offset 2 lines).
Hunk #21 succeeded at 1571 (offset 2 lines).
Hunk #23 succeeded at 1644 (offset 2 lines).
Hunk #25 FAILED at 1724.
3 out of 25 hunks FAILED -- saving rejects to file drivers/scsi/ufs/ufshcd.c.rej
And after testing, have you sent this patch ?
Thanks.
2012/5/14, Girish K S <girish.shivananjappa@linaro.org>:
> The existing UFS driver is tightly bound to only pci specific devices.
> It cannot work for non-pci devices.
>
> "SCSI: UFS: remove all pci code from core driver" patch removes all the
> pci specific code from the core driver to make it generic
>
> "SCSI: UFS: Add support for pci probe" patch adds a new file to support
> pci probing.
>
> "SCSI: UFS: Add platform support for ufs host controller" patch adds a new
> file to support platform device probe
>
> "SCSI: UFS: Added support of PCI/PLTFM for UFS" patch adds the menu option
> in Kconfig and Makefile to enable/disable the specific option
>
> Girish K S (4):
> SCSI: UFS: remove all pci code from core driver
> SCSI: UFS: Add support for pci probe
> SCSI: UFS: Add platform support for ufs host controller
> SCSI: UFS: Added support of PCI/PLTFM for UFS
>
> drivers/scsi/ufs/Kconfig | 32 +++-
> drivers/scsi/ufs/Makefile | 2 +
> drivers/scsi/ufs/ufs.h | 103 +++++++++++
> drivers/scsi/ufs/ufshcd-pci.c | 217 ++++++++++++++++++++++
> drivers/scsi/ufs/ufshcd-pltfm.c | 191 ++++++++++++++++++++
> drivers/scsi/ufs/ufshcd.c | 377
> +++++++++------------------------------
> 6 files changed, 623 insertions(+), 299 deletions(-)
> create mode 100644 drivers/scsi/ufs/ufshcd-pci.c
> create mode 100644 drivers/scsi/ufs/ufshcd-pltfm.c
>
> --
> 1.7.4.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [RFC PATCH 0/4] Add support for pci/non-pci probing for UFS
2012-05-15 1:38 ` [RFC PATCH 0/4] Add support for pci/non-pci probing " Namjae Jeon
@ 2012-05-15 2:53 ` Girish K S
2012-05-15 3:32 ` Namjae Jeon
0 siblings, 1 reply; 16+ messages in thread
From: Girish K S @ 2012-05-15 2:53 UTC (permalink / raw)
To: Namjae Jeon; +Cc: linux-scsi, james.bottomley, vinholikatti, santoshsy, patches
Sorry ,
I will rebase them to James' for-next treee. and resend
thanks and regards
Girish K S
On 15 May 2012 07:08, Namjae Jeon <linkinjeon@gmail.com> wrote:
> Hi. Girish.
>
> There are hunks when I try to patch.
> have you created patches on linux-next ?
>
> patching file drivers/scsi/ufs/ufs.h
> patching file drivers/scsi/ufs/ufshcd.c
> Hunk #10 FAILED at 826.
> Hunk #13 FAILED at 929.
> Hunk #15 succeeded at 1050 with fuzz 1 (offset 2 lines).
> Hunk #17 succeeded at 1193 (offset 2 lines).
> Hunk #19 succeeded at 1392 (offset 2 lines).
> Hunk #21 succeeded at 1571 (offset 2 lines).
> Hunk #23 succeeded at 1644 (offset 2 lines).
> Hunk #25 FAILED at 1724.
> 3 out of 25 hunks FAILED -- saving rejects to file drivers/scsi/ufs/ufshcd.c.rej
>
> And after testing, have you sent this patch ?
>
> Thanks.
>
> 2012/5/14, Girish K S <girish.shivananjappa@linaro.org>:
>> The existing UFS driver is tightly bound to only pci specific devices.
>> It cannot work for non-pci devices.
>>
>> "SCSI: UFS: remove all pci code from core driver" patch removes all the
>> pci specific code from the core driver to make it generic
>>
>> "SCSI: UFS: Add support for pci probe" patch adds a new file to support
>> pci probing.
>>
>> "SCSI: UFS: Add platform support for ufs host controller" patch adds a new
>> file to support platform device probe
>>
>> "SCSI: UFS: Added support of PCI/PLTFM for UFS" patch adds the menu option
>> in Kconfig and Makefile to enable/disable the specific option
>>
>> Girish K S (4):
>> SCSI: UFS: remove all pci code from core driver
>> SCSI: UFS: Add support for pci probe
>> SCSI: UFS: Add platform support for ufs host controller
>> SCSI: UFS: Added support of PCI/PLTFM for UFS
>>
>> drivers/scsi/ufs/Kconfig | 32 +++-
>> drivers/scsi/ufs/Makefile | 2 +
>> drivers/scsi/ufs/ufs.h | 103 +++++++++++
>> drivers/scsi/ufs/ufshcd-pci.c | 217 ++++++++++++++++++++++
>> drivers/scsi/ufs/ufshcd-pltfm.c | 191 ++++++++++++++++++++
>> drivers/scsi/ufs/ufshcd.c | 377
>> +++++++++------------------------------
>> 6 files changed, 623 insertions(+), 299 deletions(-)
>> create mode 100644 drivers/scsi/ufs/ufshcd-pci.c
>> create mode 100644 drivers/scsi/ufs/ufshcd-pltfm.c
>>
>> --
>> 1.7.4.1
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [RFC PATCH 0/4] Add support for pci/non-pci probing for UFS
2012-05-15 2:53 ` Girish K S
@ 2012-05-15 3:32 ` Namjae Jeon
2012-05-15 4:24 ` Girish K S
2012-05-15 4:51 ` Girish K S
0 siblings, 2 replies; 16+ messages in thread
From: Namjae Jeon @ 2012-05-15 3:32 UTC (permalink / raw)
To: Girish K S; +Cc: linux-scsi, james.bottomley, vinholikatti, santoshsy, patches
2012/5/15, Girish K S <girish.shivananjappa@linaro.org>:
> Sorry ,
> I will rebase them to James' for-next treee. and resend
>
> thanks and regards
> Girish K S
There is one more thing.
You add your module author name.
But module author name should be only one per one module.
Your author name will be comflicted with origianl author(santosh, vinayak).
plz try to check like this. maybe you can see your name instread
original author.
/sbin/modinfo ufshcd.ko
Thanks.
>
> On 15 May 2012 07:08, Namjae Jeon <linkinjeon@gmail.com> wrote:
>> Hi. Girish.
>>
>> There are hunks when I try to patch.
>> have you created patches on linux-next ?
>>
>> patching file drivers/scsi/ufs/ufs.h
>> patching file drivers/scsi/ufs/ufshcd.c
>> Hunk #10 FAILED at 826.
>> Hunk #13 FAILED at 929.
>> Hunk #15 succeeded at 1050 with fuzz 1 (offset 2 lines).
>> Hunk #17 succeeded at 1193 (offset 2 lines).
>> Hunk #19 succeeded at 1392 (offset 2 lines).
>> Hunk #21 succeeded at 1571 (offset 2 lines).
>> Hunk #23 succeeded at 1644 (offset 2 lines).
>> Hunk #25 FAILED at 1724.
>> 3 out of 25 hunks FAILED -- saving rejects to file
>> drivers/scsi/ufs/ufshcd.c.rej
>>
>> And after testing, have you sent this patch ?
>>
>> Thanks.
>>
>> 2012/5/14, Girish K S <girish.shivananjappa@linaro.org>:
>>> The existing UFS driver is tightly bound to only pci specific devices.
>>> It cannot work for non-pci devices.
>>>
>>> "SCSI: UFS: remove all pci code from core driver" patch removes all the
>>> pci specific code from the core driver to make it generic
>>>
>>> "SCSI: UFS: Add support for pci probe" patch adds a new file to support
>>> pci probing.
>>>
>>> "SCSI: UFS: Add platform support for ufs host controller" patch adds a
>>> new
>>> file to support platform device probe
>>>
>>> "SCSI: UFS: Added support of PCI/PLTFM for UFS" patch adds the menu
>>> option
>>> in Kconfig and Makefile to enable/disable the specific option
>>>
>>> Girish K S (4):
>>> SCSI: UFS: remove all pci code from core driver
>>> SCSI: UFS: Add support for pci probe
>>> SCSI: UFS: Add platform support for ufs host controller
>>> SCSI: UFS: Added support of PCI/PLTFM for UFS
>>>
>>> drivers/scsi/ufs/Kconfig | 32 +++-
>>> drivers/scsi/ufs/Makefile | 2 +
>>> drivers/scsi/ufs/ufs.h | 103 +++++++++++
>>> drivers/scsi/ufs/ufshcd-pci.c | 217 ++++++++++++++++++++++
>>> drivers/scsi/ufs/ufshcd-pltfm.c | 191 ++++++++++++++++++++
>>> drivers/scsi/ufs/ufshcd.c | 377
>>> +++++++++------------------------------
>>> 6 files changed, 623 insertions(+), 299 deletions(-)
>>> create mode 100644 drivers/scsi/ufs/ufshcd-pci.c
>>> create mode 100644 drivers/scsi/ufs/ufshcd-pltfm.c
>>>
>>> --
>>> 1.7.4.1
>>>
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
>>> the body of a message to majordomo@vger.kernel.org
>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>>
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [RFC PATCH 0/4] Add support for pci/non-pci probing for UFS
2012-05-15 3:32 ` Namjae Jeon
@ 2012-05-15 4:24 ` Girish K S
2012-05-15 4:51 ` Girish K S
1 sibling, 0 replies; 16+ messages in thread
From: Girish K S @ 2012-05-15 4:24 UTC (permalink / raw)
To: Namjae Jeon; +Cc: linux-scsi, james.bottomley, vinholikatti, santoshsy, patches
On 15 May 2012 09:02, Namjae Jeon <linkinjeon@gmail.com> wrote:
> 2012/5/15, Girish K S <girish.shivananjappa@linaro.org>:
>> Sorry ,
>> I will rebase them to James' for-next treee. and resend
>>
>> thanks and regards
>> Girish K S
> There is one more thing.
> You add your module author name.
> But module author name should be only one per one module.
> Your author name will be comflicted with origianl author(santosh, vinayak).
> plz try to check like this. maybe you can see your name instread
> original author.
> /sbin/modinfo ufshcd.ko
Ok Thanks Namjae.
I will have a check of this and talk to the original authors
>
> Thanks.
>>
>> On 15 May 2012 07:08, Namjae Jeon <linkinjeon@gmail.com> wrote:
>>> Hi. Girish.
>>>
>>> There are hunks when I try to patch.
>>> have you created patches on linux-next ?
>>>
>>> patching file drivers/scsi/ufs/ufs.h
>>> patching file drivers/scsi/ufs/ufshcd.c
>>> Hunk #10 FAILED at 826.
>>> Hunk #13 FAILED at 929.
>>> Hunk #15 succeeded at 1050 with fuzz 1 (offset 2 lines).
>>> Hunk #17 succeeded at 1193 (offset 2 lines).
>>> Hunk #19 succeeded at 1392 (offset 2 lines).
>>> Hunk #21 succeeded at 1571 (offset 2 lines).
>>> Hunk #23 succeeded at 1644 (offset 2 lines).
>>> Hunk #25 FAILED at 1724.
>>> 3 out of 25 hunks FAILED -- saving rejects to file
>>> drivers/scsi/ufs/ufshcd.c.rej
>>>
>>> And after testing, have you sent this patch ?
>>>
>>> Thanks.
>>>
>>> 2012/5/14, Girish K S <girish.shivananjappa@linaro.org>:
>>>> The existing UFS driver is tightly bound to only pci specific devices.
>>>> It cannot work for non-pci devices.
>>>>
>>>> "SCSI: UFS: remove all pci code from core driver" patch removes all the
>>>> pci specific code from the core driver to make it generic
>>>>
>>>> "SCSI: UFS: Add support for pci probe" patch adds a new file to support
>>>> pci probing.
>>>>
>>>> "SCSI: UFS: Add platform support for ufs host controller" patch adds a
>>>> new
>>>> file to support platform device probe
>>>>
>>>> "SCSI: UFS: Added support of PCI/PLTFM for UFS" patch adds the menu
>>>> option
>>>> in Kconfig and Makefile to enable/disable the specific option
>>>>
>>>> Girish K S (4):
>>>> SCSI: UFS: remove all pci code from core driver
>>>> SCSI: UFS: Add support for pci probe
>>>> SCSI: UFS: Add platform support for ufs host controller
>>>> SCSI: UFS: Added support of PCI/PLTFM for UFS
>>>>
>>>> drivers/scsi/ufs/Kconfig | 32 +++-
>>>> drivers/scsi/ufs/Makefile | 2 +
>>>> drivers/scsi/ufs/ufs.h | 103 +++++++++++
>>>> drivers/scsi/ufs/ufshcd-pci.c | 217 ++++++++++++++++++++++
>>>> drivers/scsi/ufs/ufshcd-pltfm.c | 191 ++++++++++++++++++++
>>>> drivers/scsi/ufs/ufshcd.c | 377
>>>> +++++++++------------------------------
>>>> 6 files changed, 623 insertions(+), 299 deletions(-)
>>>> create mode 100644 drivers/scsi/ufs/ufshcd-pci.c
>>>> create mode 100644 drivers/scsi/ufs/ufshcd-pltfm.c
>>>>
>>>> --
>>>> 1.7.4.1
>>>>
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
>>>> the body of a message to majordomo@vger.kernel.org
>>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>>>
>>
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [RFC PATCH 0/4] Add support for pci/non-pci probing for UFS
2012-05-15 3:32 ` Namjae Jeon
2012-05-15 4:24 ` Girish K S
@ 2012-05-15 4:51 ` Girish K S
2012-05-15 5:29 ` Namjae Jeon
1 sibling, 1 reply; 16+ messages in thread
From: Girish K S @ 2012-05-15 4:51 UTC (permalink / raw)
To: Namjae Jeon; +Cc: linux-scsi, james.bottomley, vinholikatti, santoshsy, patches
On 15 May 2012 09:02, Namjae Jeon <linkinjeon@gmail.com> wrote:
> 2012/5/15, Girish K S <girish.shivananjappa@linaro.org>:
>> Sorry ,
>> I will rebase them to James' for-next treee. and resend
>>
>> thanks and regards
>> Girish K S
> There is one more thing.
> You add your module author name.
> But module author name should be only one per one module.
> Your author name will be comflicted with origianl author(santosh, vinayak).
> plz try to check like this. maybe you can see your name instread
> original author.
> /sbin/modinfo ufshcd.ko
If i build ufshcd.ko ufshcd-pci.ko ufshcd-pltfm.ko, then i can see
only my name in the ufshcd-*.ko which is added by me. But not in
ufshcd.ko
Is it a problem?
>
> Thanks.
>>
>> On 15 May 2012 07:08, Namjae Jeon <linkinjeon@gmail.com> wrote:
>>> Hi. Girish.
>>>
>>> There are hunks when I try to patch.
>>> have you created patches on linux-next ?
>>>
>>> patching file drivers/scsi/ufs/ufs.h
>>> patching file drivers/scsi/ufs/ufshcd.c
>>> Hunk #10 FAILED at 826.
>>> Hunk #13 FAILED at 929.
>>> Hunk #15 succeeded at 1050 with fuzz 1 (offset 2 lines).
>>> Hunk #17 succeeded at 1193 (offset 2 lines).
>>> Hunk #19 succeeded at 1392 (offset 2 lines).
>>> Hunk #21 succeeded at 1571 (offset 2 lines).
>>> Hunk #23 succeeded at 1644 (offset 2 lines).
>>> Hunk #25 FAILED at 1724.
>>> 3 out of 25 hunks FAILED -- saving rejects to file
>>> drivers/scsi/ufs/ufshcd.c.rej
>>>
>>> And after testing, have you sent this patch ?
>>>
>>> Thanks.
>>>
>>> 2012/5/14, Girish K S <girish.shivananjappa@linaro.org>:
>>>> The existing UFS driver is tightly bound to only pci specific devices.
>>>> It cannot work for non-pci devices.
>>>>
>>>> "SCSI: UFS: remove all pci code from core driver" patch removes all the
>>>> pci specific code from the core driver to make it generic
>>>>
>>>> "SCSI: UFS: Add support for pci probe" patch adds a new file to support
>>>> pci probing.
>>>>
>>>> "SCSI: UFS: Add platform support for ufs host controller" patch adds a
>>>> new
>>>> file to support platform device probe
>>>>
>>>> "SCSI: UFS: Added support of PCI/PLTFM for UFS" patch adds the menu
>>>> option
>>>> in Kconfig and Makefile to enable/disable the specific option
>>>>
>>>> Girish K S (4):
>>>> SCSI: UFS: remove all pci code from core driver
>>>> SCSI: UFS: Add support for pci probe
>>>> SCSI: UFS: Add platform support for ufs host controller
>>>> SCSI: UFS: Added support of PCI/PLTFM for UFS
>>>>
>>>> drivers/scsi/ufs/Kconfig | 32 +++-
>>>> drivers/scsi/ufs/Makefile | 2 +
>>>> drivers/scsi/ufs/ufs.h | 103 +++++++++++
>>>> drivers/scsi/ufs/ufshcd-pci.c | 217 ++++++++++++++++++++++
>>>> drivers/scsi/ufs/ufshcd-pltfm.c | 191 ++++++++++++++++++++
>>>> drivers/scsi/ufs/ufshcd.c | 377
>>>> +++++++++------------------------------
>>>> 6 files changed, 623 insertions(+), 299 deletions(-)
>>>> create mode 100644 drivers/scsi/ufs/ufshcd-pci.c
>>>> create mode 100644 drivers/scsi/ufs/ufshcd-pltfm.c
>>>>
>>>> --
>>>> 1.7.4.1
>>>>
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
>>>> the body of a message to majordomo@vger.kernel.org
>>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>>>
>>
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [RFC PATCH 0/4] Add support for pci/non-pci probing for UFS
2012-05-15 4:51 ` Girish K S
@ 2012-05-15 5:29 ` Namjae Jeon
2012-05-15 6:13 ` Girish K S
0 siblings, 1 reply; 16+ messages in thread
From: Namjae Jeon @ 2012-05-15 5:29 UTC (permalink / raw)
To: Girish K S; +Cc: linux-scsi, james.bottomley, vinholikatti, santoshsy, patches
2012/5/15, Girish K S <girish.shivananjappa@linaro.org>:
> On 15 May 2012 09:02, Namjae Jeon <linkinjeon@gmail.com> wrote:
>> 2012/5/15, Girish K S <girish.shivananjappa@linaro.org>:
>>> Sorry ,
>>> I will rebase them to James' for-next treee. and resend
>>>
>>> thanks and regards
>>> Girish K S
>> There is one more thing.
>> You add your module author name.
>> But module author name should be only one per one module.
>> Your author name will be comflicted with origianl author(santosh,
>> vinayak).
>> plz try to check like this. maybe you can see your name instread
>> original author.
>> /sbin/modinfo ufshcd.ko
> If i build ufshcd.ko ufshcd-pci.ko ufshcd-pltfm.ko, then i can see
> only my name in the ufshcd-*.ko which is added by me. But not in
> ufshcd.ko
> Is it a problem?
ufsdhcd(interface core driver), ufshcd-pci and ufshcd-pltm drivers can
be divided as your suggestion.
And I think that it looks proper to me if you add original author to
ufschd.ko and ufschd-pci.ko.
And you can add your name to ufshcd-pltm.ko.
Because this driver is made by your idea.
Thanks.
>>
>> Thanks.
>>>
>>> On 15 May 2012 07:08, Namjae Jeon <linkinjeon@gmail.com> wrote:
>>>> Hi. Girish.
>>>>
>>>> There are hunks when I try to patch.
>>>> have you created patches on linux-next ?
>>>>
>>>> patching file drivers/scsi/ufs/ufs.h
>>>> patching file drivers/scsi/ufs/ufshcd.c
>>>> Hunk #10 FAILED at 826.
>>>> Hunk #13 FAILED at 929.
>>>> Hunk #15 succeeded at 1050 with fuzz 1 (offset 2 lines).
>>>> Hunk #17 succeeded at 1193 (offset 2 lines).
>>>> Hunk #19 succeeded at 1392 (offset 2 lines).
>>>> Hunk #21 succeeded at 1571 (offset 2 lines).
>>>> Hunk #23 succeeded at 1644 (offset 2 lines).
>>>> Hunk #25 FAILED at 1724.
>>>> 3 out of 25 hunks FAILED -- saving rejects to file
>>>> drivers/scsi/ufs/ufshcd.c.rej
>>>>
>>>> And after testing, have you sent this patch ?
>>>>
>>>> Thanks.
>>>>
>>>> 2012/5/14, Girish K S <girish.shivananjappa@linaro.org>:
>>>>> The existing UFS driver is tightly bound to only pci specific devices.
>>>>> It cannot work for non-pci devices.
>>>>>
>>>>> "SCSI: UFS: remove all pci code from core driver" patch removes all
>>>>> the
>>>>> pci specific code from the core driver to make it generic
>>>>>
>>>>> "SCSI: UFS: Add support for pci probe" patch adds a new file to
>>>>> support
>>>>> pci probing.
>>>>>
>>>>> "SCSI: UFS: Add platform support for ufs host controller" patch adds a
>>>>> new
>>>>> file to support platform device probe
>>>>>
>>>>> "SCSI: UFS: Added support of PCI/PLTFM for UFS" patch adds the menu
>>>>> option
>>>>> in Kconfig and Makefile to enable/disable the specific option
>>>>>
>>>>> Girish K S (4):
>>>>> SCSI: UFS: remove all pci code from core driver
>>>>> SCSI: UFS: Add support for pci probe
>>>>> SCSI: UFS: Add platform support for ufs host controller
>>>>> SCSI: UFS: Added support of PCI/PLTFM for UFS
>>>>>
>>>>> drivers/scsi/ufs/Kconfig | 32 +++-
>>>>> drivers/scsi/ufs/Makefile | 2 +
>>>>> drivers/scsi/ufs/ufs.h | 103 +++++++++++
>>>>> drivers/scsi/ufs/ufshcd-pci.c | 217 ++++++++++++++++++++++
>>>>> drivers/scsi/ufs/ufshcd-pltfm.c | 191 ++++++++++++++++++++
>>>>> drivers/scsi/ufs/ufshcd.c | 377
>>>>> +++++++++------------------------------
>>>>> 6 files changed, 623 insertions(+), 299 deletions(-)
>>>>> create mode 100644 drivers/scsi/ufs/ufshcd-pci.c
>>>>> create mode 100644 drivers/scsi/ufs/ufshcd-pltfm.c
>>>>>
>>>>> --
>>>>> 1.7.4.1
>>>>>
>>>>> --
>>>>> To unsubscribe from this list: send the line "unsubscribe linux-scsi"
>>>>> in
>>>>> the body of a message to majordomo@vger.kernel.org
>>>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>>>>
>>>
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [RFC PATCH 0/4] Add support for pci/non-pci probing for UFS
2012-05-15 5:29 ` Namjae Jeon
@ 2012-05-15 6:13 ` Girish K S
0 siblings, 0 replies; 16+ messages in thread
From: Girish K S @ 2012-05-15 6:13 UTC (permalink / raw)
To: Namjae Jeon; +Cc: linux-scsi, james.bottomley, vinholikatti, santoshsy, patches
On 15 May 2012 10:59, Namjae Jeon <linkinjeon@gmail.com> wrote:
> 2012/5/15, Girish K S <girish.shivananjappa@linaro.org>:
>> On 15 May 2012 09:02, Namjae Jeon <linkinjeon@gmail.com> wrote:
>>> 2012/5/15, Girish K S <girish.shivananjappa@linaro.org>:
>>>> Sorry ,
>>>> I will rebase them to James' for-next treee. and resend
>>>>
>>>> thanks and regards
>>>> Girish K S
>>> There is one more thing.
>>> You add your module author name.
>>> But module author name should be only one per one module.
>>> Your author name will be comflicted with origianl author(santosh,
>>> vinayak).
>>> plz try to check like this. maybe you can see your name instread
>>> original author.
>>> /sbin/modinfo ufshcd.ko
>> If i build ufshcd.ko ufshcd-pci.ko ufshcd-pltfm.ko, then i can see
>> only my name in the ufshcd-*.ko which is added by me. But not in
>> ufshcd.ko
>> Is it a problem?
> ufsdhcd(interface core driver), ufshcd-pci and ufshcd-pltm drivers can
> be divided as your suggestion.
> And I think that it looks proper to me if you add original author to
> ufschd.ko and ufschd-pci.ko.
> And you can add your name to ufshcd-pltm.ko.
> Because this driver is made by your idea.
Sure will do that in the patch which i resend
> Thanks.
>
>>>
>>> Thanks.
>>>>
>>>> On 15 May 2012 07:08, Namjae Jeon <linkinjeon@gmail.com> wrote:
>>>>> Hi. Girish.
>>>>>
>>>>> There are hunks when I try to patch.
>>>>> have you created patches on linux-next ?
>>>>>
>>>>> patching file drivers/scsi/ufs/ufs.h
>>>>> patching file drivers/scsi/ufs/ufshcd.c
>>>>> Hunk #10 FAILED at 826.
>>>>> Hunk #13 FAILED at 929.
>>>>> Hunk #15 succeeded at 1050 with fuzz 1 (offset 2 lines).
>>>>> Hunk #17 succeeded at 1193 (offset 2 lines).
>>>>> Hunk #19 succeeded at 1392 (offset 2 lines).
>>>>> Hunk #21 succeeded at 1571 (offset 2 lines).
>>>>> Hunk #23 succeeded at 1644 (offset 2 lines).
>>>>> Hunk #25 FAILED at 1724.
>>>>> 3 out of 25 hunks FAILED -- saving rejects to file
>>>>> drivers/scsi/ufs/ufshcd.c.rej
>>>>>
>>>>> And after testing, have you sent this patch ?
>>>>>
>>>>> Thanks.
>>>>>
>>>>> 2012/5/14, Girish K S <girish.shivananjappa@linaro.org>:
>>>>>> The existing UFS driver is tightly bound to only pci specific devices.
>>>>>> It cannot work for non-pci devices.
>>>>>>
>>>>>> "SCSI: UFS: remove all pci code from core driver" patch removes all
>>>>>> the
>>>>>> pci specific code from the core driver to make it generic
>>>>>>
>>>>>> "SCSI: UFS: Add support for pci probe" patch adds a new file to
>>>>>> support
>>>>>> pci probing.
>>>>>>
>>>>>> "SCSI: UFS: Add platform support for ufs host controller" patch adds a
>>>>>> new
>>>>>> file to support platform device probe
>>>>>>
>>>>>> "SCSI: UFS: Added support of PCI/PLTFM for UFS" patch adds the menu
>>>>>> option
>>>>>> in Kconfig and Makefile to enable/disable the specific option
>>>>>>
>>>>>> Girish K S (4):
>>>>>> SCSI: UFS: remove all pci code from core driver
>>>>>> SCSI: UFS: Add support for pci probe
>>>>>> SCSI: UFS: Add platform support for ufs host controller
>>>>>> SCSI: UFS: Added support of PCI/PLTFM for UFS
>>>>>>
>>>>>> drivers/scsi/ufs/Kconfig | 32 +++-
>>>>>> drivers/scsi/ufs/Makefile | 2 +
>>>>>> drivers/scsi/ufs/ufs.h | 103 +++++++++++
>>>>>> drivers/scsi/ufs/ufshcd-pci.c | 217 ++++++++++++++++++++++
>>>>>> drivers/scsi/ufs/ufshcd-pltfm.c | 191 ++++++++++++++++++++
>>>>>> drivers/scsi/ufs/ufshcd.c | 377
>>>>>> +++++++++------------------------------
>>>>>> 6 files changed, 623 insertions(+), 299 deletions(-)
>>>>>> create mode 100644 drivers/scsi/ufs/ufshcd-pci.c
>>>>>> create mode 100644 drivers/scsi/ufs/ufshcd-pltfm.c
>>>>>>
>>>>>> --
>>>>>> 1.7.4.1
>>>>>>
>>>>>> --
>>>>>> To unsubscribe from this list: send the line "unsubscribe linux-scsi"
>>>>>> in
>>>>>> the body of a message to majordomo@vger.kernel.org
>>>>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>>>>>
>>>>
>>
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [RFC PATCH 0/4] Add support for pci/non-pci probing for UFS
2012-05-14 11:08 [RFC PATCH 0/4] Add support for pci/non-pci probing for UFS Girish K S
` (4 preceding siblings ...)
2012-05-15 1:38 ` [RFC PATCH 0/4] Add support for pci/non-pci probing " Namjae Jeon
@ 2012-06-07 4:22 ` vinayak holikatti
2012-06-07 4:51 ` vinayak holikatti
6 siblings, 0 replies; 16+ messages in thread
From: vinayak holikatti @ 2012-06-07 4:22 UTC (permalink / raw)
To: Girish K S; +Cc: linux-scsi, james.bottomley, santoshsy, patches
Hi Girish,
It was already communicated to you internally that the the platform
support for UFSHCD has been implemented, PCI and Platform code has
been segregated and we are in the final stages of testing. We would
send the code for internal review before posting the patches to SCSI
mailing list. So the reason for posting your untested patches within
few days after you were informed is not clear. We don't want to put
effort reviewing and testing these patch again, since we already have
working code. Working platform patches for UFSHCD will be posted soon.
On Mon, May 14, 2012 at 4:38 PM, Girish K S
<girish.shivananjappa@linaro.org> wrote:
> The existing UFS driver is tightly bound to only pci specific devices.
> It cannot work for non-pci devices.
>
> "SCSI: UFS: remove all pci code from core driver" patch removes all the
> pci specific code from the core driver to make it generic
>
> "SCSI: UFS: Add support for pci probe" patch adds a new file to support
> pci probing.
>
> "SCSI: UFS: Add platform support for ufs host controller" patch adds a new
> file to support platform device probe
>
> "SCSI: UFS: Added support of PCI/PLTFM for UFS" patch adds the menu option
> in Kconfig and Makefile to enable/disable the specific option
>
> Girish K S (4):
> SCSI: UFS: remove all pci code from core driver
> SCSI: UFS: Add support for pci probe
> SCSI: UFS: Add platform support for ufs host controller
> SCSI: UFS: Added support of PCI/PLTFM for UFS
>
> drivers/scsi/ufs/Kconfig | 32 +++-
> drivers/scsi/ufs/Makefile | 2 +
> drivers/scsi/ufs/ufs.h | 103 +++++++++++
> drivers/scsi/ufs/ufshcd-pci.c | 217 ++++++++++++++++++++++
> drivers/scsi/ufs/ufshcd-pltfm.c | 191 ++++++++++++++++++++
> drivers/scsi/ufs/ufshcd.c | 377 +++++++++------------------------------
> 6 files changed, 623 insertions(+), 299 deletions(-)
> create mode 100644 drivers/scsi/ufs/ufshcd-pci.c
> create mode 100644 drivers/scsi/ufs/ufshcd-pltfm.c
>
> --
> 1.7.4.1
>
--
Regards,
Vinayak Holikatti
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [RFC PATCH 0/4] Add support for pci/non-pci probing for UFS
2012-05-14 11:08 [RFC PATCH 0/4] Add support for pci/non-pci probing for UFS Girish K S
` (5 preceding siblings ...)
2012-06-07 4:22 ` vinayak holikatti
@ 2012-06-07 4:51 ` vinayak holikatti
2012-06-07 6:45 ` Girish K S
6 siblings, 1 reply; 16+ messages in thread
From: vinayak holikatti @ 2012-06-07 4:51 UTC (permalink / raw)
To: Girish K S
Cc: linux-scsi, james.bottomley, santoshsy, patches,
vinayak holikatti
On Mon, May 14, 2012 at 4:38 PM, Girish K S
<girish.shivananjappa@linaro.org> wrote:
> The existing UFS driver is tightly bound to only pci specific devices.
> It cannot work for non-pci devices.
>
> "SCSI: UFS: remove all pci code from core driver" patch removes all the
> pci specific code from the core driver to make it generic
>
> "SCSI: UFS: Add support for pci probe" patch adds a new file to support
> pci probing.
>
> "SCSI: UFS: Add platform support for ufs host controller" patch adds a new
> file to support platform device probe
>
> "SCSI: UFS: Added support of PCI/PLTFM for UFS" patch adds the menu option
> in Kconfig and Makefile to enable/disable the specific option
>
> Girish K S (4):
> SCSI: UFS: remove all pci code from core driver
> SCSI: UFS: Add support for pci probe
> SCSI: UFS: Add platform support for ufs host controller
> SCSI: UFS: Added support of PCI/PLTFM for UFS
>
> drivers/scsi/ufs/Kconfig | 32 +++-
> drivers/scsi/ufs/Makefile | 2 +
> drivers/scsi/ufs/ufs.h | 103 +++++++++++
> drivers/scsi/ufs/ufshcd-pci.c | 217 ++++++++++++++++++++++
> drivers/scsi/ufs/ufshcd-pltfm.c | 191 ++++++++++++++++++++
> drivers/scsi/ufs/ufshcd.c | 377 +++++++++------------------------------
> 6 files changed, 623 insertions(+), 299 deletions(-)
> create mode 100644 drivers/scsi/ufs/ufshcd-pci.c
> create mode 100644 drivers/scsi/ufs/ufshcd-pltfm.c
>
> --
> 1.7.4.1
>
Hi Girish,
It was already communicated to you internally that the the platform
support for UFSHCD has been implemented, PCI and Platform code has
been segregated and we are in the final stages of testing. We would
send the code for internal review before posting the patches to SCSI
mailing list. So the reason for posting your untested patches within
few days after you were informed is not clear. We don't want to put
effort reviewing and testing these patch again, since we already have
working code. Working platform patches for UFSHCD will be posted soon.
--
Regards,
Vinayak Holikatti
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [RFC PATCH 0/4] Add support for pci/non-pci probing for UFS
2012-06-07 4:51 ` vinayak holikatti
@ 2012-06-07 6:45 ` Girish K S
2012-06-07 14:35 ` vinayak holikatti
0 siblings, 1 reply; 16+ messages in thread
From: Girish K S @ 2012-06-07 6:45 UTC (permalink / raw)
To: vinayak holikatti; +Cc: linux-scsi, james.bottomley, santoshsy, patches
On 7 June 2012 10:21, vinayak holikatti <vinholikatti@gmail.com> wrote:
> On Mon, May 14, 2012 at 4:38 PM, Girish K S
> <girish.shivananjappa@linaro.org> wrote:
>> The existing UFS driver is tightly bound to only pci specific devices.
>> It cannot work for non-pci devices.
>>
>> "SCSI: UFS: remove all pci code from core driver" patch removes all the
>> pci specific code from the core driver to make it generic
>>
>> "SCSI: UFS: Add support for pci probe" patch adds a new file to support
>> pci probing.
>>
>> "SCSI: UFS: Add platform support for ufs host controller" patch adds a new
>> file to support platform device probe
>>
>> "SCSI: UFS: Added support of PCI/PLTFM for UFS" patch adds the menu option
>> in Kconfig and Makefile to enable/disable the specific option
>>
>> Girish K S (4):
>> SCSI: UFS: remove all pci code from core driver
>> SCSI: UFS: Add support for pci probe
>> SCSI: UFS: Add platform support for ufs host controller
>> SCSI: UFS: Added support of PCI/PLTFM for UFS
>>
>> drivers/scsi/ufs/Kconfig | 32 +++-
>> drivers/scsi/ufs/Makefile | 2 +
>> drivers/scsi/ufs/ufs.h | 103 +++++++++++
>> drivers/scsi/ufs/ufshcd-pci.c | 217 ++++++++++++++++++++++
>> drivers/scsi/ufs/ufshcd-pltfm.c | 191 ++++++++++++++++++++
>> drivers/scsi/ufs/ufshcd.c | 377 +++++++++------------------------------
>> 6 files changed, 623 insertions(+), 299 deletions(-)
>> create mode 100644 drivers/scsi/ufs/ufshcd-pci.c
>> create mode 100644 drivers/scsi/ufs/ufshcd-pltfm.c
>>
>> --
>> 1.7.4.1
>>
>
> Hi Girish,
>
> It was already communicated to you internally that the the platform
> support for UFSHCD has been implemented, PCI and Platform code has
Only informed after i had sent the initial code internally. After
effort has been spent
on making the draft copy.
> been segregated and we are in the final stages of testing. We would
> send the code for internal review before posting the patches to SCSI
waited for more than 2 months time. when there was no reply, i did the
above mentioned draft and sent.
But still i didnt get reply for that internal mail.
Why didnt you object on the 1st RFC. Why did you wait for 4 revisions.
> mailing list. So the reason for posting your untested patches within
pls test this patch and then claim that it doesnt work. And the RFC
was to push the
pci and non pci separate framework. Hope its clear.
> few days after you were informed is not clear. We don't want to put
> effort reviewing and testing these patch again, since we already have
Above statement shows the negligence of not testing the patch.
I can post all the log messages of the test.
> working code. Working platform patches for UFSHCD will be posted soon.
waiting for the same. and let experts in this list decide on that (for
pci/non pci) framework
>
>
> --
> Regards,
> Vinayak Holikatti
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [RFC PATCH 0/4] Add support for pci/non-pci probing for UFS
2012-06-07 6:45 ` Girish K S
@ 2012-06-07 14:35 ` vinayak holikatti
0 siblings, 0 replies; 16+ messages in thread
From: vinayak holikatti @ 2012-06-07 14:35 UTC (permalink / raw)
To: Girish K S
Cc: linux-scsi, james.bottomley, santoshsy, patches,
vinayak holikatti
On Thu, Jun 7, 2012 at 12:15 PM, Girish K S
<girish.shivananjappa@linaro.org> wrote:
> On 7 June 2012 10:21, vinayak holikatti <vinholikatti@gmail.com> wrote:
>> On Mon, May 14, 2012 at 4:38 PM, Girish K S
>> <girish.shivananjappa@linaro.org> wrote:
>>> The existing UFS driver is tightly bound to only pci specific devices.
>>> It cannot work for non-pci devices.
>>>
>>> "SCSI: UFS: remove all pci code from core driver" patch removes all the
>>> pci specific code from the core driver to make it generic
>>>
>>> "SCSI: UFS: Add support for pci probe" patch adds a new file to support
>>> pci probing.
>>>
>>> "SCSI: UFS: Add platform support for ufs host controller" patch adds a new
>>> file to support platform device probe
>>>
>>> "SCSI: UFS: Added support of PCI/PLTFM for UFS" patch adds the menu option
>>> in Kconfig and Makefile to enable/disable the specific option
>>>
>>> Girish K S (4):
>>> SCSI: UFS: remove all pci code from core driver
>>> SCSI: UFS: Add support for pci probe
>>> SCSI: UFS: Add platform support for ufs host controller
>>> SCSI: UFS: Added support of PCI/PLTFM for UFS
>>>
>>> drivers/scsi/ufs/Kconfig | 32 +++-
>>> drivers/scsi/ufs/Makefile | 2 +
>>> drivers/scsi/ufs/ufs.h | 103 +++++++++++
>>> drivers/scsi/ufs/ufshcd-pci.c | 217 ++++++++++++++++++++++
>>> drivers/scsi/ufs/ufshcd-pltfm.c | 191 ++++++++++++++++++++
>>> drivers/scsi/ufs/ufshcd.c | 377 +++++++++------------------------------
>>> 6 files changed, 623 insertions(+), 299 deletions(-)
>>> create mode 100644 drivers/scsi/ufs/ufshcd-pci.c
>>> create mode 100644 drivers/scsi/ufs/ufshcd-pltfm.c
>>>
>>> --
>>> 1.7.4.1
>>>
>>
>> Hi Girish,
>>
>> It was already communicated to you internally that the the platform
>> support for UFSHCD has been implemented, PCI and Platform code has
> Only informed after i had sent the initial code internally. After
> effort has been spent
> on making the draft copy.
I had informed you about the work on platform support before you sent the
patches internally.
>> been segregated and we are in the final stages of testing. We would
>> send the code for internal review before posting the patches to SCSI
> waited for more than 2 months time. when there was no reply, i did the
> above mentioned draft and sent.
Reply to what? as I have mentioned above I had already informed you about
the work on platform support.Also you are well aware of the internal
review process before posting the patches. If not, then read the mail
that was sent, even you are in the CC.
> But still i didnt get reply for that internal mail.
Immediate reply was sent to your mail. Stop covering the facts.
I still have the email records.
> Why didnt you object on the 1st RFC. Why did you wait for 4 revisions.
We had informed you before posting the patches itself this is the
result of your negligence.
>> mailing list. So the reason for posting your untested patches within
> pls test this patch and then claim that it doesnt work. And the RFC
> was to push the
> pci and non pci separate framework. Hope its clear.
>> few days after you were informed is not clear. We don't want to put
>> effort reviewing and testing these patch again, since we already have
> Above statement shows the negligence of not testing the patch.
> I can post all the log messages of the test.
still the intent of the reply doesn't seem clear to you. Its simple,
since every one is busy, we don't want to do the same work twice.
We don't have any hidden agenda for not accepting your patches.
If some one without the knowledge of the internal work had posted the
patches it would make sense.
>> working code. Working platform patches for UFSHCD will be posted soon.
> waiting for the same. and let experts in this list decide on that (for
> pci/non pci) framework
>>
>>
>> --
>> Regards,
>> Vinayak Holikatti
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2012-06-07 14:35 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-14 11:08 [RFC PATCH 0/4] Add support for pci/non-pci probing for UFS Girish K S
2012-05-14 11:08 ` [RFC PATCH 1/4] SCSI: UFS: remove all pci code from core driver Girish K S
2012-05-14 11:08 ` [RFC PATCH 2/4] SCSI: UFS: Add support for pci probe Girish K S
2012-05-14 11:08 ` [RFC PATCH 3/4] SCSI: UFS: Add platform support for ufs host controller Girish K S
2012-05-14 11:08 ` [RFC PATCH 4/4] SCSI: UFS: Added support of PCI/PLTFM for UFS Girish K S
2012-05-15 1:38 ` [RFC PATCH 0/4] Add support for pci/non-pci probing " Namjae Jeon
2012-05-15 2:53 ` Girish K S
2012-05-15 3:32 ` Namjae Jeon
2012-05-15 4:24 ` Girish K S
2012-05-15 4:51 ` Girish K S
2012-05-15 5:29 ` Namjae Jeon
2012-05-15 6:13 ` Girish K S
2012-06-07 4:22 ` vinayak holikatti
2012-06-07 4:51 ` vinayak holikatti
2012-06-07 6:45 ` Girish K S
2012-06-07 14:35 ` vinayak holikatti
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).