title: how to spi device driver become simple?
body: <blockquote>
  <p>when i write driver for spi I must care about device-tree, vitual hardware address,irq number... but I cann't need do it with usb driver, i just use APIs without see hardware config. <br><br>
  static struct usb_driver pen_driver = <br>
  { <br>
  .name = &quot;pen_driver&quot;,<br>
  .id_table = pen_table, <br>
  .probe = pen_probe, <br>
  .disconnect = pen_disconnect,<br>
  }; <br></p>
  </blockquote>
  <blockquote>
  <p>not has .driver = { }; as spi driver.
  <br> It seems that i2c, spi, usb,... is driver that exists in os.<br></p>
  </blockquote>
  <p>So, Can I write spi driver same usb driver (mid-driver) without care about low-level.</p>