むむ

ちょっと忘れそうなのでメモ。
drivers/staging/comedi なパッチとゆーことで drivers/usbdux.c について以下な手続きにて

static int usbdux_attach_usb(struct comedi_device *dev,
			     struct usb_interface *uinterf)
{

以下な修正? って投げてるんですが

-               printk(KERN_ERR
-                      "comedi%d: usbdux: error: attach_usb failed, not connected\n",
-                      dev->minor);
+               dev_err(dev->class_dev,
+                       "usbdux: error: attach_usb failed, not connected\n");

どうも dev な引数を使うのはダウトというか dev->class_dev を使うのがダウトっぽいのかどうなのか。候補として

  • dev->private を struct usbduxsub 型にして struct usb_interface オブジェクトを取り出して dev 属性使う説
  • &uinterf->dev 使う説

これ、struct usb_interface な引数優先で良いの? というか uinterf な引数を使って

	struct usbduxsub *this_usbduxsub;

/* snip */

	this_usbduxsub = usb_get_intfdata(uinterf);

みたいなことして云々らしい。とは言え、やっぱここでは &uinterf->dev を渡してあげる方が良いみたい。
なので、パッチは差し替え。あと、vmk80xx.c についてはパッチさえ作成していない。

もうひとつ

usbduxfast.c ですがこっちは何となく工夫している模様。あ、でもダウトな箇所がありますな。これも patch 作りなおし必要なのか。
明日だか明後日だかに対応の方向にて。