Why we have platform driver?
It is an abstract of similar device drivers. So after we have the platform driver, we do not need to write individual driver for each device.
Say SPI driver. We have a bunch of devices that use the same kind of registers, same similar controls. After we have the plaftform driver, we only need to create such individual device, the plaftform driver will create the device driver for us.
While device driver is only for such one device. There is no other similar device, so we write that driver for that device, that's it.
The API for this kind of driver is a little different.
More info can refer to the Linux doc webpage.