2004-11-14 12:07:52

by Jan Dittmer

[permalink] [raw]
Subject: [PATCH] matrox w1: fix integer to pointer conversion warnings

Get rid of some pointer to integer conversion warnings
in the matrox w1 bus driver.

Signed-off-by: Jan Dittmer <[email protected]>

diff -Nru a/drivers/w1/matrox_w1.c b/drivers/w1/matrox_w1.c
--- a/drivers/w1/matrox_w1.c 2004-11-14 13:03:45 +01:00
+++ b/drivers/w1/matrox_w1.c 2004-11-14 13:03:45 +01:00
@@ -78,11 +78,12 @@

struct matrox_device
{
- unsigned long base_addr;
- unsigned long port_index, port_data;
+ char *base_addr;
+ char *port_index, *port_data;
u8 data_mask;

- unsigned long phys_addr, virt_addr;
+ unsigned long phys_addr;
+ char *virt_addr;
unsigned long found;

struct w1_bus_master *bus_master;
@@ -181,8 +182,7 @@

dev->phys_addr = pci_resource_start(pdev, 1);

- dev->virt_addr =
- (unsigned long) ioremap_nocache(dev->phys_addr, 16384);
+ dev->virt_addr = ioremap_nocache(dev->phys_addr, 16384);
if (!dev->virt_addr) {
dev_err(&pdev->dev, "%s: failed to ioremap(0x%lx, %d).\n",
__func__, dev->phys_addr, 16384);


2004-11-14 19:48:31

by Evgeniy Polyakov

[permalink] [raw]
Subject: Re: [PATCH] matrox w1: fix integer to pointer conversion warnings

On Sun, 14 Nov 2004 13:07:08 +0100
Jan Dittmer <[email protected]> wrote:

> Get rid of some pointer to integer conversion warnings
> in the matrox w1 bus driver.

I believe it should be done using __iomem * conversation.
I will create a patch later.

Thank you.

> Signed-off-by: Jan Dittmer <[email protected]>
>
> diff -Nru a/drivers/w1/matrox_w1.c b/drivers/w1/matrox_w1.c
> --- a/drivers/w1/matrox_w1.c 2004-11-14 13:03:45 +01:00
> +++ b/drivers/w1/matrox_w1.c 2004-11-14 13:03:45 +01:00
> @@ -78,11 +78,12 @@
>
> struct matrox_device
> {
> - unsigned long base_addr;
> - unsigned long port_index, port_data;
> + char *base_addr;
> + char *port_index, *port_data;
> u8 data_mask;
>
> - unsigned long phys_addr, virt_addr;
> + unsigned long phys_addr;
> + char *virt_addr;
> unsigned long found;
>
> struct w1_bus_master *bus_master;
> @@ -181,8 +182,7 @@
>
> dev->phys_addr = pci_resource_start(pdev, 1);
>
> - dev->virt_addr =
> - (unsigned long) ioremap_nocache(dev->phys_addr, 16384);
> + dev->virt_addr = ioremap_nocache(dev->phys_addr, 16384);
> if (!dev->virt_addr) {
> dev_err(&pdev->dev, "%s: failed to ioremap(0x%lx, %d).\n",
> __func__, dev->phys_addr, 16384);


Evgeniy Polyakov

Only failure makes us experts. -- Theo de Raadt

2004-11-14 20:16:03

by Jan Dittmer

[permalink] [raw]
Subject: Re: [PATCH] matrox w1: fix integer to pointer conversion warnings

Evgeniy Polyakov wrote:
> On Sun, 14 Nov 2004 13:07:08 +0100
> Jan Dittmer <[email protected]> wrote:
>
>
>>Get rid of some pointer to integer conversion warnings
>>in the matrox w1 bus driver.
>

You mean like this? (Incremental to the other one)

Jan


Attachments:
w1.diff (636.00 B)

2004-11-15 04:39:43

by Evgeniy Polyakov

[permalink] [raw]
Subject: Re: [PATCH] matrox w1: fix integer to pointer conversion warnings

On Sun, 2004-11-14 at 23:15, Jan Dittmer wrote:
> Evgeniy Polyakov wrote:
> > On Sun, 14 Nov 2004 13:07:08 +0100
> > Jan Dittmer <[email protected]> wrote:
> >
> >
> >>Get rid of some pointer to integer conversion warnings
> >>in the matrox w1 bus driver.
> >
>
> You mean like this? (Incremental to the other one)

We should not treat __iomem suffix like just addition for variable
declaration, it is now part of the type I think.

So there is no char __iomem, but only void __iomem.

> Jan
>
>
> ______________________________________________________________________
> ===== matrox_w1.c 1.4 vs edited =====
> --- 1.4/drivers/w1/matrox_w1.c 2004-11-14 13:02:18 +01:00
> +++ edited/matrox_w1.c 2004-11-14 21:15:09 +01:00
> @@ -78,12 +78,12 @@
>
> struct matrox_device
> {
> - char *base_addr;
> - char *port_index, *port_data;
> + char __iomem *base_addr;
> + char __iomem *port_index, *port_data;
> u8 data_mask;
>
> unsigned long phys_addr;
> - char *virt_addr;
> + char __iomem *virt_addr;
> unsigned long found;
>
> struct w1_bus_master *bus_master;
> @@ -227,7 +227,7 @@
>
> if (dev->found) {
> w1_remove_master_device(dev->bus_master);
> - iounmap((void *) dev->virt_addr);
> + iounmap(dev->virt_addr);
> }
> kfree(dev);
> }
--
Evgeniy Polyakov

Crash is better than data corruption. -- Art Grabowski


Attachments:
signature.asc (189.00 B)
This is a digitally signed message part

2004-11-15 04:46:37

by Roland Dreier

[permalink] [raw]
Subject: Re: [PATCH] matrox w1: fix integer to pointer conversion warnings

Evgeniy> So there is no char __iomem, but only void __iomem.

Declaring a pointer as "char __iomem *" is a perfectly good thing to
do. __iomem is a type attribute and can be added to just about any
base type.

- Roland