From: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
To: Hannes Reinecke <hare@suse.de>
Cc: Jens Axboe <axboe@kernel.dk>,
linux-ide@vger.kernel.org, Hannes Reinecke <hare@suse.com>
Subject: Re: [PATCH 04/46] libata: move ata_{port,link,dev}_dbg to standard dev_XXX() macros
Date: Mon, 10 Feb 2020 13:25:35 +0100 [thread overview]
Message-ID: <a8c1f276-a79e-5bca-1d21-205d80eddf73@samsung.com> (raw)
In-Reply-To: <20200204165547.115220-5-hare@suse.de>
On 2/4/20 5:55 PM, Hannes Reinecke wrote:
> Use standard dev_{dbg,info,notice,warn,err} macros instead of the
> hand-crafted printk helpers.
> Also change the name for 'ata_device' structure to ataX:Y to be
> inline with the other ata object names.
>
> Signed-off-by: Hannes Reinecke <hare@suse.com>
> ---
> drivers/ata/ahci.c | 3 +--
> drivers/ata/libata-acpi.c | 48 ++++++++++++++++++---------------
> drivers/ata/libata-core.c | 61 ------------------------------------------
> drivers/ata/libata-transport.c | 4 +--
> include/linux/libata.h | 48 +++++++++++----------------------
> 5 files changed, 45 insertions(+), 119 deletions(-)
>
> diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
> index 4bfd1b14b390..b2719c64fc04 100644
> --- a/drivers/ata/ahci.c
> +++ b/drivers/ata/ahci.c
> @@ -796,8 +796,7 @@ static int ahci_avn_hardreset(struct ata_link *link, unsigned int *class,
> (sstatus & 0xf) != 1)
> break;
>
> - ata_link_printk(link, KERN_INFO, "avn bounce port%d\n",
> - port);
> + ata_link_info(link, "avn bounce port%d\n", port);
>
> pci_read_config_word(pdev, 0x92, &val);
> val &= ~(1 << port);
> diff --git a/drivers/ata/libata-acpi.c b/drivers/ata/libata-acpi.c
> index 224e3486e9a5..9a7c25252e50 100644
> --- a/drivers/ata/libata-acpi.c
> +++ b/drivers/ata/libata-acpi.c
> @@ -649,9 +649,7 @@ static int ata_acpi_run_tf(struct ata_device *dev,
> struct ata_taskfile *pptf = NULL;
> struct ata_taskfile tf, ptf, rtf;
> unsigned int err_mask;
> - const char *level;
> const char *descr;
> - char msg[60];
> int rc;
>
> if ((gtf->tf[0] == 0) && (gtf->tf[1] == 0) && (gtf->tf[2] == 0)
> @@ -665,6 +663,10 @@ static int ata_acpi_run_tf(struct ata_device *dev,
> pptf = &ptf;
> }
>
> + descr = ata_get_cmd_descript(tf.command);
> + if (!descr)
> + descr = "unknown";
> +
> if (!ata_acpi_filter_tf(dev, &tf, pptf)) {
> rtf = tf;
> err_mask = ata_exec_internal(dev, &rtf, NULL,
> @@ -672,40 +674,42 @@ static int ata_acpi_run_tf(struct ata_device *dev,
>
> switch (err_mask) {
> case 0:
> - level = KERN_DEBUG;
> - snprintf(msg, sizeof(msg), "succeeded");
> + ata_dev_dbg(dev,
> + "ACPI cmd %02x/%02x:%02x:%02x:%02x:%02x:%02x"
> + "(%s) succeeded\n",
> + tf.command, tf.feature, tf.nsect, tf.lbal,
> + tf.lbam, tf.lbah, tf.device, descr);
> rc = 1;
> break;
>
> case AC_ERR_DEV:
> - level = KERN_INFO;
> - snprintf(msg, sizeof(msg),
> - "rejected by device (Stat=0x%02x Err=0x%02x)",
> - rtf.command, rtf.feature);
> + ata_dev_info(dev,
> + "ACPI cmd %02x/%02x:%02x:%02x:%02x:%02x:%02x"
> + "(%s) rejected by device (Stat=0x%02x Err=0x%02x)",
> + tf.command, tf.feature, tf.nsect, tf.lbal,
> + tf.lbam, tf.lbah, tf.device, descr,
> + rtf.command, rtf.feature);
> rc = 0;
> break;
>
> default:
> - level = KERN_ERR;
> - snprintf(msg, sizeof(msg),
> - "failed (Emask=0x%x Stat=0x%02x Err=0x%02x)",
> - err_mask, rtf.command, rtf.feature);
> + ata_dev_err(dev,
> + "ACPI cmd %02x/%02x:%02x:%02x:%02x:%02x:%02x"
> + "(%s) failed (Emask=0x%x Stat=0x%02x Err=0x%02x)",
> + tf.command, tf.feature, tf.nsect, tf.lbal,
> + tf.lbam, tf.lbah, tf.device, descr,
> + err_mask, rtf.command, rtf.feature);
> rc = -EIO;
> break;
> }
> } else {
> - level = KERN_INFO;
> - snprintf(msg, sizeof(msg), "filtered out");
> + ata_dev_info(dev,
> + "ACPI cmd %02x/%02x:%02x:%02x:%02x:%02x:%02x"
> + "(%s) filtered out\n",
> + tf.command, tf.feature, tf.nsect, tf.lbal,
> + tf.lbam, tf.lbah, tf.device, descr);
> rc = 0;
> }
> - descr = ata_get_cmd_descript(tf.command);
> -
> - ata_dev_printk(dev, level,
> - "ACPI cmd %02x/%02x:%02x:%02x:%02x:%02x:%02x (%s) %s\n",
> - tf.command, tf.feature, tf.nsect, tf.lbal,
> - tf.lbam, tf.lbah, tf.device,
> - (descr ? descr : "unknown"), msg);
> -
> return rc;
> }
>
> diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
> index 6f4ab5c5b52d..cee815ecd7df 100644
> --- a/drivers/ata/libata-core.c
> +++ b/drivers/ata/libata-core.c
> @@ -7236,67 +7236,6 @@ const struct ata_port_info ata_dummy_port_info = {
> .port_ops = &ata_dummy_port_ops,
> };
>
> -/*
> - * Utility print functions
> - */
> -void ata_port_printk(const struct ata_port *ap, const char *level,
> - const char *fmt, ...)
> -{
> - struct va_format vaf;
> - va_list args;
> -
> - va_start(args, fmt);
> -
> - vaf.fmt = fmt;
> - vaf.va = &args;
> -
> - printk("%sata%u: %pV", level, ap->print_id, &vaf);
> -
> - va_end(args);
> -}
> -EXPORT_SYMBOL(ata_port_printk);
> -
> -void ata_link_printk(const struct ata_link *link, const char *level,
> - const char *fmt, ...)
> -{
> - struct va_format vaf;
> - va_list args;
> -
> - va_start(args, fmt);
> -
> - vaf.fmt = fmt;
> - vaf.va = &args;
> -
> - if (sata_pmp_attached(link->ap) || link->ap->slave_link)
> - printk("%sata%u.%02u: %pV",
> - level, link->ap->print_id, link->pmp, &vaf);
> - else
> - printk("%sata%u: %pV",
> - level, link->ap->print_id, &vaf);
> -
> - va_end(args);
> -}
> -EXPORT_SYMBOL(ata_link_printk);
> -
> -void ata_dev_printk(const struct ata_device *dev, const char *level,
> - const char *fmt, ...)
> -{
> - struct va_format vaf;
> - va_list args;
> -
> - va_start(args, fmt);
> -
> - vaf.fmt = fmt;
> - vaf.va = &args;
> -
> - printk("%sata%u.%02u: %pV",
> - level, dev->link->ap->print_id, dev->link->pmp + dev->devno,
> - &vaf);
> -
> - va_end(args);
> -}
> -EXPORT_SYMBOL(ata_dev_printk);
> -
> void ata_print_version(const struct device *dev, const char *version)
> {
> dev_printk(KERN_DEBUG, dev, "version %s\n", version);
> diff --git a/drivers/ata/libata-transport.c b/drivers/ata/libata-transport.c
> index 4ccfeb85ec66..db42bd05c4cf 100644
> --- a/drivers/ata/libata-transport.c
> +++ b/drivers/ata/libata-transport.c
> @@ -666,9 +666,9 @@ static int ata_tdev_add(struct ata_device *ata_dev)
> dev->parent = &link->tdev;
> dev->release = ata_tdev_release;
> if (ata_is_host_link(link))
> - dev_set_name(dev, "dev%d.%d", ap->print_id,ata_dev->devno);
> + dev_set_name(dev, "ata%d.%d", ap->print_id, ata_dev->devno);
> else
> - dev_set_name(dev, "dev%d.%d.0", ap->print_id, link->pmp);
> + dev_set_name(dev, "ata%d.%d.0", ap->print_id, link->pmp);
This change should be moved to a separate (pre-)patch.
However I worry that it is too late to change the device name as
it is a part of user-space ABI.
Please see Documentation/ABI/testing/sysfs-ata:
[...]
Files under /sys/class/ata_device
---------------------------------
Behind each link, up to two ata devices are created.
The name of the directory is devX[.Y].Z where:
- X is ata_port_id of the port where the device is connected,
- Y the port of the PM if any, and
- Z the device id: for PATA, there is usually 2 devices [0,1], only 1 for SATA.
What: /sys/class/ata_device/devX[.Y].Z/spdn_cnt
What: /sys/class/ata_device/devX[.Y].Z/gscr
What: /sys/class/ata_device/devX[.Y].Z/ering
What: /sys/class/ata_device/devX[.Y].Z/id
What: /sys/class/ata_device/devX[.Y].Z/pio_mode
What: /sys/class/ata_device/devX[.Y].Z/xfer_mode
What: /sys/class/ata_device/devX[.Y].Z/dma_mode
What: /sys/class/ata_device/devX[.Y].Z/class
Date: May, 2010
KernelVersion: v2.6.37
Contact: Gwendal Grignou <gwendal@chromium.org>
[...]
> transport_setup_device(dev);
> ata_acpi_bind_dev(ata_dev);
> diff --git a/include/linux/libata.h b/include/linux/libata.h
> index 19c9c32bd339..437d2f27bfdd 100644
> --- a/include/linux/libata.h
> +++ b/include/linux/libata.h
> @@ -1414,51 +1414,38 @@ static inline int sata_srst_pmp(struct ata_link *link)
> return link->pmp;
> }
>
> -/*
> - * printk helpers
> - */
> -__printf(3, 4)
> -void ata_port_printk(const struct ata_port *ap, const char *level,
> - const char *fmt, ...);
> -__printf(3, 4)
> -void ata_link_printk(const struct ata_link *link, const char *level,
> - const char *fmt, ...);
> -__printf(3, 4)
> -void ata_dev_printk(const struct ata_device *dev, const char *level,
> - const char *fmt, ...);
> -
> #define ata_port_err(ap, fmt, ...) \
> - ata_port_printk(ap, KERN_ERR, fmt, ##__VA_ARGS__)
> + dev_err(&ap->tdev, fmt, ##__VA_ARGS__)
> #define ata_port_warn(ap, fmt, ...) \
> - ata_port_printk(ap, KERN_WARNING, fmt, ##__VA_ARGS__)
> + dev_warn(&ap->tdev, fmt, ##__VA_ARGS__)
> #define ata_port_notice(ap, fmt, ...) \
> - ata_port_printk(ap, KERN_NOTICE, fmt, ##__VA_ARGS__)
> + dev_notice(&ap->tdev, fmt, ##__VA_ARGS__)
> #define ata_port_info(ap, fmt, ...) \
> - ata_port_printk(ap, KERN_INFO, fmt, ##__VA_ARGS__)
> + dev_info(&ap->tdev, fmt, ##__VA_ARGS__)
> #define ata_port_dbg(ap, fmt, ...) \
> - ata_port_printk(ap, KERN_DEBUG, fmt, ##__VA_ARGS__)
> + dev_dbg(&ap->tdev, "%s: " fmt, __func__, ##__VA_ARGS__)
>
> #define ata_link_err(link, fmt, ...) \
> - ata_link_printk(link, KERN_ERR, fmt, ##__VA_ARGS__)
> + dev_err(&link->tdev, fmt, ##__VA_ARGS__)
> #define ata_link_warn(link, fmt, ...) \
> - ata_link_printk(link, KERN_WARNING, fmt, ##__VA_ARGS__)
> + dev_warn(&link->tdev, fmt, ##__VA_ARGS__)
> #define ata_link_notice(link, fmt, ...) \
> - ata_link_printk(link, KERN_NOTICE, fmt, ##__VA_ARGS__)
> + dev_notice(&link->tdev, fmt, ##__VA_ARGS__)
> #define ata_link_info(link, fmt, ...) \
> - ata_link_printk(link, KERN_INFO, fmt, ##__VA_ARGS__)
> + dev_info(&link->tdev, fmt, ##__VA_ARGS__)
> #define ata_link_dbg(link, fmt, ...) \
> - ata_link_printk(link, KERN_DEBUG, fmt, ##__VA_ARGS__)
> + dev_dbg(&link->tdev, "%s: " fmt, __func__, ##__VA_ARGS__)
>
> #define ata_dev_err(dev, fmt, ...) \
> - ata_dev_printk(dev, KERN_ERR, fmt, ##__VA_ARGS__)
> + dev_err(&dev->tdev, fmt, ##__VA_ARGS__)
> #define ata_dev_warn(dev, fmt, ...) \
> - ata_dev_printk(dev, KERN_WARNING, fmt, ##__VA_ARGS__)
> + dev_warn(&dev->tdev, fmt, ##__VA_ARGS__)
> #define ata_dev_notice(dev, fmt, ...) \
> - ata_dev_printk(dev, KERN_NOTICE, fmt, ##__VA_ARGS__)
> + dev_notice(&dev->tdev, fmt, ##__VA_ARGS__)
> #define ata_dev_info(dev, fmt, ...) \
> - ata_dev_printk(dev, KERN_INFO, fmt, ##__VA_ARGS__)
> + dev_info(&dev->tdev, fmt, ##__VA_ARGS__)
> #define ata_dev_dbg(dev, fmt, ...) \
> - ata_dev_printk(dev, KERN_DEBUG, fmt, ##__VA_ARGS__)
> + dev_dbg(&dev->tdev, "%s: " fmt, __func__, ##__VA_ARGS__)
Addition of __func__ to ata_{port,link,dev}_dbg() should be done in
a separate (post-)patch.
It should also be done together with fixing existing ata_*_dbg()
instances that are already using __func__:
drivers/ata/libata-sff.c: ata_port_dbg(ap, "%s: EXIT\n", __func__);
drivers/ata/pata_amd.c: ata_port_dbg(ap, "nv_mode_filter: 0x%lx&0x%lx->0x%lx, "
drivers/ata/libata-acpi.c: ata_dev_dbg(dev, "%s: ENTER: port#: %d\n",
drivers/ata/libata-acpi.c- __func__, ap->port_no);
drivers/ata/libata-acpi.c: ata_dev_dbg(dev, "%s: Run _GTF: length or ptr is NULL (0x%llx, 0x%p)\n",
drivers/ata/libata-acpi.c- __func__,
drivers/ata/libata-acpi.c: ata_dev_dbg(dev, "%s: returning gtf=%p, gtf_count=%d\n",
drivers/ata/libata-acpi.c- __func__, *gtf, rc);
drivers/ata/libata-acpi.c: ata_dev_dbg(dev, "%s: ix = %d, port#: %d\n",
drivers/ata/libata-acpi.c- __func__, dev->devno, ap->port_no);
drivers/ata/libata-core.c: ata_dev_dbg(dev, "%s: ENTER\n", __func__);
drivers/ata/libata-core.c: ata_dev_dbg(dev, "%s: ENTER\n", __func__);
drivers/ata/libata-core.c: ata_dev_dbg(dev, "%s: EXIT, err\n", __func__);
so we don't end up with duplicated __func__ info.
The rest of the patch looks fine.
> void ata_print_version(const struct device *dev, const char *version);
>
> @@ -1980,11 +1967,8 @@ static inline u8 ata_wait_idle(struct ata_port *ap)
> {
> u8 status = ata_sff_busy_wait(ap, ATA_BUSY | ATA_DRQ, 1000);
>
> -#ifdef ATA_DEBUG
> if (status != 0xff && (status & (ATA_BUSY | ATA_DRQ)))
> - ata_port_printk(ap, KERN_DEBUG, "abnormal Status 0x%X\n",
> - status);
> -#endif
> + ata_port_dbg(ap, "abnormal Status 0x%X\n", status);
>
> return status;
> }
>
Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics
next prev parent reply other threads:[~2020-02-10 12:25 UTC|newest]
Thread overview: 97+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-04 16:55 [PATCH 00/46] ata: kill ATA_DEBUG Hannes Reinecke
2020-02-04 16:55 ` [PATCH 01/46] libata: drop BPRINTK() Hannes Reinecke
2020-02-04 16:55 ` [PATCH 02/46] libata.h: whitespace and indentation fixes Hannes Reinecke
2020-02-10 11:51 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 03/46] libata-transport: Whitespace cleanup Hannes Reinecke
2020-02-10 11:52 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 04/46] libata: move ata_{port,link,dev}_dbg to standard dev_XXX() macros Hannes Reinecke
2020-02-10 12:25 ` Bartlomiej Zolnierkiewicz [this message]
2020-02-04 16:55 ` [PATCH 05/46] libata: remove pointless debugging messages Hannes Reinecke
2020-02-10 12:34 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 06/46] ata_piix: remove debugging message in piix_init() Hannes Reinecke
2020-02-10 12:36 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 07/46] libata-core: remove pointless debugging messages Hannes Reinecke
2020-02-05 8:08 ` Sergei Shtylyov
2020-02-10 12:37 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 08/46] libata: Add ata_port_classify() helper Hannes Reinecke
2020-02-10 12:44 ` Bartlomiej Zolnierkiewicz
2020-02-13 7:15 ` Hannes Reinecke
2020-02-04 16:55 ` [PATCH 09/46] libata: move ata_dump_id() to dynamic debugging Hannes Reinecke
2020-02-05 1:51 ` kbuild test robot
2020-02-10 12:47 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 10/46] sata_mv: replace DPRINTK with 'pci_dump' module parameter Hannes Reinecke
2020-02-10 12:51 ` Bartlomiej Zolnierkiewicz
2020-02-10 12:54 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 11/46] sata_nv: move DPRINTK to ata debugging Hannes Reinecke
2020-02-10 13:25 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 12/46] sata_sx4: move DPRINTK to VPRINTK Hannes Reinecke
2020-02-10 13:29 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 13/46] ata_piix: Drop DPRINTK() statement Hannes Reinecke
2020-02-10 13:32 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 14/46] libata: add reset tracepoints Hannes Reinecke
2020-02-10 13:42 ` Bartlomiej Zolnierkiewicz
2020-02-12 10:11 ` Hannes Reinecke
2020-02-04 16:55 ` [PATCH 15/46] ahci: drop DPRINTK() calls in reset Hannes Reinecke
2020-02-10 13:43 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 16/46] ahci_qorig: " Hannes Reinecke
2020-02-10 13:45 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 17/46] pata_octeon_cf: " Hannes Reinecke
2020-02-10 13:46 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 18/46] libahci: " Hannes Reinecke
2020-02-10 13:46 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 19/46] sata_rcar: " Hannes Reinecke
2020-02-10 13:48 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 20/46] sata_sil24: " Hannes Reinecke
2020-02-10 13:48 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 21/46] sata_fsl: " Hannes Reinecke
2020-02-10 13:49 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 22/46] libata-core: " Hannes Reinecke
2020-02-10 13:50 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 23/46] libata-sff: " Hannes Reinecke
2020-02-10 13:54 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 24/46] libata: tracepoints for bus-master DMA Hannes Reinecke
2020-02-10 15:21 ` Bartlomiej Zolnierkiewicz
2020-02-10 15:23 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 25/46] libata-sff: add tracepoints for HSM state machine Hannes Reinecke
2020-02-10 15:32 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 26/46] pata_octeon_cf: add bmdma tracepoints and drop DPRINTK() Hannes Reinecke
2020-02-10 15:36 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 27/46] sata_rcar: drop DPRINTK call in sata_rcar_exec_command() Hannes Reinecke
2020-02-10 15:37 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 28/46] libata-scsi: drop DPRINTK calls for cdb translation Hannes Reinecke
2020-02-10 15:40 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 29/46] libata-sff: add tracepoints for ata_sff_flush_pio_task() Hannes Reinecke
2020-02-10 15:44 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 30/46] libata-core: add postreset tracepoints Hannes Reinecke
2020-02-10 15:47 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 31/46] pata_octeon_cf: move DPRINTK to VPRINTK Hannes Reinecke
2020-02-10 15:48 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 32/46] pata_pdc202xx_old: Drop DPRINTK in pdc202xx_exec_command() Hannes Reinecke
2020-02-10 15:49 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 33/46] pata_sil680: Drop DPRINTK in sil_sff_exec_command() Hannes Reinecke
2020-02-10 15:51 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 34/46] pdc_adma: move DPRINTK to VPRINTK Hannes Reinecke
2020-02-10 15:52 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 35/46] sata_rcar: " Hannes Reinecke
2020-02-10 15:52 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 36/46] sata_qstor: " Hannes Reinecke
2020-02-10 15:53 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 37/46] pata_pdc2027x: Replace PDPRINTK() with standard ata logging Hannes Reinecke
2020-02-10 15:59 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 38/46] sata_fsl: move DPRINTK to ata debugging Hannes Reinecke
2020-02-10 16:07 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 39/46] libata: add tracepoints for ATA error handling Hannes Reinecke
2020-02-10 16:45 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 40/46] libata-eh: remove DPRINTK() calls for request sense Hannes Reinecke
2020-02-10 16:46 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 41/46] libata-core: move DPRINTK to ata debugging Hannes Reinecke
2020-02-10 16:48 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 42/46] libata: remove DPRINTK() macro Hannes Reinecke
2020-02-04 16:55 ` [PATCH 43/46] libata: kill ATA_MSG_INFO Hannes Reinecke
2020-02-10 16:49 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 44/46] libata: kill ATA_MSG_CTL Hannes Reinecke
2020-02-10 16:49 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 45/46] libata: remove references to ATA_DEBUG Hannes Reinecke
2020-02-10 16:50 ` Bartlomiej Zolnierkiewicz
2020-02-04 16:55 ` [PATCH 46/46] libata: remove ATA_NDEBUG Hannes Reinecke
2020-02-10 16:51 ` Bartlomiej Zolnierkiewicz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a8c1f276-a79e-5bca-1d21-205d80eddf73@samsung.com \
--to=b.zolnierkie@samsung.com \
--cc=axboe@kernel.dk \
--cc=hare@suse.com \
--cc=hare@suse.de \
--cc=linux-ide@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).