How to restrict field formatter to selected fields? I created new field field_csob_srcode in my custom code:

&lt;?php
$field = array(
'field_name' =&gt; 'field_csob_srcode',
'type' =&gt; 'text',
'settings' =&gt; array(
  'max_length' =&gt; 4,
),
  );
 field_create_field($field);
?&gt;


I would need to create custom formatter for this field. I am using such implementation of hook_field_formatter_info

&lt;?php
function mymodule_field_formatter_info() {
  $info = array(
'csob_webpay_description' =&gt; array(
  'label' =&gt; t('SRCODE - text description'),
  'field types' =&gt; array('text'),
  'description' =&gt; t('Displays text description of message from CSOB GP     WebPay'),
),
  );
return $info;
}


It works ok, but now, I see my new formatter as option at all fields settings, which have type = 'text'. Is it possible to restrict using of formatter, not only by field type, but also by field?
When I try to set field in hook_field_formatter_info:

'field types' =&gt; array('field_csob_srcode'),


then it does not work, formatter disappears from options in field display settings.

EDIT:  I have not problem to set formatter for my field, I just need to restrict formatter ONLY for my field. So other text fields cannot use my formatter. So the formatter will not appear as option in selectbox, when selecting format for display
Use default formatter in your field implemention

$field = array(
  'field_name' =&gt; 'field_csob_srcode',
  'type' =&gt; 'text',
  'settings' =&gt; array(
  'max_length' =&gt; 4,
  ),
  'default_formater' =&gt; 'csob_webpay_description',
);


it should works.