kdev_t.value is not an int.  Code looks fishy.


 scsi/st.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN drivers/scsi/st.c~st-warning-fix drivers/scsi/st.c
--- 25-power4/drivers/scsi/st.c~st-warning-fix	2003-02-10 23:22:53.000000000 -0800
+++ 25-power4-akpm/drivers/scsi/st.c	2003-02-10 23:22:53.000000000 -0800
@@ -3618,7 +3618,7 @@ __setup("st=", st_setup);
 static ssize_t st_device_kdev_read(struct device *dev, char *page)
 {
 	kdev_t kdev; 
-	kdev.value=(int)dev->driver_data;
+	kdev.value=(unsigned long)dev->driver_data;
 	return sprintf(page, "%x\n",kdev.value);
 }
 static DEVICE_ATTR(kdev,S_IRUGO,st_device_kdev_read,NULL);

_